请教老师看看 (文华财经WH6赢顺V6.7)

投资者咨询:请教老师看看 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-5-28 14:45
 //幽灵交易者
/* 
策略说明:
模拟交易产生一次亏损后才启动真实下单交易。
系统要素:
1、两条指数平均线
2、RSI指标
3、唐奇安通道
入场条件:
1、模拟交易产生一次亏损、短期均线在长期均线之上、RSI低于超买值、创新高,则开多单
2、模拟交易产生一次亏损、短期均线在长期均线之下、RSI高于超卖值、创新低,则开空单
出场条件:
1、持有多单时小于唐奇安通道下轨,平多单
2、持有空单时大于唐奇安通道上轨,平空单
*/

//参数:
//FASTLENGTH:1  10  9  //短期指数平均线参数
//SLOWLENGTH:1  100  19  //长期指数平均线参数
//LENGTH:1  100  9  //RSI参数
//OVERBOUGHT:1  100  30  //超买
//OVERSOLD:1  100  30  //超卖

//短期指数平均线
AVGVALUE1:=EMA(CLOSE,FASTLENGTH);
//长期指数平均线参数
AVGVALUE2:=EMA(CLOSE,SLOWLENGTH);
//计算RSI
SF:=1/LENGTH;
CHANGE:=CLOSE-REF(CLOSE,1);
NETCHGAVG:=LOOP2(BARPOS<=LENGTH-1,(CLOSE-REF(CLOSE,LENGTH))/LENGTH,REF(NETCHGAVG,1)+SF*(CHANGE-REF(NETCHGAVG,1)));
TOTCHGAVG:=LOOP2(BARPOS<=LENGTH-1,MA(ABS(CLOSE-REF(CLOSE,1)),LENGTH),REF(TOTCHGAVG,1)+SF*(ABS(CHANGE)-REF(TOTCHGAVG,1)));
CHGRATIO:=LOOP2(TOTCHGAVG<>0,NETCHGAVG/TOTCHGAVG,0);
RSIVALUE:=50*(CHGRATIO+1);
//唐奇安通道上轨
EXITHIBAND:=HHV(HIGH,20);
//唐奇安通道下轨
EXITLOBAND:=LLV(LOW,20);
//持有多单时下破唐奇安通道下轨,平多单
MYPOSITION1:=IF(ISLASTSP=1,0,IF(ISLASTBK=1,1,NULL));
MYPOSITION1=1&&REF(MYPOSITION1,1)=1&&LOW<=REF(EXITLOBAND,1),SP;
SETSIGPRICETYPE(SP,MIN(OPEN,REF(EXITLOBAND,1)));
MYENTRYPRICE1:=MIN(OPEN,REF(EXITLOBAND,1));
MYPROFIT1:=REFSIG_PRICE(SP,1)-MYENTRYPRICE1;
//模拟交易产生一次亏损、短期均线在长期均线之上、RSI低于超买值、创新高,则开多单
MYPOSITION1=0&&REF(MYPOSITION1,1)=0&&REF(AVGVALUE1,1)>REF(AVGVALUE2,1)&&REF(RSIVALUE,1)<OVERBOUGHT&&HIGH>=REF(HIGH,1)&&MYPROFIT1<0,BK;
SETSIGPRICETYPE(BK,MAX(OPEN,REF(HIGH,1)));
//持有空单时大于唐奇安通道上轨,平空单
MYPOSITION2:=IF(ISLASTBP=1,0,IF(ISLASTSK=1,-1,NULL));
MYPOSITION2=-1&&REF(MYPOSITION2,1)=-1&&H>=REF(EXITHIBAND,1),BP;
SETSIGPRICETYPE(BP,MAX(OPEN,REF(EXITHIBAND,1)));
MYEXITPRICE2:=MAX(OPEN,REF(EXITHIBAND,1));
MYPROFIT2:=MYEXITPRICE2-SKPRICE;
//模拟交易产生一次亏损、短期均线在长期均线之下、RSI高于超卖值、创新低,则开空单
MYPOSITION2=0&&REF(MYPOSITION2,1)=0&&REF(AVGVALUE1,1)>REF(AVGVALUE2,1)&&REF(RSIVALUE,1)>OVERSOLD&&L<=REF(L,1)&&MYPROFIT2<0,SK;
SETSIGPRICETYPE(SK, MIN(OPEN,REF(LOW,1)));
AUTOFILTER;
该代码wh8没有信号但是mq正常的给看看那的问题??
技术人员回复
日期:2018-5-28 15:05
这么试试

FASTLENGTH:=9;
SLOWLENGTH:=19;
LENGTH:=9;
OVERBOUGHT:=30;
OVERSOLD:=30;
//短期指数平均线
AVGVALUE1:=EMA(CLOSE,FASTLENGTH);
//长期指数平均线参数
AVGVALUE2:=EMA(CLOSE,SLOWLENGTH);
//计算RSI
SF:=1/LENGTH;
CHANGE:=CLOSE-REF(CLOSE,1);
NETCHGAVG:=LOOP2(BARPOS<=LENGTH-1,(CLOSE-REF(CLOSE,1))/1,REF(NETCHGAVG,1)+SF*(CHANGE-REF(NETCHGAVG,1)));
TOTCHGAVG:=LOOP2(BARPOS<=LENGTH-1,MA(ABS(CLOSE-REF(CLOSE,1)),BARPOS),REF(TOTCHGAVG,1)+SF*(ABS(CHANGE)-REF(TOTCHGAVG,1)));
CHGRATIO:=LOOP2(TOTCHGAVG<>0,NETCHGAVG/TOTCHGAVG,0);
RSIVALUE:50*(CHGRATIO+1);
//唐奇安通道上轨
EXITHIBAND:=HHV(HIGH,20);
//唐奇安通道下轨
EXITLOBAND:=LLV(LOW,20);
//持有多单时下破唐奇安通道下轨,平多单

LOW<=REF(EXITLOBAND,1),SP;
SETSIGPRICETYPE(SP,MIN(OPEN,REF(EXITLOBAND,1)));
MYENTRYPRICE1:=MIN(OPEN,REF(EXITLOBAND,1));
MYPROFIT1:=BKPRICE-MYENTRYPRICE1;
//模拟交易产生一次亏损、短期均线在长期均线之上、RSI低于超买值、创新高,则开多单
REF(AVGVALUE1,1)>REF(AVGVALUE2,1)&&REF(RSIVALUE,1)<OVERBOUGHT&&HIGH>=REF(HIGH,1)&&MYPROFIT1<0,BPK;
SETSIGPRICETYPE(BK,MAX(OPEN,REF(HIGH,1)));
//持有空单时大于唐奇安通道上轨,平空单
H>=REF(EXITHIBAND,1),BP;
SETSIGPRICETYPE(BP,MAX(OPEN,REF(EXITHIBAND,1)));
MYEXITPRICE2:=MAX(OPEN,REF(EXITHIBAND,1));
MYPROFIT2:=MYEXITPRICE2-SKPRICE;
//模拟交易产生一次亏损、短期均线在长期均线之下、RSI高于超卖值、创新低,则开空单
REF(AVGVALUE1,1)>REF(AVGVALUE2,1)&&REF(RSIVALUE,1)>OVERSOLD&&L<=REF(L,1)&&MYPROFIT2>0,SPK;
SETSIGPRICETYPE(SK, MIN(OPEN,REF(LOW,1)));
AUTOFILTER;