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

请教管理员关于A_SendOrder函数问题 [开拓者 TB]

  • 咨询内容: 本帖最后由 ST振翔 于 2014-3-5 14:41 编辑

    策略为反手模型,即满足开多条件的话,则平空仓开多仓。但时常发生成交不了的现象,因为人不总是在电脑旁边,这样容易浪费时机,还需要后续用监控器再操作一下。原有代码如下:
    If(close[1]<ema[1])
         {
           MyEntryPrice=Open;
           SellShort(1,MyEntryPrice);
       }
    If(close[1]>ema[1])
    )
      {
           MyEntryPrice=Open;
           Buy(1,MyEntryPrice);
       }
    现在想改成用A_SendOrder函数来控制开仓,不考虑测试和滑点等问题,是否代码改成如下就可以了?同时MyEntryPrice值需要止损用,还是用OPEN取值:
    If(close[1]<ema[1] && A_SellPosition()==0)
         {
           MyEntryPrice=Open;
           A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);
          }
    If(close[1]>ema[1]  && A_BuyPosition()==0)
      {
           MyEntryPrice=Open;
           A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
       }

    总而言之,希望能用A_SendOrder函数达到和原来代码差不多的效果,在实盘中稍微有点价格偏差也没关系。

     

  • TB技术人员: 楼主的代码,理论上可以,但是实际执行中,A_SellPosition()、 A_BuyPosition()的值不见得能及时得到,tb程序每个tick都会触发,可能会存在重复开仓的问题

     

  • TB客服: 楼主别忘了写平仓操作哦

 

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

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


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

相关文章

    没有相关内容