开拓者期货期权程序化系统交易论坛

标题: 果断线或软件重启或刷新图表,就会再次开仓 [打印本页]

作者: zyxsir    时间: 2012-11-8 18:59:41     标题: 果断线或软件重启或刷新图表,就会再次开仓

当日开仓后如果断线或软件重启或刷新图表,就会再次开仓。我是全自动交易,万一断网后重新连接,就会多次开仓。为避免出错,就用了settbprofile函数来过滤。开仓后记录多空仓位。用模拟盘测试发现可以正常开仓,但开仓后图表上没有开仓信号标示。刷新图表后会再次开仓!
if ( 开多仓条件&& Data1.MarketPosition==0&& Data2.MarketPosition==0&&Value(GetTBProfileString(Symbol,"longMarketPosition"))!=1)
{
            
                if(data1.Close<data2.Close)
                {
                   Data1.Buy(2,data1.Close);
                }Else
                {
                   Data2.Buy(2,data2.Close);
                }
                SetTBProfileString(Symbol,"longMarketPosition",Text(1));
                SetTBProfileString(Symbol,"shortMarketPosition",Text(0));
        }Else        if (空仓条件 && Data1.MarketPosition==0&& Data2.MarketPosition==0 && Value(GetTBProfileString(Symbol,"shortMarketPosition"))!=-1)
        {
            
                if(data1.Close<data2.Close)
                {
                   Data2.SellShort(2,data2.Close);
                }Else
                {
                   Data1.SellShort(2,data1.Close);
                }
                SetTBProfileString(Symbol,"longMarketPosition",Text(0));
                SetTBProfileString(Symbol,"shortMarketPosition",Text(-1));
        }
请问如何修改才能达到目的?请大家帮助。谢谢!





欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2