下单函数报单价偏移问题

策略运行起来,下单函数报单价始终跟代码预期不一致

具体表现为:委托价格远高于收盘价,甚至高于最高价

麻烦老师看看是哪里的问题:

代码如下:

oninit函数中:

Bool ret = data[7].SetOrderPriceOffset(0);//委托价格偏移为0

OnBar函数下单部分:

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

手工设置取消勾选委托价格偏移,委托价格还是会偏移很多。

谢谢老师

选股回测的下单价格错误
关于发单价格问题
请问委托偏移功能怎么设置开仓委托偏移,平仓不委托偏移。
委托偏移
【TBQuant3-新手指南】 委托偏移是什么?
委托偏移设置
委托偏移功能关闭问题
挂单价格
关于委托偏移的问题
A函数下单问题

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

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

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

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

对了,oninit里面的行情有订阅函数,不知道会不会有影响:

UnsubscribeBar(7);

layers_C_M1[7] = SubscribeBarCounts(trade_contract, "1m", 5000);

// 委托价格偏移为0

Bool 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,委托加偏移仍然很大。