DIFF : =EMA(CLOSE,12) - EMA(CLOSE,26); DEA : =EMA(DIFF,9); MACD:2*(DIFF-DEA); CROSS(DIFF, DEA) AND BKVOL=0 AND ABS(DIFF-DEA)>=1.8 AND 0905<TIME,BK; BKVOL>0 AND C>BKPRICE+10*MINPRICE,SP; CROSS(DEA,DIFF),SP; CROSS(DEA,DIFF) AND SKVOL=0 AND ABS(DIFF-DEA)>=1.8 AND 0905<TIME,SK; SKVOL>0 AND C<SKPRICE-10*MINPRICE,BP; CHECKSIG(SK,'A',0,'D',0,0);//出信号立即下单,K线走完复核 CHECKSIG(BK,'A',0,'D',0,0);//出信号立即下单,K线走完复核 CHECKSIG(SP,'A',0,'D',0,0);//出信号立即下单,K线走完复核 CHECKSIG(BP,'A',0,'D',0,0 ); |
CHECKSIG函数的复核条件仅判断信号执行后在复核时间是否消失
并不涉及到是否盈利的判断,所以1楼思路还需要通过编写来实现
并且1楼指指标平仓条件只有止盈,您是需要如何修改呢?
请您参考2楼回复理解一下,信号复核只判断复核时信号是否还存在,与是否盈利没有关系的
回复问题: “CHECKSIG函数后,都是按收盘价执行的,其次即使本K线盈利了也执行不了”
使用CHECKSIG函数盘中满足条件都是以最新价执行的,这里您可以参考下图信号明细价格与时间理解一下
回复问题:“同一个K线如果盈利了,不复核,没盈利则继续复核”
参考楼上回复是否盈利无法作为复核的条件,需要通过编写实现参考
DIFF : =EMA(CLOSE,12) - EMA(CLOSE,26);
DEA : =EMA(DIFF,9);
MACD:2*(DIFF-DEA);
CROSS(DIFF, DEA) AND BKVOL=0 AND ABS(DIFF-DEA)>=1.8 AND 0905<TIME,BK;
BKVOL>0 AND C>BKPRICE+10*MINPRICE,SP;
CROSS(DEA,DIFF),SP;
LASTOFFSETPROFIT<0 &&BARSSP=1,BK; //上次亏损了把仓加回来
CROSS(DEA,DIFF) AND SKVOL=0 AND ABS(DIFF-DEA)>=1.8 AND 0905<TIME,SK;
SKVOL>0 AND C<SKPRICE-10*MINPRICE,BP;
CROSS(DIFF,DEA),BP;
LASTOFFSETPROFIT<0 &&BARSBP=1,SK; //上次亏损了把仓加回来
AUTOFILTER;
CHECKSIG(SK,'A',0,'C',0,0);//出信号立即下单,K线走完复核
CHECKSIG(BK,'A',0,'C',0,0);//出信号立即下单,K线走完复核
CHECKSIG(SP,'A',0,'C',0,0);//出信号立即下单,K线走完复核
CHECKSIG(BP,'A',0,'C',0,0 ); 文件名:111.png