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

A函数重复发单问题 [开拓者 TB]

  • 咨询内容: 研究了好多坛子上的老贴和使用说明,也咨询过TB的在线客服,最后干脆把程序简化成了以下几句,用在ic上,用模拟账户测试,仍然一直重复发单,已经成交了以后都源源不断,一直提示资金不足。

    If(GetGlobalVar(0)==invalidnumeric) GetGlobalVar(0,0);
                           
    If(GetGlobalVar(0)==0 && barstatus==2 && A_BuyPosition() == 0 && A_SellPosition() == 0 && Close <= 6150)
    {
    A_SendOrder(Enum_Sell, Enum_Entry, 1 ,Q_BidPrice); //空头下单
    SetGlobalVar(0,GetGlobalVar(0)+1);
    }

    想请版主帮忙看看到底哪里出了问题?多谢!

     

  • TB技术人员: 整个公式只有这一段吗?

     

  • TB客服: 完整的公式

    Begin

    Commentary("A_BuyPosition = "+text(A_BuyPosition));
    Commentary("A_SellPosition = "+text(A_SellPosition));
    Commentary("Close = "+text(Close));

    Commentary("Q_BidPrice = "+text(Q_BidPrice));
    Commentary("barstatus = "+text(barstatus));

    If(getglobalvar(0)==invalidnumeric) setglobalvar(0,0);
                           
    If(GetGlobalVar(0)==0 && barstatus==2 && A_BuyPosition() == 0 && A_SellPosition() == 0 && Close <= 6150)
    {
    A_SendOrder(Enum_Sell, Enum_Entry, 1 ,Q_BidPrice); //空头下单

    SetGlobalVar(0,GetGlobalVar(0)+1);
    }

    Commentary("A_SendOrder(Enum_Sell, Enum_Entry, 1 ,Q_BidPrice)="+IIFString(A_SendOrder(Enum_Sell, Enum_Entry, 1 ,Q_BidPrice),"True","False"));

    End

    观测输出的指标都没发现问题在哪里。

     

  • 网友回复:
    Tracy1717 发表于 2016-4-8 13:17
    完整的公式

    Begin
    1. Commentary("A_SendOrder(Enum_Sell, Enum_Entry, 1 ,Q_BidPrice)="+IIFString(A_SendOrder(Enum_Sell, Enum_Entry, 1 ,Q_BidPrice),"True","False"));
    复制代码问题在这一句啊。。这里啥条件都没有限制的就执行到a_sendorder了,自然上面写的啥控制都无用。
    注释掉这一句就好了。

     

  • 网友回复:
    小米 发表于 2016-4-8 13:34
    问题在这一句啊。。这里啥条件都没有限制的就执行到a_sendorder了,自然上面写的啥控制都无用。
    注释掉这 ...

    啊,果然,一直找错了方向,多谢版主。

    但是新的问题是,注释掉这句之后,又完全不下单了。。。 QQ截图20160408134746.png (9.21 KB, 下载次数: 0) 2016-4-8 13:46:37 上传 下载次数: 0

    条件似乎都符合的吧

 

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

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


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

相关文章

    没有相关内容