为什么我代码写的很清楚开盘价在上轨上或下轨下禁止开仓 加载策略却屡次在布林带轨道外开仓呢?

为什么我代码写的很清楚开盘价在上轨上或下轨下禁止开仓 加载策略却屡次在布林带轨道外开仓呢?这个问题怎么解决 请老师指教 Range [0:0] { //计算均线 If(Length1 > 0) MA5 = AverageFC(Close, Length1); If(Length2 > 0) MA10 = AverageFC(Close, Length2); PlotNumeric("MA5", MA5); PlotNumeric("MA10", MA10); // 计算布林带(简单移动平均) MiddleBand = Average(Close, Length); StdDev = StandardDev(Close, Length, 2);// 计算标准差 UpperBand = MiddleBand + Width * StdDev;// 计算布林上轨 LowerBand = MiddleBand - Width * StdDev;// 计算布林下轨 PlotNumeric("data[0].MiddleBand", data[0].MiddleBand); PlotNumeric("data[0].UpperBand", data[0].UpperBand); PlotNumeric("data[0].LowerBand", data[0].LowerBand); data[0].bld1sk = data[0].MA5[1]>data[0].MA5[2] and data[0].Open<data[0].UpperBand; data[0].bld1xk = data[0].MA5[1]<data[0].MA5[2] and data[0].Open>data[0].LowerBand; finalCondB = data[0].bld1sk and data[1].bldsk; finalCondS = data[0].bld1xk and data[1].bldxk; // ============ ============ ============ 开多仓& 开空仓 ============ ============ ============ If(MarketPosition == 0 and finalCondB) { Buy(Lots, Open); my_lentry_price = Open; } Else If(MarketPosition == 0 and finalCondS) { SellShort(Lots, Open); my_sentry_price = Open; } } //5分钟图层 Range [1:1] { //计算均线 If(Length1 > 0) data[1].MA5 = AverageFC(Close, Length1); If(Length2 > 0) data[1].MA10 = AverageFC(Close, Length2); // 计算布林带(简单移动平均) data[1].MiddleBand = Average(Close, Length); data[1].StdDev = StandardDev(Close, Length, 2);// 计算标准差 data[1].UpperBand = data[1].MiddleBand + Width * data[1].StdDev;// 计算布林上轨 data[1].LowerBand = data[1].MiddleBand - Width * data[1].StdDev;// 计算布林下轨 PlotNumeric("data[1].MiddleBand", data[1].MiddleBand); PlotNumeric("data[1].UpperBand", data[1].UpperBand); PlotNumeric("data[1].LowerBand", data[1].LowerBand); data[1].bldsk = data[1].MA5[1]>data[1].MA5[2] and data[1].Open<data[1].Upperband; data[1].bldxk = data[1].MA5[1]<data[1].MA5[2] and data[1].Open>data[1].Lowerband; }

可以把发单条件里面用到的MarketPosition 、finalCondB、finalCondS这些变量以及bld1sk 、MA、UpperBand等等计算用到的变量用commentary输出到图表上看一下是哪个变量没有控制好导致的开仓。信号不会无缘无故出现的,肯定是满足了开仓条件才会出现的。