能定制一个确保先平仓,后开仓的buy/sellshort系统函数吗?
能定制一个确保先平仓,后开仓的buy/sellshort系统函数吗? 平仓和开仓分开写,在平仓后用通过设置记录时间的全局变量来记录平仓的时间,在设定一个等待时间如10秒,写一句小于等待时间就返回就应该可以解决 加入持仓判断。例如:
持多仓时
if(marketposition==1 && 平多仓条件)
{
sell(..);
}
if(marketposition==0)
{
sellshort(..);
} 谢谢楼上两位,问题是要确保。没有实际帐户仓位检测,就做不到这一点。我加入了实际仓位检测,又遭遇了倒数第二Bar重复发单问题。头痛!! 检测账户实际持仓要用A函数才能检测,即A_BuyPosition()>0 多仓大于0;marketposition只是图表上多空方向判别,但A函数对buy,sell无用,这时只能用A_SendOrder进行平仓了
回复 5# 欲速不达 的帖子
是的,你的理解正确的A_SendOrder才能操作实际的账户,buysell取到的持仓是根据图表上的信号的
使用buysell时,用CurrentContracts取得持仓合约数,正数为多仓,负数为空仓 谢谢楼上两位。实盘测试,A_totalposition和Buy/sell配合可以达到先平后开的目标。但不要buy/sell的倒数第二Bar发单问题解决不了。看来只能改A_sendorder了。
奇怪,直接反手时,buy/sell不存在倒数第二Bar发单问题。引入A_totalposition后就发生问题了。TB的倒数第二Bar重算绝对不是简单的重新计算一遍,吗marketposition, currentbar==barcount-2等过滤控制都无法屏蔽重复发单。
真得建议TB重新考虑倒数第二Bar重算的机制,个人认为弊大于利。
页:
[1]
