请教MarketPosition的问题

问题一:

在Bar第一次生成时,执行完OnBarOpen事件,在行情未刷新之前,是否还会执行一次OnBar事件?

举例来说:

实盘下,如果在Bar第一次生成时, 即在OnBarOpen 事件中,通过判定 MarketPosition==0,而发出了开仓动作;

那么在行情未刷新之前, OnBar 事件是否会执行? 如果执行的话,其中的MarketPosition是否为0?



问题二:

实盘下,OnBar事件中,如果我执行了开仓动作,那么行情未刷新之前、同在本次逻辑中时,后续的代码中MarketPosition 是否仍然是0?


关于marketposition的问题
MarketPosition判断问题
marketposition问题
MarketPosition出了问题
关于MarketPosition函数的问题
MarketPosition状态和实际开仓问题
关于MarketPosition或者A_BuyPosition()/A_SellPosition()的问题。
请教重复开仓的问题
MarketPosition 疑问
MarketPosition() 获取到的状态不对

1会的。bar第一次生成,先执行onbaropen,再执行onbar,如果没有其他响应的事件域,结束每次执行,等待下一次驱动

2onbar会执行,marketposition会承接onbaropen的结果,变成非0结果

问题二

onbar事件中,执行开仓动作后,在执行对应平仓指令前,marketposition肯定是非0状态


你这个三个问题都可以写诊断代码自己去验证回答

第一个问题,在两个事件域都print本次驱动的机器事件,bar数据,比较一下就知道了

第二个问题,同样的,把marketposition结果print出来就知道了

第三个也是一样的,print一下就好了

与其提问,不如自己动手写诊断,最多10分钟就有答案了。

自己写诊断验证时学习最常见的手段


好的老师,因为是周末、不开盘,想急于知道结果,所以就提问了。抱歉

quant3现在不开盘其实也能测试bar内的颗粒度了