- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[量化经典RangeBreak交易系统模型源代码二
入场时间的考虑?
突破的时效性,发生在上午和下午意义是不同的。?不同的商品时效属性不尽相同?为此我们增加最后交易时间参数,可供优化测试来确定最佳值。?
实现代码?
增加参数:?Numeric LastTradeMins(14.00);?开仓条件处增加一个时间条件。?If(MarketPosition!=1 High=UpperBand Time LastTradeMins/100)?{?// 多头开仓?}?If(MarketPosition!=-1 Low=LowerBand Time LastTradeMins/100)?{?// 空头开仓?}???止赢规则?为了防止较大的盈利被吞噬,增加跟踪止赢。?设定跟踪止赢的起始点。?设定跟踪止赢的回撤值。?或者可以选择百分比跟踪止赢。?这里我们采取回撤值。?跟踪止损的编码可配合前面的止损编码一起控制。?If(HigherAfterEntry=AvgEntryPrice+DayOpen*TrailingStart*0.01)?{? StopLine = HigherAfterEntry - DayOpen*TrailingStop*0.01;?}Else // 止损?{? StopLine = AvgEntryPrice-DayOpen*StopLossSet*0.01;?}???If(Low = StopLine)?{? MyPrice = StopLine;? If(Open MyPrice) MyPrice = Open;? Sell(1,MyPrice);???}?做空的代码类似。???
再进场原则?
当我们止损或跟踪止损之后,有两种情况我们需要加以控制:?止损后,再次突破上轨或下轨;?追踪止赢后,价格仍符合最初的开仓条件,出场后,马上又会开仓入场。?同时,为了不错失大的波段,我们也需要再次入场,只是进场需要更高的条件。我们增加一条:?再次进场必须在突破前期的高点\低点。?
代码的修改?我们需要标记止损动作,并要记录高低位。?新建两个布尔型序列变量:?BoolSeries? bLongStoped;?BoolSeries? bShortStoped;?在脚本开始位置增加处理,保证其值向后传递。?增加HigherAfterEntry和LowerAfterEntry在平仓后的值传递。???
初次进场和再次进场?在原始开仓位置增加条件,开多仓时bLongStoped不能为True,开空仓时bShortStoped不能为True。?发出交易指令处理这两个序列变量。?增加再次入场的代码:?If(bLongStoped MarketPosition==0 High =UpperBand High HigherAfterEntry Time LastTradeMins/100)?{? MyPrice = Max(HigherAfterEntry,UpperBand) + MinPoint;? If(Open MyPrice) MyPrice = Open;? Buy(1,MyPrice);? bLongStoped = False;? Return;?}???// 做空再次入场代码:?If(bShortStoped MarketPosition==0 Low=LowerBand? Low LowerAfterEntry Time LastTradeMins/100 bInBoardRange==false)?{? MyPrice = Min(LowerAfterEntry,LowerBand) - MinPoint;? If(Open MyPrice) MyPrice = Open;? SellShort(1,MyPrice);? bShortStoped = False;? Return;?}?
涨跌停的控制?接近涨跌停板不应开仓。?若有持仓,价格到达涨跌停板马上平仓。?
判断是否接近涨跌停?我们新建一个布尔变量bInBoardRange,默认值设置为False。?bInBoardRange =?(Open Q_LowerLimit + DayOpen*StopLossSet*0.02) Or?( Open Q_UpperLimit - DayOpen*StopLossSet*0.02);?在开仓条件中加入(bInBoardRange==false)?
涨跌停板平仓?为了在价格达到涨跌停价马上平仓,我们需要在增加如下代码:?做多时:?If
您可能关注的文档
最近下载
- 五年级下-1000道口算.docx VIP
- 2025年中国四氯化锆项目投资计划书.docx
- 病原微生物实验室生物安全风险管理指南RB∕T 040-2020.doc
- 2025年艺术学概论.pdf VIP
- 【精校版】2025年高考天津卷政治试题(Word版含答案).doc VIP
- 初中历史 2023-2024学年广西河池市金城江区九年级(上)期中历史试卷.pdf VIP
- 《2 欢快流畅的线》教学设计2024-2025学年小学美术一年级上册人美版(2024).docx VIP
- 2023北京八十中初二(上)期中语文(含答案).pdf VIP
- 自考10177《设计基础》考前复习重点(保密资料).pdf VIP
- 戒烟门诊服务及创建.pptx VIP
文档评论(0)