BUY 指令自动平仓 开仓顺序问题

BUY 指令自动平仓 开仓顺序问题

BUY 指令实盘时发现 ,持有空仓1手

触发条件,但程序先开多仓,再触发平空仓 ,因为开多仓在平空仓前,没有平空资金不足,导致开多仓失败(显示资金不足), 请问如何修改?

If  ( MarketPosition <> 1  && zhisun_xinhao ) 
            {   
            Buy(Lots ,Max(Open,min_Low) );                       
            } 

 

平仓顺序,已解决。
buy下单是属于限价指令还是市价指令?
回测时buy指令失败的原因?
关于开仓价格问题(buy Open\close\High\Low)
请教一个问题,自动交易开仓后手工加仓,最后平仓的时候为什么不是一起平掉,程序那里平仓数量是(0)的
开仓后无法平仓
关于自动平仓的问题(要删了)
收盘前平仓、延时开仓(代码共享)
委托平仓和开仓成交刚好在同一刻的问题
手动开场后自动交易平仓问题

If  ( MarketPosition <> 1  && zhisun_xinhao ) 
            {   

            Buytocover (Lots ,Max(Open,min_Low) );  --------如果增加这段代码,先进行平仓,可以吗?
            Buy(Lots ,Max(Open,min_Low) );                       
            } 

您现在的问题,不是平仓指令和开仓指令发出去的顺序问题。因为即便是平仓指令先发出去再发开仓指令,两者之间的时间差,也无法等到平仓指令的资金回来,所以开仓指令还是会报资金不足的。

如果不改代码,用TB的监控器功能,开仓资金不足成交不了后,监控器接管重新下单,这样可行吗?

可以用监控器同步的

平空仓和开多仓的命令是同时发出的,因为回报不可能那么快,所以会出现资金不足的情况。解决办法:

(1)增加资金,这是最好最简单的选择;

(2)如果不能增加资金,但具备很强的编程能力,可以用A函数来写策略,每次平仓反手会等平仓指令成交后,再发出开仓指令;

(3)如果不会用A函数写策略,可以参考 http://www.tbquant.net/dist/index.html#/?navigate=&cid=510&position=toc48 案例8 试下