【MultiCharts(MC)程序化(量化)网上培训学习系列】第87节:【高低点突破策略+加仓策略完整策略范例程式码及检查效果
[attach]24939[/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]策略群,对视频中策略有想法、建议、优化以结交量化好友,动动手,扫二维码加入微信群,跟一众量化好友切磋吧[/size] 视频地址:[mp4]http://mp4.qhlt.club/Rec%200087.mp4[/mp4] 视频中策略程式码:**** Hidden Message *****[/size]
程式码解析:
[code]宣告必要參數與變數inputs:Price(Close),FastLen(9),SlowLen(18),EntLen(12),TrailLen(8),ReEntLen(15),Ratio(3) ;
Vars:FastMA(0),SlowMA(0),EntPriceL(0),EntPriceS(0),CountL(-999),CountS(-999),ReEntCount(0);
FastMA = Average(Price,FastLen) ;
SlowMA = Average(Price,SlowLen) ;
作多進場邏輯
1.當短期均線( 9根K棒 )向上交叉穿越長期均線( 18根K棒 )時,找尋最近8根K棒的最高價,將其乘以 1.03 作為作多進場價格
if FastMA Cross over SlowMA and BarNumber > 1 Then Begin
EntPriceL = Highest(High,8)*(1+Ratio/100) ;
CountL = 0 ;
end;
2.當上述條件成立時,在未來的12根K棒中只要價格突破進場價,則進場作多
if MP < > 1 and CountL <= EntLen then Buy next Bar at EntPriceL stop ;
計算經過幾根K棒
CountL = CountL + 1;
3.當多單在倉時,且因其他出場規則出場後,再依據最近的10根K棒的最高價掛 Stop 突破單,並維持自出場後15根K棒的時間(也就是出場後15根K棒內沒有再突破近10根K最高價,則取消掛單)
{ Re- Entry }
if MP = 0 and MP[1] = 1 then ReEntCount = 1 ;
if MP = 0 and MP[1] = 1 and ReEntCount < ReEntLen then Begin
ReEntCount = ReEntCount + 1;
Buy next bar at Highest(High,10) stop ;
end;
作空進場邏輯
1.當短期均線( 9根K棒 )向下交叉穿越長期均線( 18根K棒 )時,找尋最近8根K棒的最低價,將其乘以0.97作為作空進場價格
if FastMA Cross under SlowMA and BarNumber > 1 Then Begin
EntPriceS = Lowest(Low,8)*(1-Ratio/100) ;
CountS = 0 ;
end;
2.當上述條件成立時,在未來的12根K棒中只要價格跌破進場價,則進場作空
if MP <> -1 and CountS <= EntLen then
Sell next Bar at EntPriceS stop ;
計算經過幾根 K棒
CountS = CountS + 1;
3. 當空單在倉時 ,且因其他出場規則出場後 , 再依據最近的 10根K棒的最低價掛 Stop 突破單 ,並維持自出場後15根K棒的時間 (也就是出場後15根 K棒內沒有再跌破近10根K最低價,則取消掛單 )
{ Re- Entry }
if MP = 0 and MP[1] = -1 then ReEntCount = 1 ;
if MP = 0 and MP[1] = -1 and ReEntCount < ReEntLen then Begin
ReEntCount = ReEntCount + 1;
Sell next bar at Lowest(Low,10) stop ;
end;
出場規則
1.多單在倉時,價格到達最近8根K棒最低價時平倉出場
if MP = 1 then Begin
CountL = -999 ;
ExitLong next bar at Lowest(Low,TrailLen) stop ;
end;
2.空單在倉時,價格到達最近8根K棒最高價時平倉出場
if MP = -1 then Begin
CountS = -999 ;
ExitShort next bar at Highest(High,TrailLen) stop ;
end;[/code] 策略在螺纹指数日线图上面运行效果及回测
[attach]24940[/attach]
[attach]24941[/attach] 螺纹120分钟
[attach]24942[/attach]
[attach]24943[/attach] 螺纹60分钟
[attach]24944[/attach]
[attach]24945[/attach] 感谢版主分享 多谢分享谢谢楼主分享 感谢分享,学习一下 感谢分享 感谢
页:
[1]