下面代码逻辑里面的SellShort,Buy价格是否头偷价行为?

下面代码逻辑里面的SellShort,Buy价格是否头偷价行为,请问是否需要优化?如何优化?Series<Numeric> openm ; Series<Numeric> closem ; Series<Bool> longCond; Series<Bool> sellCond;OnBar(ArrayRef<Integer> indexs) { openm = 变换以后得的开盘价 closem = 变换以后得的收盘价 longCond = openm和 closem计算以后得做多条件 sellCond = openm和 closem计算以后得做空条件 if (MarketPosition != -1 && longCond[1]) { SellShort(lots, Max(openm, open)); } if (MarketPosition != 1 && sellCond[1]) { Buy(lots, Min(openm, open)); } }

我理解的偷价,是买卖价格定在一个实盘无法成交的有利价格上。所以就需要看看你的成交价格是不是在实盘肯定可以成交但是,你的条件中 openm 是没有明确定义的。所以,感觉你的问题无法判断。但,用开盘价做条件,是很大可能存在偷价的。

回复:这个解释挺不错的。楼主这个代码的核心问题是openm我其实不太明白,条件里都是回溯,意味着bar开盘就确认了,那直接用open作为信号价格就行了,为什么要跑出来一个min和max的判断?