请老师帮我编成MQ语言版的 (文华财经WH8赢智V8.2)

投资者咨询:请老师帮我编成MQ语言版的 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-25 21:27

老师,请帮忙把下面的程序编成MQ语言的,谢谢!

参数:n=10;nn=20;mm=15;p=24;m=20

DIRECTION:=CLOSE-REF(CLOSE,N);
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),N);
ER:=ABS(DIRECTION/VOLATILITY);
FASTSC:=2/(2+1);
SLOWSC:=2/(30+1);
SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;
CONSTANT:=SSC*SSC;
AMA:=EMA(DMA(CLOSE,CONSTANT),2),COLORGREEN;
DIRECTION2:=CLOSE-REF(CLOSE,NN);
VOLATILITY2:=SUM(ABS((CLOSE-REF(CLOSE,1))),NN);
ER2:=ABS(DIRECTION2/VOLATILITY2);
FASTSC2:=2/(2+1);
SLOWSC2:=2/(30+1);
SSC2:=ER2*(FASTSC2-SLOWSC2)+SLOWSC2;
CONSTANT2:=SSC2*SSC2;
AMA2:=EMA(DMA(CLOSE,CONSTANT2),2),COLORGREEN;
AMAUP:=REF(AMA2+REF(ABS(((HHV(AMA2,MM)-LLV(AMA2,MM))*0.3)),1),1),COLORMAGENTA;
AMADOWN:=REF(AMA2-REF(ABS(((HHV(AMA2,MM)-LLV(AMA2,MM))*0.3)),1),1),COLORBLUE;
ROC:=EMA(ABS((CLOSE-REF(CLOSE,P))/REF(CLOSE,P)),20);
变化率:=(ROC-REF(ROC,2))*10;
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR,M);
UP:=EMA(AMA+3.5*(1-变化率)*ATR,10);
DOWN:=EMA(AMA-3.5*(1-变化率)*ATR,10);
反弹价格高点:=((1-ER)*ATR*ABS(2-ROC))+AMA;
回调价格低点:=AMA-((1-ER)*ATR*ABS(2-ROC));
空头变盘点:EMA(((1-ER)*ATR*ABS(6-ROC))+AMA,10);
多头变盘点:EMA(AMA-((1-ER)*ATR*ABS(6-ROC)),10);
带宽:空头变盘点-多头变盘点,NODRAW;
带宽变化值:=REF((LLV(带宽,120)+LLV(带宽,90)+LLV(带宽,60)+LLV(带宽,30))/4,1);
有效信号分界限:REF(MAX(350,带宽变化值),1);
带宽2:=STD(空头变盘点-多头变盘点,20);
带宽2变化值:=REF((LLV(带宽2,120)+LLV(带宽2,90)+LLV(带宽2,60)+LLV(带宽2,30))/4,1);
带宽2有效信号:=REF(MAX(40,带宽2变化值),1);
MA1:=EMA(CLOSE,3);
MA2:=EMA(CLOSE,5);
MA3:=EMA(CLOSE,8);
MA4:=EMA(CLOSE,10);
MA5:=EMA(CLOSE,12);
MA6:=EMA(CLOSE,15);
MA7:=EMA(CLOSE,30);
MA8:=EMA(CLOSE,35);
MA9:=EMA(CLOSE,40);
MA10:=EMA(CLOSE,45);
MA11:=EMA(CLOSE,50);
MA12:=EMA(CLOSE,60);
贪婪恐惧线:(MA1-MA2)+(MA2-MA3)+(MA3-MA4)+(MA4-MA5)+(MA5-MA6)+(MA6-MA7)+(MA7-MA8)+(MA8-MA9)+(MA9-MA10)+(MA10-MA11)+(MA11-MA12),NODRAW;
扩张收缩分界线:=0;
多头泡沫:=185;
空头泡沫:=-185;
多头止损:=REF(LLV(L,3),1);
空头止损:=REF(HHV(H,3),1);
止损线:REF(MA(C,25),2);
带宽<有效信号分界限&&CROSSUP(C,空头变盘点)||带宽2<带宽2有效信号&&贪婪恐惧线>0&&贪婪恐惧线<多头泡沫&&CROSSUP(AMA2,AMAUP),BK;
H>=BKPRICE1*1.2||CROSSDOWN(C,止损线),SP;
带宽<有效信号分界限&&CROSSDOWN(C,多头变盘点)||带宽2<带宽2有效信号&&贪婪恐惧线<0&&贪婪恐惧线>空头泡沫&&CROSSDOWN(AMA2,AMADOWN),SK;
L<=SKPRICE1*0.8||CROSSUP(C,止损线),BP;
SETSIGPRICETYPE(BK,NEW_ORDER);
SETSIGPRICETYPE(SK,NEW_ORDER);
SETSIGPRICETYPE(SP,NEW_ORDER);
SETSIGPRICETYPE(BP,NEW_ORDER);
AUTOFILTER;

