OnBarClose发两次单
2023-04-19 15:44
老师,为什么下面的代码会发两次单?每次条件成熟,就发2条一样的委托单,导致同向有2手持仓,而且还不会平掉反方向的单。
OnBarOpen(ArrayRef<Integer> indexs)
{
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
PlotNumeric(MA1,AvgValue1);
PlotNumeric(MA2,AvgValue2);
If(MarketPosition <=0 && AvgValue1[1] > AvgValue2[1])
{
Buy(1,close);
}
If(MarketPosition >=0 && AvgValue1[1] < AvgValue2[1])
{
SellShort(1,close);
}
}
折腾了几天,这个勾去掉就好了,谢谢老师。
老师,我在新的电脑上,重新安装了TBQuant 1.3.7.6 ,没有做任何设置,再测试这个策略,依然是下两笔开仓单,这个问题一直困扰我,能否在你们的电脑上简单测试一下?
委托报单后面的操作源 ,是指这个吗?这里显示的是策略运行测试
我是策略单元执行自动交易,确实同时打开了K线。
策略单元自动交易绿脸,K线橘脸,你的意思是策略单元自动交易时,不能打开K线吗?
是的,勾选了。
这段代码,写到OnBarClose事件驱动里面,效果也是一样的。
测试情况,如果改成下单需要确认,则一开一平是正常的,如果取消下单需要确认,就会下2笔同方向的单,而且不会平反方向的单,不知道有没有遇到同样问题的?