[PEL] 复制代码 INPUT : T5(5,3,8,1) ;
INPUT : ATRLEN(10,5,15,1) ;
VARIABLE:mark:=0,x:=0,ct:=0;//mark是判断盈亏情况的;X是记录开仓时候的2*N;ct记录加仓次数
N : REF(MA(TR,ATRLEN),1) ;
手数:=FLOOR(ASSET/100/N/MULTIPLIER); //下单手数
加仓手数:= ENTERVOL/2 ;
A:=CLOSE>REF(HHV(HIGH,T5),1); //开多平空条件
B:=CLOSE<REF(LLV(LOW,T5),1); //开空平多条件
AA:=COUNT(A,BARSLAST(B))=1; //开多平空条件
BB:=COUNT(B,BARSLAST(A))=1; //开空平多条件
平空:=SELLSHORT(A AND AA,0,nextopen),; //平空信号
开多条件:=A AND AA ; //开多信号
平多条件:B AND BB,; //平多信号
开空:=BUYSHORT(B AND HOLDING=0 AND BB,手数,nextopen); //开空信号
if 开多条件 and holding=0 then
begin
BUY(1,手数,nextopen);
x:=N;//在开仓时候纪录这时候的N的值
end
if OPENPROFIT>=2 * X then mark:=1;
if OPENPROFIT < 0 then mark:=0;
if mark and c<AVGENTERPRICE and holding>0 then
begin
多保本:SELL( 1 ,0,marketr); //多保本
dbb:=0;
x:=0;
mark:=0;
ct:=0;//平仓时候也重置限制加仓次数的全局变量
end
if 平多条件 and holding>0 then
begin
SELL( 1 ,0,marketr);
mark:=0;
x:=0;
ct:=0;//平仓时候也重置限制加仓次数的全局变量
end
if holding>0 and ct=2 and C- ENTERPRICE>2*X then
begin
加仓3:buy(1,加仓手数,nextopen);
ct:=ct+1;//加仓时候全局变量值累加一次
end
if holding>0 and ct=1 and C- ENTERPRICE >2*X then
begin
加仓2:buy(1,加仓手数,nextopen);
ct:=ct+1;//加仓时候全局变量值累加一次
end
if holding>0 and ct=0 and C- ENTERPRICE > 2*X then
begin
加仓1:buy(1,加仓手数,nextopen);
ct:=ct+1;//加仓时候全局变量值累加一次
end
CONTINUELINE@ 资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
持仓均价:AVGENTERPRICE, LINETHICK0 ,COLORRED;
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
|