用于5分钟周期为了防止信号闪烁用走完k线后开仓,平仓时只要条件达到,立刻平仓,不用等到k线走完再平仓,这样编写可以吗?例如:
ma5:ma(close,5);
ma10:ma(close,10);
if cross(ma5,ma10) then begin
sellshort(1,0,thisclose);
buy(holding=0,1,thisclose);
end ||这里先平空再开多,因市场价已把空单平了,这里重复平空单。
if cross(ma10,ma5) then begin
sell(1,0,market); ||这里市场价平多
end
if cross(ma10,ma5) then begin
sell(1,0,thisclose);
buyshort(holding=0,1,thisclose);
end ||这里先平多再开空,因市场价已把多单平了,这里重复平多单。
if cross(ma5,ma10) then begin
sellshort(1,0,market); ||这里市场价平空
end
请问这样编写可以吗?如果不行,应该如何编写?
还有如果收盘前平所有仓应该用market,而不能用,thisclose,对吧?
这里并没有锁仓,只是想条件达到时立即平仓,不用等到k线走完提前平仓,开仓则等k线走完后再开,或者这样写可以吗?
k线走完开仓这样写buy(ref(开仓条件,1),1,thisclose);
然后用固定轮询的模式去运行,图表什么时候交易只根据程序化运行模式走完k还是轮询来决定