TradeBlazer 交易开拓者实现海龟交易系统源代码.doc_第1页
TradeBlazer 交易开拓者实现海龟交易系统源代码.doc_第2页
TradeBlazer 交易开拓者实现海龟交易系统源代码.doc_第3页
TradeBlazer 交易开拓者实现海龟交易系统源代码.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TradeBlazer 交易开拓者实现海龟交易系统源代码相信大家没有不知道海龟法则的,这是用TradeBlazer实现海龟法则的源代码!1.Params2. Numeric RiskRatio(1); / % Risk Per N ( 0 - 100)3. Numeric ATRLength(20); / 平均波动周期 ATR Length4. Numeric boLength(20); / 短周期 BreakOut Length5. Numeric fsLength(55); / 长周期 FailSafe Length6. Numeric teLength(10); / 离市周期 Trailing Exit Length7. Bool LastProfitableTradeFilter(True); / 使用入市过滤条件8.Vars9. Numeric MinPoint; / 最小变动单位10. Numeric N; / N 值11. Numeric TotalEquity; / 按最新收盘价计算出的总资产12. Numeric TurtleUnits; / 交易单位13. NumericSeries DonchianHi; / 唐奇安通道上轨,延后1个Bar14. NumericSeries DonchianLo; / 唐奇安通道下轨,延后1个Bar15. NumericSeries fsDonchianHi; / 唐奇安通道上轨,延后1个Bar,长周期16. NumericSeries fsDonchianLo; / 唐奇安通道下轨,延后1个Bar,长周期17. Numeric ExitHighestPrice; / 离市时判断需要的N周期最高价18. Numeric ExitLowestPrice; / 离市时判断需要的N周期最低价19. Numeric myEntryPrice; / 开仓价格20. Numeric myExitPrice; / 平仓价格21. Bool SendOrderThisBar(False); / 当前Bar有过交易22. NumericSeries preEntryPrice(0); / 前一次开仓的价格,存放到全局变量0号位置23. BoolSeries PreBreakoutFailure(false); / 前一次突破是否失败24.Begin25. If(BarStatus = 0)26. 27. preEntryPrice = InvalidNumeric;28. PreBreakoutFailure = false;29. Else30. 31. preEntryPrice = preEntryPrice1;32. PreBreakoutFailure = PreBreakoutFailure1;33. 34.35. MinPoint = MinMove*PriceScale;36. N = AverageFC(TrueRange,ATRLength);37. TotalEquity = CurrentCapital()+ Abs(CurrentContracts()*Close*ContractUnit()*BigPointValue()*MarginRatio();38. TurtleUnits = (TotalEquity*RiskRatio/100) /(N * ContractUnit()*BigPointValue();39. TurtleUnits = IntPart(TurtleUnits); / 对小数取整40.41. DonchianHi = HighestFC(High1,boLength);42. DonchianLo = LowestFC(Low1,boLength);43.44. fsDonchianHi = HighestFC(High1,fsLength);45. fsDonchianLo = LowestFC(Low1,fsLength);46.47. Commentary(N=+Text(N);48. Commentary(preEntryPrice=+Text(preEntryPrice);49. Commentary(PreBreakoutFailure=+IIFString(PreBreakoutFailure,True,False);50.51. / 当不使用过滤条件,或者使用过滤条件并且条件为PreBreakoutFailure为True进行后续操作52. If(MarketPosition = 0 & (!LastProfitableTradeFilter) Or (PreBreakoutFailure)53. 54. / 突破开仓55. If(CrossOver(High,DonchianHi) & TurtleUnits = 1)56. 57. / 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交58. myEntryPrice = min(high,DonchianHi + MinPoint);59. myEntryPrice = IIF(myEntryPrice = 1)67. 68. / 开仓价格取突破下轨-一个价位和最低价之间的较大值,这样能更接近真实情况,并能尽量保证成交69. myEntryPrice = max(low,DonchianLo - MinPoint);70. myEntryPrice = IIF(myEntryPrice Open, Open,myEntryPrice); / 大跳空的时候用开盘价代替71. preEntryPrice = myEntryPrice;72. SendOrderThisBar = True;73. SellShort(TurtleUnits,myEntryPrice);74. SendOrderThisBar = True;75. PreBreakoutFailure = False;76. 77. 78.79. / 长周期突破开仓 Failsafe Breakout point80. If(MarketPosition = 0)81. 82. If(CrossOver(High,fsDonchianHi) & TurtleUnits = 1)83. 84. / 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交85. myEntryPrice = min(high,fsDonchianHi + MinPoint);86. myEntryPrice = IIF(myEntryPrice = 1)94. 95. / 开仓价格取突破下轨-一个价位和最低价之间的较大值,这样能更接近真实情况,并能尽量保证成交96. myEntryPrice = max(low,fsDonchianLo - MinPoint);97. myEntryPrice = IIF(myEntryPrice Open, Open,myEntryPrice); / 大跳空的时候用开盘价代替98. preEntryPrice = myEntryPrice;99. SellShort(TurtleUnits,myEntryPrice);100. SendOrderThisBar = True;101. PreBreakoutFailure = False;102. 103. 104.105. If(MarketPosition = 1) / 有多仓的情况106. 107. / 求出持多仓时离市的条件比较值108. ExitLowestPrice = Lowest(Low1,teLength);109. Commentary(ExitLowestPrice=+Text(ExitLowestPrice);110. If(Low Open, Open,myEntryPrice); / 大跳空的时候用开盘价代替114. Sell(0,myExitPrice); / 数量用0的情况下将全部平仓115. Else116. 117. If(preEntryPrice!=InvalidNumeric & TurtleUnits = 1)118. 119. If(Open = preEntryPrice + 0.5*N) / 如果开盘就超过设定的1/2N,则直接用开盘价增仓。120. 121. myEntryPrice = Open;122. preEntryPrice = myEntryPrice;123. Buy(TurtleUnits,myEntryPrice);124. SendOrderThisBar = True;125. 126.127. while(High = preEntryPrice + 0.5*N) / 以最高价为标准,判断能进行几次增仓128. 129. myEntryPrice = preEntryPrice + 0.5 * N;130. preEntryPrice = myEntryPrice;131. Buy(TurtleUnits,myEntryPrice);132. SendOrderThisBar = True;133. 134. 135.136. / 止损指令137. If(Low ExitHighestPrice)150. 151. myExitPrice = Min(High,ExitHighestPrice + MinPoint);152. myExitPrice = IIF(myExitPrice = 1)157. 158. If(Open = preEntryPrice - 0.5*N) / 如果开盘就超过设定的1/2N,则直接用开盘价增仓。159. 160. myEntryPrice = Open;161. preEntryPrice = myEntryPrice;162. SellShort(TurtleUnits,myEntryPrice);163. SendOrderThisBar = True;164. 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论