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

利用数据库控制重复开仓 [开拓者 TB]

  • 咨询内容: 我写了一个利用数据库来控制重复发单的简单例子,但是在测试中发现经常重复发单,重复发单的时候都是在两秒内发两个。请小米帮我看一下是哪里的问题吧!谢谢!

     

  • TB技术人员: Params
        Numeric L1(3);
        Numeric L2(6);
        Numeric Stoploss(2);
    Vars
        NumericSeries    shortline;
        NumericSeries    longline;
        Numeric          protectprice;   
        Bool             SonL;
        Bool             SunderL;
        String           orderstate;
    Begin
        If(!CallAuctionFilter()) Return;

        shortline=XAverage(Close,L1);
        longline=XAverage(Close,L2);
        PlotNumeric("短期均线",shortline);
        PlotNumeric("长期均线",longline);

        SonL=shortline[1]>longline[1];
        SunderL=shortline[1]<longline[1];
           
        If(BarStatus==2)
        {
                    orderstate=GetTBProfileString2File("C:\\test1.log","开仓控制","发单状态");
            If(Value(orderstate)==0 Or orderstate==InvalidString)
            {
                If(SonL)
                {
                    A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
                    SetTBProfileString2File("C:\\test1.log","开仓控制","发单状态",Text(1));
                }
                If(SunderL)
                {
                    A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);
                    SetTBProfileString2File("C:\\test1.log","开仓控制","发单状态",Text(-1));
                }
            }

            If(Value(orderstate)==1)
            {
                protectprice=A_BuyAvgPrice-Stoploss;
                            If(Q_Last<protectprice)
                {
                    A_SendOrder(Enum_Sell,Enum_Exit,1,Q_BidPrice);
                    SetTBProfileString2File("C:\\test1.log","开仓控制","发单状态",Text(0));
                }
            }
            If(Value(orderstate)==-1)
            {
                protectprice=A_SellAvgPrice+Stoploss;
                If(Q_Last>protectprice)
                {
                    A_SendOrder(Enum_Buy,Enum_Exit,1,Q_AskPrice);
                    SetTBProfileString2File("C:\\test1.log","开仓控制","发单状态",Text(0));
                }
            }
        }
    End

     

  • TB客服: 就是短期均线在长期均线上就开多一手,短期均线在长期均线下就开空一手。开仓后反向波动两点就平仓。但是测试中经常出现重复开仓、锁仓的问题。

     

  • 网友回复:
    zhoucx 发表于 2016-5-12 13:52
    Params
        Numeric L1(3);
        Numeric L2(6);

    将委托记录也发过来看一下

     

  • 网友回复: 这是下午的记录

 

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

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


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

相关文章

    没有相关内容