Индикатор обратного движения K I представляет собой специальную комбинацию полос Боллинджера и осциллятора MACD. Это противоположный индикатор, который зависит от следующих условий:
• Сигнал покупки генерируется всякий раз, когда текущая рыночная цена находится ниже нижней полосы Боллинджера на 100 периодов, при этом значение MACD должно быть выше линии сигнала. • Сигнал продажи (короткий) генерируется всякий раз, когда текущая рыночная цена превышает верхнюю полосу Боллинджера на 100 периодов, при этом значение MACD должно быть ниже линии сигнала.
Способ использования индикатора обратного движения K
Ограничения показателя включают следующее: • Не существует четких правил выхода, которые в среднем хорошо работают на всех рынках. • Как и в случае с другими показателями, на некоторых рынках он показывает низкие результаты и не должен использоваться везде. • Ложные сигналы, как правило, возникают во время тренда на рынке, но нет проверенного способа обнаружения ложного сигнала.
обратная проверка
/*backtest start: 2022-02-07 00:00:00 end: 2022-05-07 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Sofien-Kaabar //@version = 5 indicator("K's Reversal Indicator I", overlay = true) fast = input(defval = 12, title = 'Fast') slow = input(defval = 26, title = 'Slow') signal = input(defval = 9, title = 'Signal') length = input(defval = 100, title = 'Bollinger Lookback') multiplier = input(defval = 2, title = 'Multiplier') // MACD macd_line = ta.ema(close, fast) - ta.ema(close, slow) signal_line = ta.ema(macd_line, signal) // Bollinger lower_boll = ta.sma(close, length) - (multiplier * ta.stdev(close, length)) upper_boll = ta.sma(close, length) + (multiplier * ta.stdev(close, length)) mid_line = ta.sma(close, length) // Signal buy_signal = math.min(open[1], close[1]) <= lower_boll[1] and math.max(open[1], close[1]) <= mid_line and macd_line[1] > signal_line[1] and macd_line[2] < signal_line[2] sell_signal = math.max(open[1], close[1]) >= upper_boll[1] and math.min(open[1], close[1]) >= mid_line and macd_line[1] < signal_line[1] and macd_line[2] > signal_line[2] if buy_signal strategy.entry("Enter Long", strategy.long) else if sell_signal strategy.entry("Enter Short", strategy.short)