下面代码是否是否存在偷价行为?

老师系统自带的redrover_L代码,开仓触发条件为当根K线的最高价超过上根k线的阻力线,就以当根k线的开盘价和前根k线的阻力线的最高价开多,是否存在偷价行为?因为当根K线的最高价往往发生在开盘价的后面,开仓触发之前。 // 计算当前K线的加权均值、阻力线和支撑线 WAvgPrice = (High + Low + (Close * 2)) / 4; Resistance = (WAvgPrice * 2) - Low; Support = (WAvgPrice * 2) - High; // 输出指标 PlotNumeric("Resistance",Resistance[1]); PlotNumeric("Support",Support[1]); // 计算ATR ATRVal = AvgTrueRange(ATRLength); // 开仓 If(MarketPosition == 0 And High >= Resistance[1] + MinMove * PriceScale And Vol > 0) { Buy(0, Max(Open,Resistance[1] + MinMove * PriceScale)); }

因为当根K线的最高价往往发生在开盘价的后面,开仓触发之前。 【回复】最高价突破前根K线的阻力线,信号价格正常来说,就是前K阻力线。但因为开盘价在前,如果开盘价直接跳过阻力线,我们是不可能等以后价格回到阻力线才发信号,所以取了两者的高点作为信号价,这样做正是为了防止偷价。

回复:你可能觉得最高价突破,信号价就应该是最高价,现在还可能以Open作为信号,所以你觉得偷价了。实际不是这样的,我们虽然用最高价判断是否突破,但最高价突破后,还可能有更高的最高价,但信号价不应该随着最高价上升而上升的。