INPUT:NMIN(10,1,100,1),SS(1,1,10000,1);
aa:="fj.b#day";
b:=VALUEWHEN(time=210100,OPEN);
上轨:b+aa;
下轨:b-aa;
手数:=SS;
开仓时间:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*1000;
平仓时间:=TIME>=CLOSETIME(0)-NMIN*100;
{NMIN为参数,CLOSETIME(0)-NMIN*100表示 收盘时间-提前N分钟 N由NMIN控制}
//交易条件:
开多条件:=High>=上轨 and 开仓时间 and holding<=0;
平多条件:=c<=(ENTERPRICE-0.3*aa);
开空条件:=Low<=下轨 and 开仓时间 and holding>=0;
平空条件:=c>=(ENTERPRICE+0.3*aa);
//交易系统
收盘平多:sell(平仓时间 and holding>0, 0, thisclose);
收盘平空:sellshort(平仓时间 and holding<0,0,thisclose);
平空:sellshort(平空条件 and holding<0, 手数,limitr,上轨);
平多:sell(平多条件 and holding>0,手数,limitr,下轨);
开空:buyshort(开空条件 and holding=0,手数,limitr,下轨);
开多:buy(开多条件 and holding=0, 手数,limitr,上轨);
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值
aa:="fj.b#day";
b:=VALUEWHEN(time=210100,OPEN);
上轨:b+aa;
下轨:b-aa;
这4个都有数值吗?
b:=ref(ma(h-l,20)*0.5,1);
以下是引用张添富在2015/12/23 16:03:52的发言:
b:=ref(ma(h-l,20)*0.5,1);
首先把这句代码里面的等号去掉,如果这段代码用在序列模式下的话
根据你用210100,推测你用的是北京时间,所以开平仓时间要这样改:
开仓时间:=not(time0>=timetot0(closetime(0))-nmin*60 and time<=closetime(0));
平仓时间:=TIME0>=timetot0(CLOSETIME(0))-nmin*60 and time<=closetime(0);
[此贴子已经被作者于2015/12/23 16:13:58编辑过]