麻烦老师帮忙加入下 “单日亏损超过3万则不再开仓” 下面是代码 谢谢老师了。
MA1:=ema(o,5);
MA2:=ema(o,10);
开仓手数:=1;
平空开多条件:=MA1>MA2 and (HOLDING<=0);
平多开空条件:=MA1<MA2 and (HOLDING>=0);
T1:=((TIME>91500) and (TIME<151500));
T2:=(TIME>=151500);
开盘开多条件:=MA1>MA2 ;
开盘开空条件:=MA1<MA2 ;
收盘平多:SELL((T2 and (HOLDING>0)),HOLDING,THISCLOSE);
收盘平空:SELLSHORT((T2 and (HOLDING<0)),HOLDING,THISCLOSE);
if (开盘开多条件) then BUY(((HOLDING=0) and T1),开仓手数,THISCLOSE);
if (开盘开空条件) then BUYSHORT(((HOLDING=0) and T1),开仓手数,THISCLOSE);
if (平空开多条件) then
begin
SELLSHORT((HOLDING<0),HOLDING,THISCLOSE);
BUY(((HOLDING=0) and T1),开仓手数,THISCLOSE);
end
if (平多开空条件) then
begin
SELL((HOLDING>0),HOLDING,THISCLOSE);
BUYSHORT(((HOLDING=0) and T1),开仓手数,THISCLOSE);
end
在你开仓语句之前加上if TACCOUNT(30)<-30000 then begin
。。。。
。、、、、、
end
[此贴子已经被作者于2015/6/30 8:37:43编辑过]
图表上,开仓条件加上
asset-ref(asset,todaybar)<=-30000
还是不太明白 图表上加上是什么意思 能否直接在代码上修改下 我代码是反手的指令。
MA1:=ema(o,5);
MA2:=ema(o,10);
开仓手数:=1;
平空开多条件:=MA1>MA2 and (HOLDING<=0);
平多开空条件:=MA1<MA2 and (HOLDING>=0);
T1:=((TIME>91500) and (TIME<151500));
T2:=(TIME>=151500);
开盘开多条件:=MA1>MA2 ;
开盘开空条件:=MA1<MA2 ;
收盘平多:SELL((T2 and (HOLDING>0)),HOLDING,THISCLOSE);
收盘平空:SELLSHORT((T2 and (HOLDING<0)),HOLDING,THISCLOSE);
if (开盘开多条件) then BUY(((HOLDING=0) and T1),开仓手数,THISCLOSE);
if (开盘开空条件) then BUYSHORT(((HOLDING=0) and T1),开仓手数,THISCLOSE);
if (平空开多条件) then
begin
SELLSHORT((HOLDING<0),HOLDING,THISCLOSE);
BUY(((HOLDING=0) and T1),开仓手数,THISCLOSE);
end
if (平多开空条件) then
begin
SELL((HOLDING>0),HOLDING,THISCLOSE);
BUYSHORT(((HOLDING=0) and T1),开仓手数,THISCLOSE);
end
ss:=asset-ref(asset,todaybar)<=-30000;
MA1:=ema(o,5);
MA2:=ema(o,10);
开仓手数:=1;
平空开多条件:=MA1>MA2 and (HOLDING<=0);
平多开空条件:=MA1<MA2 and (HOLDING>=0);
T1:=((TIME>91500) and (TIME<151500));
T2:=(TIME>=151500);
开盘开多条件:=MA1>MA2 ;
开盘开空条件:=MA1<MA2 ;
收盘平多:SELL((T2 and (HOLDING>0)),HOLDING,THISCLOSE);
收盘平空:SELLSHORT((T2 and (HOLDING<0)),HOLDING,THISCLOSE);
if (开盘开多条件) and ss then BUY(((HOLDING=0) and T1),开仓手数,THISCLOSE);
if (开盘开空条件) and ss then BUYSHORT(((HOLDING=0) and T1),开仓手数,THISCLOSE);
if (平空开多条件) then
begin
SELLSHORT((HOLDING<0),HOLDING,THISCLOSE);
BUY(((HOLDING=0) and ss and T1),开仓手数,THISCLOSE);
end
if (平多开空条件) then
begin
SELL((HOLDING>0),HOLDING,THISCLOSE);
BUYSHORT(((HOLDING=0) and ss and T1),开仓手数,THISCLOSE);
end