下单函数报单价偏移问题

策略运行起来,下单函数报单价始终跟代码预期不一致具体表现为:委托价格远高于收盘价,甚至高于最高价麻烦老师看看是哪里的问题:代码如下:oninit函数中:Bool ret = data[7].SetOrderPriceOffset(0);//委托价格偏移为0OnBar函数下单部分:if(buy_batch1 && Data[7].MarketPosition == 0) { Data[7].buy(1, Data[7].Close - 8, Enum_Signal_UnCorrectPrice); Data[7].buy(1, Data[7].Close - 11, Enum_Signal_UnCorrectPrice); }策略设置如下图所示:期间尝试去掉Bool ret = data[7].SetOrderPriceOffset(0);//委托价格偏移为0手工设置取消勾选委托价格偏移,委托价格还是会偏移很多。谢谢老师

更加有效的办法,把你的测试代码和环境,完整地告诉我们,代码你可以去掉核心逻辑,或者用一个示例的逻辑来代替,只要别人也能复现问题,自然就有人能帮你找到问题。

回复:好的,我看看怎么弄,发不了附件,各种调用函数加起来上快千行代码了。

看看委托成交列表里的,委托价和理论价都是什么,和哪个价格比较相似。

回复:成交列表里:委托价和理论价是一致的,K线上的buy提示价格才是正确的。委托价和理论价不正确。

对了,oninit里面的行情有订阅函数,不知道会不会有影响: UnsubscribeBar(7); layers_C_M1[7] = SubscribeBarCounts(trade_contract, "1m", 5000);// 委托价格偏移为0Bool ret = data[7].SetOrderPriceOffset(0);Data[0].Show();Data[1].Hide();Data[2].Hide();Data[3].Hide();Data[4].Hide();Data[5].Hide(); Data[6].Hide();Data[7].Show(); =================================================昨天在不使用Bool ret = data[7].SetOrderPriceOffset(0);的情况下,将偏移设置为0,委托加偏移仍然很大。