A_SendOrder()实现平仓反手的功能 - TradeBlazer公式
作者:开拓者 TB 来源:cxh99.com 发布时间:2012年09月01日
- 咨询内容:
比如我手上原有空仓,现在要平空仓建多仓,程序如下:
tradePrice= Close +splitDot;
If(tradState==-1)
{
If(A_SendOrder(Enum_Buy,Enum_Exit,maxLots,tradePrice))
{
If(A_SendOrder(Enum_Buy,Enum_Entry,maxLots,tradePrice))
{
tradState=1 ;
SetTBProfileString(pKey,pKeyTradState,Text(tradState));
}
}
}
发现执行时提示资金不足,但是已近平仓了。我想是不是因为开仓命令发送太快,以至于平仓未完成就发出开仓,导致资金不足。有什么方法可以解决这个问题呢?
- TB技术人员:
平仓反手不用这么复杂。原有空单,直接buy();
原有多单,直接sellshort();
- TB客服:
是因为开仓命令发送太快,以至平仓未完成就发出开仓了。
可以使用持仓的手数来判断当前是否已经平仓完成
- 网友回复:
我遇到过BUY()、SELL()不发单的情况,我需要盘中及时发单,所以想用A_SendOrder()命令来执行。
- 网友回复:
一般应该不会不发单吧,你说的不发单可能是信号反复了。
个人感觉sendorder挺不好控制的。发来发去,都不知道哪是哪了。
你可以跑跑看看,如果没问题那就OK。