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

为什么用SetTBProfileString2File无法有效阻止断线后重复发单 - TradeBlazer公式 [开拓者 TB]

  • 咨询内容: If(开仓条件&&Value(GetTBProfileString2File("C:\TB.log",Symbol,"MyPosition"))!=1)
            {
                    Buy(Lots,Open);
                    SetTBProfileString2File("C:\TB.log",Symbol,"MyPosition",Text(MarketPosition));
            }

    试想运行机制:

    当前满足开多仓条件,则开多仓,然后将MarketPosition置入 "MyPosition"  此时为1

    而这时断线重连,因为MyPosition取值为1  则不触发开仓   


    实际运行情况是,断线之后会重复开仓,请问问题出在什么地方?  谢谢

     

  • TB技术人员: 回复 1# rookies


    MarketPosition的值会有变化的。

     

  • TB客服: 运行机制方面的问题么?     MarketPosition值会变化是指什么问题能不能详细说一下。

    当开仓完之后,我检查过C:\TB.Log   发现  MyPosition  值为1   这个没有问题  

    这时断线并不影响MyPosition的值,为什么重连之后还会重复发单?


    如果我用SetTBProfileString2File("C:\TB.log",Symbol,"MyPosition","1");

    这样是否会解决重复发单问题?

     

  • 网友回复: 建议试试
    If(Value(GetTBProfileString2File("C:\TB.log",Symbol,"MyPosition"))!=1 && 开仓条件)
            {
                    Buy(Lots,Open);
                    SetTBProfileString2File("C:\TB.log",Symbol,"MyPosition",Text(MarketPosition));
            }

    if 括号里的条件顺序对结果似乎会有影响

     

  • 网友回复: 谢楼上,不过我想IF()内的顺序应该影响不大

    管理员能出来说说,为什么这种情况无法避免重复发单么?

 

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

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

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

 


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

相关文章

    没有相关内容