Indicador de inversão de K I

Autora:ChaoZhang, Data: 2022-05-08 11:05:11
Tags:SMAEMAMACD

O indicador de inversão de K I é uma combinação especial entre as bandas de Bollinger e o oscilador MACD. É um indicador contrário que depende das seguintes condições:

• Um sinal de compra é gerado sempre que o preço de mercado atual estiver abaixo da faixa de Bollinger inferior de 100 períodos, enquanto simultaneamente, o valor do MACD deve estar acima de sua linha de sinal. • Um sinal de venda (short) é gerado sempre que o preço de mercado atual estiver acima da faixa superior de Bollinger de 100 períodos, enquanto simultaneamente o valor do MACD deve estar abaixo da sua linha de sinal.

A maneira de usar o indicador de reversão de K é combiná-lo com seu preconceito já longo / curto em um mercado lateral / intervalo, a fim de maximizar a probabilidade de sucesso.

As limitações do indicador incluem o seguinte: • Não existem regras claras de saída que funcionem bem em média nos mercados. • Tal como acontece com outros indicadores, tem um desempenho inferior em alguns mercados e não deve ser utilizado em todos os mercados. • Os sinais falsos tendem a ocorrer durante os mercados em tendência, mas não há nenhuma forma comprovada de detectar um sinal falso.

backtest

img


/*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)

Relacionados

Mais.