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

求大神发个跟踪止盈止损的模版 [开拓者 TB]

  • 咨询内容: 求大神发个跟踪止盈止损的模版,发个实例也可以,谢谢!

     

  • TB技术人员:
    1. Vars
    2.     Numeric MinPoint;           // 一个最小变动单位,也就是一跳
    3.     Numeric MyEntryPrice;       // 开仓价格,本例是开仓均价,也可根据需要设置为某次入场的价格
    4.     Numeric TrailingStart1(50); // 跟踪止损启动设置1
    5.     Numeric TrailingStart2(80); // 跟踪止损启动设置2
    6.     Numeric TrailingStop1(30);  // 跟踪止损设置1
    7.     Numeric TrailingStop2(20);  // 跟踪止损设置2
    8.     Numeric StopLossSet(50);    // 止损设置
    9.     Numeric MyExitPrice;        // 平仓价格

    10.     NumericSeries HighestAfterEntry;        // 开仓后出现的最高价
    11.     NumericSeries LowestAfterEntry;         // 开仓后出现的最低价
    12. Begin
    13.     ...
    14.     If(BarsSinceentry == 0)
    15.     {
    16.         HighestAfterEntry = Close;
    17.         LowestAfterEntry = Close;
    18.         If(MarketPosition <> 0)
    19.         {
    20.             HighestAfterEntry = Max(HighestAfterEntry,AvgEntryPrice);   // 开仓的Bar,将开仓价和当时的收盘价的较大值保留到HighestAfterEntry
    21.             LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice);     // 开仓的Bar,将开仓价和当时的收盘价的较小值保留到LowestAfterEntry
    22.         }
    23.     }else
    24.     {
    25.         HighestAfterEntry = Max(HighestAfterEntry,High); // 记录下当前Bar的最高点,用于下一个Bar的跟踪止损判断
    26.         LowestAfterEntry = Min(LowestAfterEntry,Low);    // 记录下当前Bar的最低点,用于下一个Bar的跟踪止损判断
    27.     }

    28.     Commentary("HighestAfterEntry="+Text(HighestAfterEntry));
    29.     Commentary("LowestAfterEntry="+Text(LowestAfterEntry));

    30.     MinPoint = MinMove*PriceScale;
    31.     MyEntryPrice = AvgEntryPrice;
    32.     If(MarketPosition==1) // 有多仓的情况
    33.     {
    34.         If(HighestAfterEntry[1] >= MyEntryPrice + TrailingStart2*MinPoint)   // 第二级跟踪止损的条件表达式
    35.         {
    36.             If(Low <= HighestAfterEntry[1] - TrailingStop2*MinPoint)
    37.             {
    38.                 MyExitPrice = HighestAfterEntry[1] - TrailingStop2*MinPoint;
    39.                 If(Open < MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
    40.                 Sell(0,MyExitPrice);
    41.             }
    42.         }else if(HighestAfterEntry[1] >= MyEntryPrice + TrailingStart1*MinPoint)// 第一级跟踪止损的条件表达式
    43.         {
    44.             If(Low <= HighestAfterEntry[1] - TrailingStop1*MinPoint)
    45.             {
    46.                 MyExitPrice = HighestAfterEntry[1] - TrailingStop1*MinPoint;
    47.                 If(Open < MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
    48.                 Sell(0,MyExitPrice);
    49.             }
    50.         }else if(Low <= MyEntryPrice - StopLossSet*MinPoint)//可以在这里写上初始的止损处理
    51.         {
    52.             MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;
    53.             If(Open < MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
    54.             Sell(0,MyExitPrice);
    55.         }
    56.     }else if(MarketPosition==-1) // 有空仓的情况
    57.     {
    58.         If(LowestAfterEntry[1] <= MyEntryPrice - TrailingStart2*MinPoint)   // 第二级跟踪止损的条件表达式
    59.         {
    60.             If(High >= LowestAfterEntry[1] + TrailingStop2*MinPoint)
    61.             {
    62.                 MyExitPrice = LowestAfterEntry[1] + TrailingStop2*MinPoint;
    63.                 If(Open > MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
    64.                 BuyToCover(0,MyExitPrice);
    65.             }
    66.         }else if(LowestAfterEntry[1] <= MyEntryPrice - TrailingStart1*MinPoint)// 第一级跟踪止损的条件表达式
    67.         {
    68.             If(High >= LowestAfterEntry[1] + TrailingStop1*MinPoint)
    69.             {
    70.                 MyExitPrice = LowestAfterEntry[1] + TrailingStop1*MinPoint;
    71.                 If(Open > MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
    72.                 BuyToCover(0,MyExitPrice);
    73.             }
    74.         }else If(High >= MyEntryPrice + StopLossSet*MinPoint)//可以在这里写上初始的止损处理
    75.         {
    76.             MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;
    77.             If(Open > MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
    78.             BuyToCover(0,MyExitPrice);
    79.         }
    80.     }
    81.     ...
    82. End
    复制代码

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容