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

请大家帮我看一下,我的跨期套利程序实盘能用吗? [开拓者 TB]

  • 咨询内容: Vars
            Numeric MyFlag(0);               
    Begin
            if ((Data1.Q_BidPrice-Data0.Q_AskPrice)>=900 && MyFlag==0)
            {
                    if(Data0.A_BuyPosition ==0) Data0.A_SendOrder(Enum_Buy ,Enum_Entry,Lots0,Q_AskPrice);
                    if(Data1.A_SellPosition==0) Data1.A_SendOrder(Enum_Sell,Enum_Entry,Lots1,Q_BidPrice);               
                    SetGlobalVar(0,1);
            }

                    MyFlag=GetGlobalVar(0);
           
            if ((Data1.Q_AskPrice-Data0.Q_BidPrice)<=500 && MyFlag==1)
            {
                    if(Data0.A_BuyPosition ==Lots0) Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition() ,Q_BidPrice);
                    if(Data1.A_SellPosition==Lots1) Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice);               
                    SetGlobalVar(0,0);
                    MyFlag=GetGlobalVar(0);
            }               
    End


    程序如上,请大家帮我看看,全局变量是这样用吗?
         想要的功能是:
         当Data1-Data0>900时,多Data0空Data1
            当Data1-Data0<500,平出。

    不知道有没有逻辑错误?

     

  • TB技术人员: 怎么没有呢?。。。

     

  • TB客服: 回复 1# xiongzai0129


    建议改成:
    1. Vars
    2.         Numeric MyFlag(0);               
    3. Begin
    4.                 MyFlag=GetGlobalVar(0);
    5.         if ((Data1.Q_BidPrice-Data0.Q_AskPrice)>=900 && MyFlag==0)
    6.         {
    7.                 if(Data0.A_BuyPosition ==0) Data0.A_SendOrder(Enum_Buy ,Enum_Entry,Lots0,Q_AskPrice);
    8.                 if(Data1.A_SellPosition==0) Data1.A_SendOrder(Enum_Sell,Enum_Entry,Lots1,Q_BidPrice);               
    9.                 SetGlobalVar(0,1);
    10.         }else  if ((Data1.Q_AskPrice-Data0.Q_BidPrice)<=500 && MyFlag==1)
    11.         {
    12.                 if(Data0.A_BuyPosition ==Lots0) Data0.A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition() ,Q_BidPrice);
    13.                 if(Data1.A_SellPosition==Lots1) Data1.A_SendOrder(Enum_Buy ,Enum_Exit,A_SellPosition(),Q_AskPrice);               
    14.                 SetGlobalVar(0,0);
    15.                 MyFlag=GetGlobalVar(0);
    16.         }               
    17. End
    复制代码建议您用模拟账户跑一段时间看看是否正常。

     

  • 网友回复:
    lh948 发表于 2012-1-6 10:06
    回复 1# xiongzai0129

    请问管理员,会出现单腿的情况么?若是出现,怎么在程序里解决这个问题呢?

     

  • 网友回复:
    lh948 发表于 2012-1-6 10:06
    回复 1# xiongzai0129

    我把策略在盘中模拟,为什么没有交易记录呢?!是看监控器里的交易日志吗?请管理员,回答下问题,不盛感激!

 

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

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

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

 


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

相关文章

    没有相关内容