清仓指令如下,最后1min成交都很活跃,为什么执行以下命令后账号中仍然有持仓呢,如何解决?
//尾盘清仓
if(MarketPosition == 1 and ((time >= 0.145900 and time <= 0.150000) or (time >= 0.225900 and time <= 0.230000) or (time >= 0.022900 and time <= 0.02300)))
{
Sell(0, low);
}else if(MarketPosition == -1 and ((time >= 0.145900 and time <= 0.150000) or (time >= 0.225900 and time <= 0.230000) or (time >= 0.022900 and time <= 0.02300)))
{
BuyToCover(0, high);
}
看其他人已经回的差不多了
buy sell 这个处理的是虚拟信号持仓
也就是说,如果你图表上当前开了仓,sell 和buytocover才有用,平掉的是你图表上持有的仓位。
举个例子,图表上现在有5手多,账户里有10手多,执行sell0,那就是平图表的5手多,实际报单平多5手,还剩5手多。
看你的图
用time没问题
账户没成交
就要考虑图层和账户盘中仓位不一致
就是策略有信号闪烁
图表是虚拟账户
和你的发单账户完全没关系
模拟盘或实盘
其实要用A函数
还有
尽可能写成通用模式
有函数读取一天交易的段落
放在了数组里
剔除10:15、11:30两个段
夜盘好几个品种结束时间是不固定的
否则就是日期时间格式问题
用endtringdatetime 和 date+time对比
去掉
else?