GL6:=EXITBARS>3 OR EXITBARS=-1;
就是平仓后 间隔3个K 再开,
jj:exitbars;
理论上平仓的那个k线,jj数值应该为0,为何我加载图上,在平仓k线,jj不为0呢?
要实现上个平仓出场后,3个k线内不开仓,且当根出现平仓信号的k线平仓后,当根不在开仓如何实现呢 ?
这个函数值当根是上个平仓信号到现在的k线数,次根是1,
1.不是的。这个和你调用这个函数值的位置有关系。
这种它这里的返回值就是-1。

此主题相关图片如下:temp.png

2.参考用这种方式处理下试下。
EXITBARS的问题是前面没有平仓或者当前K就是平仓K 都会导致返回值是-1.这样区分不开了就。
buy(TODAYBAR=1,1,market);
sell(TODAYBAR=10,1,market);
cd:TYPEBAR(1,2)>3 or (not(TYPEBAR(1,2)) and TYPEBAR(1,2)<>0) and holding=0 ;//不包含开仓K在内的3个K不平
稍微麻烦的地方是,这个的话 多和空必须分开写。
这个就只在这里满足了就:

此主题相关图片如下:temp.png

是因为这个函数如果前面没有相应信号是返回无效值的。所以用not判断下。又因为 它在满足条件K上的初始值是0,这样的话。not返回值也是1.所以就再判断下是不是0.
xx:=TYPEBAR(1,2)>3 or (not(TYPEBAR(1,2)) and TYPEBAR(1,2)<>0) ;//平仓后三根K不开仓
yy:=TYPEBAR(1,4)>3 or (not(TYPEBAR(1,4)) and TYPEBAR(1,4)<>0) ;//平仓后三根K不开仓
总结一下,就是开多条件 and xx 可以实现上个平多信号出现后,当根k线不开开仓,且3个k线内触发多单条件也不开仓多单出来吗?我试了一下,好像不能实现我要的功能啊