我代码是突破前高就多,跌破前高就空,平仓也是这个逻辑,为什么会闪烁啊?有大佬帮忙看看分析一下吗
Params Numeric MA25Length(59); Numeric StopLength(1); Numeric Lots(1); Numeric RangePeriod(2); Numeric RangeRate(0.014); Vars Numeric MinPoint; Series<Numeric> MA25; Series<Numeric> Highest5; Series<Numeric> Lowest5; Bool SendOrderThisBar; Numeric hh; Numeric ll; Numeric amplitude; Bool isRange; Numeric myEntryPrice; Numeric myExitPrice; Events OnBar(ArrayRef<Integer> indexs) { If(BarStatus == 0) { MA25 = InvalidNumeric; Highest5 = InvalidNumeric; Lowest5 = InvalidNumeric; } SendOrderThisBar = False; MinPoint = MinMove * PriceScale; MA25 = AverageFC(Close, MA25Length); Highest5 = HighestFC(High, StopLength); Lowest5 = LowestFC(Low, StopLength); hh = HighestFC(High, RangePeriod); ll = LowestFC(Low, RangePeriod); If(Close[1] > 0) amplitude = (hh - ll) / Close[1]; Else amplitude = 0; isRange = (amplitude < RangeRate); PlotNumeric("MA25", MA25); If(MarketPosition > 0 And !SendOrderThisBar) { If(Low < Lowest5[1]) { myExitPrice = Max(Low, Lowest5[1] - MinPoint); If(myExitPrice > Open) myExitPrice = Open; Sell(0, myExitPrice); SendOrderThisBar = True; } } Else If(MarketPosition < 0 And !SendOrderThisBar) { If(High > Highest5[1]) { myExitPrice = Min(High, Highest5[1] + MinPoint); If(myExitPrice < Open) myExitPrice = Open; BuyToCover(0, myExitPrice); SendOrderThisBar = True; } } If(MarketPosition == 0 And !SendOrderThisBar And !isRange) { If( High > High[1]) { myEntryPrice = Min(High, High[1] + MinPoint); If(myEntryPrice < Open) myEntryPrice = Open; Buy(Lots, myEntryPrice); SendOrderThisBar = True; } Else If( Low < Low[1]) { myEntryPrice = Max(Low, Low[1] - MinPoint); If(myEntryPrice > Open) myEntryPrice = Open; SellShort(Lots, myEntryPrice); SendOrderThisBar = True; } } }为什么会闪烁啊?有大佬帮忙看看分析一下吗?Low High不是不会闪烁吗