技术人员回复
日期:2018-6-25 21:37
 

投资者咨询:请老师帮我编成MQ语言版的 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-25 21:27
 主要是w8的主力连续合约没有解决因新合约上市而造成的跳空问题,回测出来的数据不太准确,希望老师能帮忙改一下,我想看看这个策略在连续的主力合约下是什么样的一个情况,麻烦老师了
技术人员回复
日期:2018-6-25 21:48
 改写需要时间,预计周三之前给您回复
投资者咨询:请老师帮我编成MQ语言版的 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-25 21:27
 好的,谢谢!
技术人员回复
日期:2018-6-26 15:45

 参考:

 


Params
    Numeric n(10);   
    Numeric nn(20);   
    Numeric mm(15);   
    Numeric p(24);   
    Numeric m(20);  
Vars
    NumericSeries DIRECTION;        
    NumericSeries VOLATILITY;  
    NumericSeries ER;  
    NumericSeries FASTSC;  
    NumericSeries SLOWSC;   
    NumericSeries SSC;  
    NumericSeries CONSTANT;  
    NumericSeries AMA;
    NumericSeries DIRECTION2;
    NumericSeries VOLATILITY2;
    NumericSeries ER2;
    NumericSeries FASTSC2;
    NumericSeries SLOWSC2;
    NumericSeries SSC2;
    NumericSeries CONSTANT2;
    NumericSeries AMA2;
    NumericSeries AMAUP;
    NumericSeries AMADOWN;
    NumericSeries ROC;
    NumericSeries 变化率;
    NumericSeries TR;
    NumericSeries ATR;
    NumericSeries UP;
    NumericSeries DOWN;
    NumericSeries 反弹价格高点;
    NumericSeries 回调价格低点;
    NumericSeries 空头变盘点;
    NumericSeries 多头变盘点;
    NumericSeries 带宽;
    NumericSeries 带宽变化值;
    NumericSeries 有效信号分界限;
    NumericSeries 带宽2;
    NumericSeries 带宽2变化值;
    NumericSeries 带宽2有效信号;
    NumericSeries MA1;
    NumericSeries MA2;
    NumericSeries MA3;
    NumericSeries MA4;
    NumericSeries MA5;
    NumericSeries MA6;
    NumericSeries MA7;
    NumericSeries MA8;
    NumericSeries MA9;
    NumericSeries MA10;
    NumericSeries MA11;
    NumericSeries MA12;
    NumericSeries 贪婪恐惧线;
    NumericSeries 扩张收缩分界线;
    NumericSeries 多头泡沫;
    NumericSeries 空头泡沫;
    NumericSeries 多头止损;
    NumericSeries 空头止损;
    NumericSeries 止损线;
Begin
   
