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

来人啊,救命啊,帮我看看这些代码实盘用行不行! [开拓者 TB]

  • 咨询内容: 本帖最后由 空空大师 于 2012-3-2 08:56 编辑

    Vars
                       Numeric JC;
                 Numeric GDPJ;
                 Numeric KJZ;
                 Numeric RC;
                 Numeric RC1;
                 Numeric RC2;
                       Numeric MinPoint; // 一个最小变动单位,也就是一跳
                       Numeric MyEntryPrice; // 开仓价格,本例是开仓均价,也可根据需要设置为某次入场的价格
                       Numeric TrailingStart2(75); // 跟踪止损启动设置2
                       Numeric TrailingStop2(25); // 跟踪止损设置2
                       Numeric StopLossSet(40); // 止损设置
                       Numeric MyExitPrice; // 平仓价格
                       NumericSeries HighestAfterEntry; // 开仓后出现的最高价
                       NumericSeries LowestAfterEntry; // 开仓后出现的最低价
                     
    Begin

                    ...
                                ...


                     If(CurrentTime()>0.091700 And CurrentTime()<0.150900 And CrossOver(JC,RC1))
                     {     
                             Buy(1,Q_AskPrice());
                     }
                     If(CurrentTime()>0.091700 And CurrentTime()<0.150900 And CrossUnder(JC,RC2))
                     {     
                         SellShort(1,Q_BidPrice());
                     }
             
                     If(BarsSinceentry == 0)
                                 {
                         HighestAfterEntry = Close;
                             LowestAfterEntry = Close;
                             If(MarketPosition <> 0)
                             {
                                 HighestAfterEntry = Max(HighestAfterEntry,AvgEntryPrice);
                                                         // 开仓的Bar,将开仓价和当时的收盘价的较大值保留到HighestAfterEntry
                                 LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice);
                                                        // 开仓的Bar,将开仓价和当时的收盘价的较小值保留到LowestAfterEntry
                             }
                     }else
                     {
                             HighestAfterEntry = Max(HighestAfterEntry,High);
                                                     // 记录下当前Bar的最高点,用于下一个Bar的跟踪止损判断
                             LowestAfterEntry = Min(LowestAfterEntry,Low);
                                                     // 记录下当前Bar的最低点,用于下一个Bar的跟踪止损判断
                     }
                   
                     MinPoint = MinMove*PriceScale;
                     MyEntryPrice = AvgEntryPrice;
                   
                     If(MarketPosition==1) // 有多仓的情况
                     {
                            If(HighestAfterEntry[1] >= MyEntryPrice + TrailingStart2*MinPoint)
                                                                                               // 跟踪止损的条件表达式
                             {
                                     If(Low <= HighestAfterEntry[1] - TrailingStop2*MinPoint)
                                     {
                                         MyExitPrice = HighestAfterEntry[1] - TrailingStop2*MinPoint;
                                             If(Open < MyExitPrice)
                                             MyExitPrice = Open;
                                                                                                   // 如果该Bar开盘价有跳空触发,则用开盘价代替
                                             Sell(1,MyExitPrice);
                                     }
                             }else if(Low <= MyEntryPrice - StopLossSet*MinPoint)
                                                                                                             //的止损处理
                                  {
                                             MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;
                                             If(Open < MyExitPrice) MyExitPrice = Open;
                                                                                                                 // 如果该Bar开盘价有跳空触发,则用开盘价代替
                                             Sell(1,MyExitPrice);
                                  }
                     
                      }else if(MarketPosition==-1) // 有空仓的情况
                               {
                              If(LowestAfterEntry[1] <= MyEntryPrice - TrailingStart2*MinPoint) // 跟踪止损的条件表达式
                              {
                                      If(High >= LowestAfterEntry[1] + TrailingStop2*MinPoint)
                                             {
                                              MyExitPrice = LowestAfterEntry[1] + TrailingStop2*MinPoint;
                                              If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
                                              BuyToCover(1,MyExitPrice);
                                                    }
                              }else If(High >= MyEntryPrice + StopLossSet*MinPoint)//可以在这里写上初始的止损处理
                                       {
                                              MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;
                                              If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
                                              BuyToCover(0,MyExitPrice);
                                       }
                              }
                   
                    If(CurrentTime()>0.150900 And MarketPosition <> 0)
                    {
                            Sell(1,0);
                            BuyToCover(1,0);
                    }
    End

    斑斑、管理员,救命啊,谢谢啊!

     

  • TB技术人员: 1.请问,0.090000的表达以软件时间和计算机系统时间中的哪个时间为准?
    2.不成交的委托单软件如何处理?撤单如何编写?追价如何编写?
    3.会不会有重复委托的情况?如何处理?
    4.如果使用交易助手,成交单会反映至策略吗?
    谢谢!

     

  • TB客服: 1.公式里所用到的currenttime是计算机系统时,
    2.可以使用“交易助手”,配合完成未成交的撤单再重发的动作,
    3.会有信号消失的可能性,建议修 改公式
    4.不会。

     

  • 网友回复:
    1.公式里所用到的currenttime是计算机系统时,
    2.可以使用“交易助手”,配合完成未成交的撤单再重发的动作 ...
    小米 发表于 2012-3-2 10:21



        谢谢,那一楼的代码实盘的话会有问题吗?会不会有重复委托的情况?
    谢谢!

     

  • 网友回复:
    1.公式里所用到的currenttime是计算机系统时,
    2.可以使用“交易助手”,配合完成未成交的撤单再重发的动作 ...
    小米 发表于 2012-3-2 10:21


    撤单如何编写?追价如何编写?谢谢

 

如果以上指标公式不适用于您常用的行情软件

或者您想改编成选股公式,以便快速选出某种形态个股的话,

可以联系我们相关技术人员 QQ: 262069696  点击在线交流进行 有偿 改编!

 


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

相关文章

    没有相关内容