老师,您好
如下代码是论坛上提前下单的代码,我有3个问题:
ma5:=ma(c,5);
ma10:=ma(c,10);
input:tq(5,3,60,1);
abb:=(time0-timetot0(dynainfo(207))<=tq) or not(islastbar);
if abb then begin
if holding>0 and ma5<ma10 then sell(1,1,thisclose);
if holding<0 and ma5>ma10 then sellshort(1,1,thisclose);
if holding=0 and ma5>ma10 then buy(1,1,thisclose);
if holding=0 and ma5<ma10 then buyshort(1,1,thisclose);
end
(1)这段代码适用于后台程序么?
(2)为什么在abb中要加入not(islastbar)?这样就算不是最后一根K线也会开仓下单吗?
(3)假设tq=5,那么time0-timetot0(dynainfo(207))<=tq 这句话不是会分别在 55s 56s 57s 58s 59s都将abb设成true,从而导致55~59秒都去下单吗?
1,这是图的下单语句,不能直接用与后台。后台直接用 time0-timetot0(dynainfo(207))<=n
2,加入not(islastbar)是为了保留历史信号,最后一根k下单。
3,time0-timetot0(dynainfo(207))=5时就触发了,一根k只下一次单。
1,后台提前n秒 下单条件里加上time0-timetot0(dynainfo(207))<=n。
区别在于图表需要历史信号所以图表加了not(islastbar)。
2,历史信号不会下单
3,只会触发下单一次,一根k只下一次单
一条下单语句只下一次,如果多次下单可以写多头下单语句
if time0-timetot0(dynainfo(207))<=5 then...
if time0-timetot0(dynainfo(207))<=4 then...
if time0-timetot0(dynainfo(207))<=3 then...
if time0-timetot0(dynainfo(207))<=2then...
if time0-timetot0(dynainfo(207))<=1 then...
是的