老师,为什么下面的代码会发两次单?每次条件成熟,就发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线吗?
建议你看看委托报单后面的操作源,这个是记录报单是从哪个单元里报出来的。正常操作只会报一次单,重复报的多余的单一定是哪里设置错了
你是不是策略单元执行自动交易 然后打开k线也执行自动交易开启了绿脸
是的,勾选了。
系统设置里面是不是勾选了开平仓互转
这段代码,写到OnBarClose事件驱动里面,效果也是一样的。