龙听期货论坛's Archiver

龙听 发表于 2020-10-28 06:59

【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]

龙听 发表于 2020-10-28 07:01

视频地址:[mp4]http://mp4.qhlt.club/Rec%200087.mp4[/mp4]

龙听 发表于 2020-10-28 07:02

视频中策略程式码:**** 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]

龙听 发表于 2020-10-28 07:03

策略在螺纹指数日线图上面运行效果及回测
[attach]24940[/attach]

[attach]24941[/attach]

龙听 发表于 2020-10-28 07:04

螺纹120分钟

[attach]24942[/attach]

[attach]24943[/attach]

龙听 发表于 2020-10-28 07:04

螺纹60分钟
[attach]24944[/attach]

[attach]24945[/attach]

徐永礼 发表于 2020-11-1 08:53

感谢版主分享

本来周 发表于 2020-11-30 21:36

多谢分享谢谢楼主分享

周饼仙 发表于 2020-12-3 11:39

感谢分享,学习一下

夷吾 发表于 2021-1-5 09:26

感谢分享

滑溜溜 发表于 2024-8-19 11:31

感谢

页: [1]