下面代码逻辑里面的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));

       }

 }

代码是否有偷价问题
关于策略是否偷价问题
如何避免偷价
请教用Buy SellShort等开平仓时,Open是什么价格
关于偷价问题
咨询偷价问题
关于策略编写的偷价问题
偷价问题
关于偷价
BUY 手数@价格,这个价格是成交价还是委托价或者其他

我理解的偷价,是买卖价格定在一个实盘无法成交的有利价格上。

所以就需要看看你的成交价格是不是在实盘肯定可以成交

但是,你的条件中 openm  是没有明确定义的。

所以,感觉你的问题无法判断。

但,用开盘价做条件,是很大可能存在偷价的。

这个解释挺不错的。

楼主这个代码的核心问题是openm

我其实不太明白,条件里都是回溯,意味着bar开盘就确认了,那直接用open作为信号价格就行了,为什么要跑出来一个min和max的判断?