[原创]MQ模型 [文华财经]
- 咨询内容: 这是一个根据多空量能做的短线模型,在每次出现多空信号后只发出一次开仓信号,短线做几个点差就平仓,但是按照这个思路写出来的结果差别很大,在预设的条件成立时根本就没有出现开平仓信号,尤其是在控制了每个多空信号只做一次开平仓后,信号是乱的,求大神 按照以上思路指教修改一下。
- 文华技术人员: 您提供下 来源:程序化99
- 文华技术人员:DKL指标源码 来源:程序化99
-
文华技术人员:
来源:程序化99
-
文华技术人员:
以及您加载测试的合约周期,我们对应测试分析下
来源: WWW.CXH99.COM
-
文华客服:
就是一个跨周期引用
Params Numeric N1(377); Numeric N2(34);
Vars NumericSeries L1; NumericSeries L2; NumericSeries LC1; NumericSeries LC2; NumericSeries LC3; NumericSeries LC4; Begin L1=Scale*Vol; L2=Scale*Vol-DualVolume("N"); LC1= Ema2(IIF(IsUp,L1,0),N1); LC2= Ema2(IIF(IsDown,L2,0),N1); LC3= Ema2(IIF(IsUp,L1,0),N2); LC4= Ema2(IIF(IsDown,L2,0),N2); end
-
网友回复:
就是螺纹主力 15秒钟周期。
-
网友回复:
模型如下修改下:
Params Numeric N1(377); Numeric N2(34); Vars Numeric KD; Numeric KK; NumericSeries LC; NumericSeries LC1; NumericSeries LC2; NumericSeries LC3; NumericSeries LC4; NumericSeries LC11; NumericSeries LC12; NumericSeries L2; NumericSeries L3; NumericSeries L4; NumericSeries L5; NumericSeries XZD; NumericSeries XZK;
ImPort #ImPort [Min,1,B] As var1 Begin L2=var1.LC1; L3=var1.LC2; L4=Scale*Vol; L5=L4-DualVolume("N"); LC1= Ema2(IIF(IsUp ,L2,0),N1);//"长多" LC2= Ema2( IIF(IsDown,L3,0),N1);//"长空" LC3= Ema2(IIF(IsUp ,L4,0),N2);//"短多" LC4= Ema2( IIF(IsDown,L5,0),N2);//"短空" LC11= Ema2(abs(LC1-LC2) ,3);//"离差1" LC12= Ema2(abs(LC3-LC4) ,3);//"离差2" PlotLine("LC1",LC1,red,Linethick1,2,0); PlotLine("LC2",LC2,Green,Linethick1,2,0); PlotLine("LC3",LC3,RGB(255,0,192),Linethick1,2,0); PlotLine("LC4",LC4,RGB(0,255,255),Linethick1,2,0); PlotLine("LC12",LC12,RGB(0,255,255),Linethick1,2,0);
KD=CountSig(Buy,BarsLast( LC3>LC4)); KK=CountSig(SellShort,BarsLast( LC3<LC4));
if (LC3>LC4) { XZD=KD;//限制开多仓条件 } if (LC3<LC4) { XZK=KK;//限制开空仓条件 } PlotLine("XZK",XZK,RGB(0,255,255),Linethick1,0,0); PlotLine("XZD",XZD,RGB(0,255,255),Linethick1,0,0);
if (LC1>LC2&&LC3>LC4&&LC12>200&&XZD<2) { Buy(5,Limit_Order); } If(MarketPosition == 1) { Sell(5,BKPrice+3*MinPrice); } if (LC1<LC2&&LC4>LC3&&LC12>200&&XZD<2) { SellShort(5,Limit_Order); } If(MarketPosition ==-1) { BuyToCover(5,SKPrice -3*MinPrice); } End
Params Numeric N1(377); Numeric N2(34);Vars NumericSeries LC; NumericSeries LC1; NumericSeries LC2; NumericSeries LC3; NumericSeries LC4; NumericSeries LC11; NumericSeries LC12; NumericSeries L2; NumericSeries L3; NumericSeries L4; NumericSeries L5; NumericSeries XZD; NumericSeries XZK;
ImPort #ImPort [Min,1,DKL] As var1Begin L2=var1.LC1; L3=var1.LC2; L4=Scale*Vol; L5=L4-DualVolume("N"); LC1= Ema2(IIF(IsUp ,L2,0),N1);//"长多" LC2= Ema2( IIF(IsDown,L3,0),N1);//"长空" LC3= Ema2(IIF(IsUp ,L4,0),N2);//"短多" LC4= Ema2( IIF(IsDown,L5,0),N2);//"短空" LC11= Ema2(abs(LC1-LC2) ,3);//"离差1" LC12= Ema2(abs(LC3-LC4) ,3);//"离差2" PlotLine("长多",LC1,red,Linethick1,0); PlotLine("长空",LC2,Green,Linethick1,0); PlotLine("短多",LC3,RGB(255,0,192),Linethick1,0); PlotLine("短空",LC4,RGB(0,255,255),Linethick1,0);
if (LC3>LC4){XZD=CountSig(Buy,BarsLast( LC3>LC4));//限制开多仓条件}if (LC3<LC4){XZK=CountSig(SellShort,BarsLast( LC3<LC4));//限制开空仓条件}if (LC1>LC2&&LC3>LC4&&LC12>200&&XZD<2){ Buy(5,Limit_Order);}If(MarketPosition == 1){Sell(5,BKPrice+3*MinPrice);}if (LC1<LC2&&LC4>LC3&&LC12>200&&XZD<2){ SellShort(5,Limit_Order);}If(MarketPosition ==-1){BuyToCover(5,SKPrice -3*MinPrice);}
End
来源:程序化99
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容