【MultiCharts(MC)程序化(量化)网上培训学习系列】第88节:【高低点互换突破策略+三均线过滤】策略完整策略范例程式码及检查效果
[attach]24963[/attach][size=14.4px]1、效果图;[/size]
[size=14.4px]2、通过[/size][size=14.4px]期货[/size][size=14.4px]论坛推荐新开立期货账号享受特惠政策:[/size][url=http://www.qhlt.cn/thread-25049-1-1.html]http://www.qhlt.cn/thread-25049-1-1.html[/url][size=14.4px];[/size]
[size=14.4px]3、通过期货论坛开立期货账号并绑定MC享受专属优惠政策:[/size][url=http://www.qhlt.cn/thread-80442-1-1.html]http://www.qhlt.cn/thread-80442-1-1.html[/url][size=14.4px];[/size]
[size=14.4px]4、代写与求助:[/size][url=http://www.qhlt.cn/forum-109-1.html]http://www.qhlt.cn/forum-109-1.html[/url][size=14.4px];[/size]
[size=14.4px]5、期货论坛[/size][size=14.4px]策略[/size][size=14.4px]源码[/size][size=14.4px]区:[/size][url=http://www.qhlt.cn/forum-109-1.html]http://www.qhlt.cn/forum-109-1.html[/url][size=14.4px] ;[/size]
[size=14.4px]6、期货论坛官方MC[/size][size=14.4px]量化[/size][size=14.4px]策略群,对视频中策略有想法、建议、优化以结交量化好友,动动手,扫二维码加入微信群,跟一众量化好友切磋吧:[url]http://www.qhlt.cn/thread-262-1-1.html[/url] ;[/size] 视频地址:[mp4]http://mp4.qhlt.club/Rec%200088.mp4[/mp4] 视频中程式码:**** Hidden Message *****[/size]
源码解析:【经过TS-MC转换】
[code]定義參數與變數
inputs: FastLen(4),XMALen(4),VolLen(8),Multfrac(2) ;
vars:TopBand(0),BotBand(0),Xavg(0),FastMA(0),MedMA(0),SlowMA(0),BullTrend(false),BearTrend(false);
進場規則準備
1.計算短期收盤移動平均線( 4根K棒)、 中期收盤移動平均線( 9根K棒),長期收盤移動平均線( 18根K棒)。
FastMA = Average(Close,FastLen) ; { FastLen = 4 }
MedMA = Average(Close,FastLen*2+1) ; { FastLen*2+1 = 9 }
SlowMA = Average(Close,FastLen*4+2) ;{ FastLen*4+2 = 18 也可以使用 MedMA*2 }
為了後續回測方便 ,我們可以利用計算式的來控制短中長期 K棒數彼此的對應關係(粗體字)
2.當短期移動平均大於中期移動平均,且中期移動平均大於長期移動平均線,我們認為市場是牛市的趨勢。
BullTrend = FastMA > MedMA and MedMA > SlowMA ;
3.當短期移動平均小於中期移動平均,且中期移動平均小於長期移動平均線,我們認為市場是熊市的趨勢。
BearTrend = FastMA < MedMA and MedMA < SlowMA ;
4.計算 4根K棒收盤價的指數移動平均線。
Xavg = Xaverage(Close,XMALen) ;
5.第一根K棒,定義開盤價加上最後 8 根K棒的波動值*2 為通道上緣。
6.第一根K棒,定義開盤價減去最後 8 根K棒的波動值*2 為通道下緣。
if BarNumber = 1 then Begin
TopBand = Open + Volatility(VolLen)*Multfrac ;
BotBand = Open - Volatility(VolLen)*Multfrac ;
end;
7.牛市時,當指數移動平均線向上穿越通道上緣時,原通道上緣成為新的通道下緣。
新的通道上緣由新的通道下緣加上最後 8 根K棒的波動值*2 所定義。
if Xavg > TopBand and BullTrend then Begin
BotBand = TopBand ;
TopBand = BotBand + Volatility(VolLen)*MultFrac ;
end;
8.熊市時,當指數移動平均線向下穿越通道下緣時,原通道下緣成為新的通道上緣。
新的通道下緣由新的通道上緣減去最後 8 根K棒的波動值*2 所定義。
if Xavg < BotBand and BearTrend then Begin
TopBand = BotBand ;
BotBand = TopBand - Volatility(VolLen)*MultFrac ;
end;
作多進場邏輯
當市場處於牛市時,指數移動平均線向上穿越通道上緣,在這根K棒收盤時作多。
if Xavg > TopBand and BullTrend then Begin
Buy this bar on Close ;
end;
作空進場邏輯
當市場處於熊市時,指數移動平均線向下穿越通道下緣,在這根K棒收盤時作空。
if Xavg < BotBand and BearTrend then Begin
Sell this bar on Close ;
end;
出場規則
1.手中持有多單部位時,當價格回落到通道下緣多單平倉。
if MarketPosition = 1 then ExitLong next bar at BotBand stop ;
2.手中持有空單部位時,當價格突破到通道上緣空單平倉。
if MarketPosition = -1 then ExitShort next bar at TopBand stop ;
3.設立必要的停損保護。[/code] 螺纹指数日线运行及回测
[attach]24964[/attach]
[attach]24965[/attach] 螺纹指数2小时线运行及回测
[attach]24966[/attach]
[attach]24967[/attach] 螺纹指数1小时线运行及回测
[attach]24968[/attach]
[attach]24969[/attach] 感谢版主分享 感谢楼主分享 感谢分享 (每天上架新策略、跟着视频学编程)
页:
[1]