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

一个简单顺势交易系统的例子 [开拓者 TB]

  • 咨询内容: 该交易系统的建仓条件为:
    1、前两个Bar收阳,并呈上涨趋势;
    2、当前价格为最近前2个Bar最高价的回落,而且回落幅度大于0.382。回落幅度是相对于最高价到最低价的范围。
    该交易系统的平仓条件为:
    1、当前价格的获利价格点数大于建仓时最低价到最低价的范围。
    该交易系统的止损条件为:
    1、当前价格从建仓时的最高价格的回落大于最低价到最高价的范围的0.5。


    1. Params
    2.     Numeric TrailingSet(0.382);       // 回撤开仓比例设置,从最高点下跌的比例
    3.     Numeric StopLossSet(0.5);        // 止损比例设置
    4. Vars
    5.     Bool startCondition(False);         // 启动条件
    6.     Bool EntryCondition(False);        // 开仓条件
    7.     Bool ExitCondition(False);          // 平仓条件
    8.     NumericSeries highestValue(0);  // 前2个周期的最高价
    9.     NumericSeries lowestValue(0);   // 前2个周期的最低价
    10.     Numeric myEntryPrice(0);          // 开仓价格
    11.     Numeric myExitPrice(0);            // 平仓价格        
    12. Begin
    13.     highestValue = highestValue[1];
    14.     lowestValue = lowestValue[1];
    15.     If(MarketPosition ==0 ) // 当前空仓
    16.     {
    17.         If(Close[2]>Open[2] && Close[1] > Open[1] && Close[1] > Close[2])
    18.         {
    19.             startCondition = True;
    20.             highestValue = max(high[2],high[1]);
    21.             lowestValue = min(low[2],low[1]);
    22.         }
    23.         
    24.         If(startCondition)
    25.         {
    26.             EntryCondition = ((highestValue - Open) / (highestValue - lowestValue) > TrailingSet )&& // 开盘价即满足回撤条件,用开盘价进行交易
    27.             (Open > highestValue -((highestValue - lowestValue)*StopLossSet)) ; //  开盘价不能低于预设的止损价                                                
    28.             If( EntryCondition)
    29.             {
    30.                 Buy(1,Open);
    31.             }Else // 再看其它价格是否满足
    32.             {
    33.                 EntryCondition = (highestValue - Low) / (highestValue - lowestValue) > TrailingSet ; // 最低价满足回撤条件,用低于TrailingSet设置的最近价位建仓
    34.                 If(EntryCondition)
    35.                 {
    36.                     myEntryPrice = highestValue - (HighestValue - LowestValue ) * TrailingSet;
    37.                     myEntryPrice = IntPart(myEntryPrice / (PriceScale()*MinMove)) *(PriceScale()*MinMove); // 对价格进行处理                                       
    38.                     If(myEntryPrice >= low &&  myEntryPrice <= High)
    39.                     {
    40.                         Buy(1,MyEntryPrice);
    41.                     }
    42.                 }                        
    43.             }
    44.         }
    45.     }else If(MarketPosition == 1) // 当前多仓
    46.     {
    47.         ExitCondition = ( HighestValue - Low )/(highestValue - lowestValue) > StopLossSet;        // 止损条件满足
    48.         If(ExitCondition)
    49.         {
    50.             myExitPrice =  highestValue - (HighestValue - LowestValue ) * StopLossSet;                        
    51.             myExitPrice = IntPart(myExitPrice / (PriceScale()*MinMove)) *(PriceScale()*MinMove); // 对价格进行处理
    52.             Sell(CurrentContracts(),myExitPrice);
    53.         }Else // 获利平仓
    54.         {
    55.             ExitCondition = (high - AvgEntryPrice()) > (highestValue - lowestValue); // 获利平仓条件满足
    56.             If(ExitCondition)
    57.             {
    58.                 myExitPrice =  AvgEntryPrice() + (HighestValue - LowestValue );                                
    59.                 myExitPrice = IntPart(myExitPrice / (PriceScale()*MinMove)) *(PriceScale()*MinMove); // 对价格进行处理
    60.                 If (myExitPrice >= low && myEntryPrice <= high)
    61.                 {
    62.                     Sell(CurrentContracts(),myExitPrice);
    63.                 }Else
    64.                 {
    65.                     Sell(CurrentContracts(),Close);
    66.                 }
    67.             }
    68.         }
    69.     }
    70. End

     

  • TB技术人员: 学习! 代码中有注释很好。

     

  • TB客服: 该例代码引入TB后为何注释变为"????"?

    [ 本帖最后由 nopain 于 2007-7-22 09:12 编辑 ]

     

  • 网友回复:
    原帖由 bcsunwww 于 2007-7-22 08:59 发表
    该例代码引入TB后为何注释变为"????"?


    这是由于公式编辑器支持的是Unicode编码。
    你先保存到一个TXT文本中,然后从公式编辑器窗体->文件->导入公式脚本,这样就可以显示中文了

     

  • 网友回复: 请教版主一个问题:能在TB的交易系统里设定交易的商品种类及周期吗?

 

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

可联系技术人员 QQ: 1145508240  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容