你好 我想在实盘交易实现 文华那样的程序化交易 即开仓点出现后 开仓,直到反手信号出现,要求a 过滤中间的再次开仓信号 b 如果错过第一次开仓信号后(比如中途开启预警) 不再开仓 等待下次反手信号
请教如何实现
请试试
BK1:=FILTER(BK,N); //BK---开仓条件,N---过滤的周期
SK1:=FILTER(SK,N);
tSELLSHORT(BP,0);
tBUY(BK1 AND NOT(tTYPE(1)=1),N1,0);
tSELL(SP,0);
tBUYSHORT(SK1 AND NOT(tTYPE(1)=3),N1,0);
我试了很多 总是有问题 请老师帮助写一下完整代码以便测试 基于通道的策略:现价大于上上通道线开多,现价小于下通道线翻空,要求如上 信号出现时只开仓一次 直至反手 错过第一次开仓信号放弃 等待下次开仓机会
要求预警 交易和指示完全一致 谢谢
试试这个
input:N(1,0,60,1);
持仓:HOLDING,LINETHICK0;
总次数: TOTALTRADE,LINETHICK0;
盈利次数:NUMWINTRADE,LINETHICK0;
胜率:ROUNDS(100*PERCENTWIN,1),LINETHICK0;
连亏次数:MAXSEQLOSS,LINETHICK0;
连盈次数:MAXSEQWIN,LINETHICK0;
t持仓:=tHOLDING,LINETHICK0;
BUY1:=hhv(ref(h,1),20)+N;
SELL1:=llv(ref(l,1),20+N);
BK:=CROSS(H,BUY1);
SK:=CROSS(SELL1,L);
tt0:=time<145000;
tt2:=time>145700;//收盘时间
tSELLSHORT(tt0 and BK and t持仓<0,t持仓,mkt);
SELLSHORT(tt0 and BK and 持仓<0,持仓,market);
tBUY(tt0 and BK and NOT(tTYPE(1)=1) and NOT(TYPE(1)=1),20,mkt);
BUY(tt0 and BK and NOT(TYPE(1)=1),20,market);
tSELL(tt0 and SK and t持仓>0,t持仓,mkt);
SELL(tt0 and SK and 持仓>0,持仓,market);
tBUYSHORT(tt0 and SK and NOT(tTYPE(1)=3) and NOT(TYPE(1)=3),20,mkt);
BUYSHORT(tt0 and SK and NOT(TYPE(1)=3),20,market);
//收盘平仓
tSELL(tt2 ,t持仓,mkt);
SELL(tt2 ,持仓,thisclose);
tSELLSHORT(tt2 ,t持仓,mkt);
SELLSHORT(tt2 ,持仓,thisclose);