DIRECTION=CLOSE-REF(CLOSE,N);
VOLATILITY=SUM(ABS((CLOSE-REF(CLOSE,1))),N);
ER=ABS(DIRECTION/VOLATILITY);
FASTSC=2/(2+1);
SLOWSC=2/(30+1);
SSC=ER*(FASTSC-SLOWSC)+SLOWSC;
CONSTANT=SSC*SSC;
AMA=EMA(DMA(CLOSE,CONSTANT),2);
DIRECTION2=CLOSE-REF(CLOSE,NN);
VOLATILITY2=SUM(ABS((CLOSE-REF(CLOSE,1))),NN);
ER2=ABS(DIRECTION2/VOLATILITY2);
FASTSC2=2/(2+1);
SLOWSC2=2/(30+1);
SSC2=ER2*(FASTSC2-SLOWSC2)+SLOWSC2;
CONSTANT2=SSC2*SSC2;
AMA2=EMA(DMA(CLOSE,CONSTANT2),2);
AMAUP=REF(AMA2+REF(ABS(((HHV(AMA2,MM)-LLV(AMA2,MM))*0.3)),1),1);
AMADOWN=REF(AMA2-REF(ABS(((HHV(AMA2,MM)-LLV(AMA2,MM))*0.3)),1),1);
ROC=EMA(ABS((CLOSE-REF(CLOSE,P))/REF(CLOSE,P)),20);
变化率=(ROC-REF(ROC,2))*10;
TR=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR=MA(TR,M);
UP=EMA(AMA+3.5*(1-变化率)*ATR,10);
DOWN=EMA(AMA-3.5*(1-变化率)*ATR,10);
反弹价格高点=((1-ER)*ATR*ABS(2-ROC))+AMA;
回调价格低点=AMA-((1-ER)*ATR*ABS(2-ROC));
空头变盘点=EMA(((1-ER)*ATR*ABS(6-ROC))+AMA,10);
多头变盘点=EMA(AMA-((1-ER)*ATR*ABS(6-ROC)),10);
带宽=空头变盘点-多头变盘点;
带宽变化值=REF((LLV(带宽,120)+LLV(带宽,90)+LLV(带宽,60)+LLV(带宽,30))/4,1);
有效信号分界限=REF(MAX(350,带宽变化值),1);
带宽2=STD(空头变盘点-多头变盘点,20);
带宽2变化值=REF((LLV(带宽2,120)+LLV(带宽2,90)+LLV(带宽2,60)+LLV(带宽2,30))/4,1);
带宽2有效信号=REF(MAX(40,带宽2变化值),1);
MA1=EMA(CLOSE,3);
MA2=EMA(CLOSE,5);
MA3=EMA(CLOSE,8);
MA4=EMA(CLOSE,10);
MA5=EMA(CLOSE,12);
MA6=EMA(CLOSE,15);
MA7=EMA(CLOSE,30);
MA8=EMA(CLOSE,35);
MA9=EMA(CLOSE,40);
MA10=EMA(CLOSE,45);
MA11=EMA(CLOSE,50);
MA12=EMA(CLOSE,60);
贪婪恐惧线=(MA1-MA2)+(MA2-MA3)+(MA3-MA4)+(MA4-MA5)+(MA5-MA6)+(MA6-MA7)+(MA7-MA8)+(MA8-MA9)+(MA9-MA10)+(MA10-MA11)+(MA11-MA12);
扩张收缩分界线=0;
多头泡沫=185;
空头泡沫=-185;
多头止损=REF(LLV(Low,3),1);
空头止损=REF(HHV(High,3),1);
止损线=REF(MA(Close,25),2);
If(带宽<有效信号分界限&&CROSSUP(Close,空头变盘点)||带宽2<带宽2有效信号&&贪婪恐惧线>0&&贪婪恐惧线<多头泡沫&&CROSSUP(AMA2,AMAUP))
{
Buy;
}
IF(带宽<有效信号分界限&&CROSSDOWN(Close,多头变盘点)||带宽2<带宽2有效信号&&贪婪恐惧线<0&&贪婪恐惧线>空头泡沫&&CROSSDOWN(AMA2,AMADOWN))
{
SellShort;
}
IF(High>=BKPRICE1*1.2||CROSSDOWN(Close,止损线))
{
BuyToCover;
}
If(Low<=SKPRICE1*0.8||CROSSUP(Close,止损线))
{
Sell;
}
End

 

投资者咨询:请老师帮我编成MQ语言版的 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-25 21:27
 老师为什么这个模型不能用呢?MQ提示这个,是什么意思?能不能帮忙改改模型

图片点击可在新窗口打开查看
技术人员回复
日期:2018-6-27 22:34
 6楼源码前面添加:

Setting
    Trade_Chain:Auto;

投资者咨询:请老师帮我编成MQ语言版的 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-25 21:27
老师,为什么这两个软件给出来的信号不一样呢?MQ的模型是从W8的模型编译过来的,策略原理和参数一个没变 ,请老师帮忙检查一下哪里出错了,谢谢

图片点击可在新窗口打开查看

图片点击可在新窗口打开查看
技术人员回复
日期:2018-6-28 9:05

 如果回测参数,本地数据量完全一致信号也是完全一致的

 

此外,您对比主连链回测与单合约加载也是没有意义的

 

如果需要使用MQ以MQ的回测结果为准就可以,您了解一下