KD:=REF(CLOSE,1)-REF(OPEN,1)>0 AND CLOSE-OPEN >0;
PD:=REF(CLOSE,1)-REF(OPEN,1)<0 AND CLOSE-OPEN <0;
KK:=REF(CLOSE,1)-REF(OPEN,1)<0 AND CLOSE-OPEN <0;
PK:=REF(CLOSE,1)-REF(OPEN,1)>0 AND CLOSE-OPEN>0;
平空:SELLSHORT(PK,1,THISCLOSE);
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);
平多:SELL(PD,1,THISCLOSE);
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
以上是全部代码
逻辑:出现连续两根阳线做多,两根阴线就做空。
个人单单从代码上的理解是,只要出现两根阳线,就会做多;出现连续两根阴线,就做空。如果连续出现连续3跟阳线,那么第2、3根都会出现信号。
但是,在图标上的运行情况,又是非常正常。求纠正思想
此主题相关图片如下:h2.png

按你描述的内容,你说的是“如果连续出现连续3跟阳线,那么第2、3根都会出现信号”。你是想排除这个现象?
你代码中加了HOLDING限制。是不会出现上面说的问题的。
在图表上的效果是我想要的结果,只不过这个代码在我的理解上不是图表上的结果。
不过楼上解答了我的问题,holding = 0这个条件造成的原因。
感谢各位