2022年2022年量化经典RangeBreak交易系统模型源代码一 .pdf
-
资源ID:27247511
资源大小:44.64KB
全文页数:7页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年2022年量化经典RangeBreak交易系统模型源代码一 .pdf
RangeBreak系统交易模型源代码 - 开拓者版本RangeBreak系统交易模型是著名的交易系统,这里把他解析出来,供大家参考学习之用,这是个日内交易系统,收盘一定平仓; RangeBreak 基于昨日振幅和今日开盘价的关系。昨日振幅 =昨日最高价 -昨日最低价上轨 = 今日开盘价 +N*昨日振幅下轨 = 今日开盘价 -N*昨日振幅当价格突破上轨,买入开仓。当价格跌穿下轨,卖出开仓。RangeBreak指标Params Numeric PercentOfRange(0.3); Vars Numeric DayOpen; Numeric preDayRange; Numeric UpperBand; Numeric LowerBand; Begin 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - DayOpen = OpenD(0); preDayRange = HighD(1) - LowD(1); UpperBand = DayOpen + preDayRange*PercentOfRange; LowerBand = DayOpen - preDayRange*PercentOfRange; PlotNumeric(UpperBand,UpperBand); PlotNumeric(LowerBand,LowerBand); PlotNumeric(MidLine,DayOpen); End RBS_V1 Params Numeric PercentOfRange(0.3); Numeric ExitOnCloseMins(14.59); Vars Numeric DayOpen; Numeric preDayRange; Numeric UpperBand; Numeric LowerBand; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - Numeric MyPrice; Begin DayOpen = OpenD(0); preDayRange = HighD(1) - LowD(1); UpperBand = DayOpen + preDayRange*PercentOfRange; LowerBand = DayOpen - preDayRange*PercentOfRange; If(MarketPosition!=1 & High=UpperBand) MyPrice = UpperBand; If(Open MyPrice) MyPrice = Open; Buy(1,MyPrice); Return; If(MarketPosition!=-1 & Low=LowerBand) MyPrice = LowerBand; If(Open =ExitOnCloseMins/100) Sell(1,Open); BuyToCover(1,Open); SetExitOnClose; End 必须考虑的特殊情况如果前一日涨停或跌停,则会出现范围很小。解决方案:设定一个范围的最小值,假定为当前价格的0.2%。代码中的改动名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - Params Numeric MinRange(0.2); Vars NumericSeries DayOpen; Numeric preDayHigh; Numeric preDayLow; NumericSeries preDayRange; Begin preDayHigh = HighD(1); preDayLow = LowD(1); If(Date!=Date1) DayOpen = Open; preDayRange = preDayHigh - preDayLow; If(preDayRange Open*MinRange*0.01) preDayRange = Open*MinRange*0.01; Else DayOpen = DayOpen1; preDayRange = preDayRange1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 增加止损有可能通道会比较宽,难道非要等到反转才平仓?考虑增加止损设置,有2 种方案: 1 、亏损固定点数。 2 、亏损当前价格的百分比。考虑到商品价格变化的差异,我们采取第二种方式。止损部分代码先增加一个变量StopLine,用来保存止损位置。下面是做多时的止损代码: If(MarketPosition=1) StopLine = AvgEntryPrice-DayOpen*StopLossSet*0.01; If(Low = StopLine) MyPrice = StopLine; If(Open = StopLine) MyPrice = StopLine; If(Open MyPrice) MyPrice = Open; BuyToCover(Lots,MyPrice); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -