您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

请教小米版主关于K线突破再创新高持有怎么写 [开拓者 TB]

  • 咨询内容: k线区域按时间顺序从左向右共由5根k线组成, 最左边的k线标号为5, 如果3号k线收盘价高于5号k线最高点, 开多仓持有,如果2号1号未创5根K线新高则平仓,请教下TB里面这个策略怎么写

     

     来源:CXH99.COM

  • TB技术人员: 没有验证,仅供参考。
    1. Numeric High5;

    2. If(BarStatus == 0)
    3. {
    4.         SetGlobalVar(1, 0);
    5.         SetGlobalVar(2, 0);
    6. }

    7. High5 = Highest(High[3], 3);

    8. If(GetGlobalVar(1) == 0 and Open[1] > High[3])
    9. {
    10.         Buy(1);
    11.         SetGlobalVar(1, Date+Time);
    12. }

    13. If(GetGlobalVar(1) > Date+Time)
    14. {
    15.         SetGlobalVar(1, Date+Time);
    16.         SetGlobalVar(2, GetGlobalVar(2)+1);
    17. }

    18. If(GetGlobalVar(2) == 2 and High[1] <= High5 and High[2] <= High5)
    19. {
    20.         Sell(1);
    21.         SetGlobalVar(1, 0);
    22.         SetGlobalVar(2, 0);
    23. }
    复制代码

     

  • TB客服:
    Yuen_Lee 发表于 2020-3-28 12:49
    没有验证,仅供参考。

    好像跟四周规则差不多,只是突破开仓后,需要一根BAR创新高来确认

     

  • 网友回复: 最后一个条件可以改成:
    1. If(GetGlobalVar(2) == 2)
    2. {
    3.         If(High[1] <= High5 and High[2] <= High5)
    4.         {
    5.         Sell(1);
    6.         SetGlobalVar(1, 0);
    7.         SetGlobalVar(2, 0);
    8.         }
    9.         Else
    10.                 SetGlobalVar(2, 3);        //当GetGlobalVar(2)为3时,一直持有多单
    11. }
    复制代码

     

  • 网友回复:
  • 本帖最后由 Yuen_Lee 于 2020-4-1 09:11 编辑

    加了注释。
    1. Numeric High5;

    2. If(BarStatus == 0)
    3. {
    4.         SetGlobalVar(1, 0);
    5.         SetGlobalVar(2, 0);
    6. }

    7. // 5根K线中K线3~5的最高价
    8. High5 = Highest(High[3], 3);

    9. // 未开仓:K线3收盘价>K线5高点,在K线2位置开多单
    10. If(GetGlobalVar(1) == 0 and Close[1] > High[3])
    11. {
    12.         Buy(1);
    13.         SetGlobalVar(1, Date+Time);
    14. }

    15. // 已开仓:记录开仓后走过几根K线
    16. If(GetGlobalVar(1) > Date+Time and GetGlobalVar(2) < 2)
    17. {
    18.         SetGlobalVar(1, Date+Time);
    19.         SetGlobalVar(2, GetGlobalVar(2)+1);
    20. }

    21. // 已开仓:记录开仓后走过2根K线后,若K线1、2高点均<=K线3~5的高点,平多单
    22. If(GetGlobalVar(2) == 2)
    23. {
    24.         If(High[1] <= High5 and High[2] <= High5)
    25.         {
    26.                 Sell(1);
    27.                 SetGlobalVar(1, 0);
    28.                 SetGlobalVar(2, 0);
    29.         }
    30.         Else
    31.                 //当GetGlobalVar(2)为3时,一直持有多单
    32.                 SetGlobalVar(2, 3);
    33. }
    复制代码

 

有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流或微信号:cxh99cxh99  进行 有偿收费 编写!

怎么收费,代编流程等详情请点击阅读!

(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容