
A estratégia de RSI de quadros múltiplos é uma estratégia que usa um conjunto de indicadores RSI e aleatórios para determinar o mercado de overbought e oversold em quadros múltiplos. A estratégia combina RSI e indicadores aleatórios em quatro quadros, usando sua média para determinar a tendência geral do mercado e a tendência de overbought e oversold para aproveitar a vantagem de cada indicador de quadros.
O RSI é um forte indicador de sobrecompra e sobrevenda, baseado na volatilidade das ações em um determinado período de tempo. O RSI oscila entre 0 e 100, geralmente, o RSI maior que 70 é sobrecompra e menor que 30 é sobrevenda.
Esta estratégia utiliza 14 indicadores RSI de duração e obtém os valores RSI de 1 mês, 1 dia, 4 horas e 1 hora em 4 quadros de tempo.
O indicador aleatório %K é um indicador que mostra que o mercado está sobre comprado ou sobre vendido, com valores que variam entre 0 e 100. Em geral, um indicador aleatório maior que 80 é sobre comprado e menor que 20 é sobre vendido.
Nesta estratégia, o indicador aleatório %K tem a duração de 14, e suaviza para 3, obtendo igualmente os valores dos 4 prazos acima mencionados.
A chave da estratégia é calcular a média dos dois indicadores acima nos 4 prazos de tempo para aproveitar as vantagens de cada período de tempo e determinar a tendência geral do mercado. A fórmula de cálculo específica é a seguinte:
A média do RSI = (linha lunar do RSI + linha diária do RSI + RSI 4 horas + RSI 1 hora) / 4
Média do indicador aleatório = (línea lunar aleatória + linha solar aleatória + indicador aleatório 4 horas + indicador aleatório 1 hora) / 4
Quando a média RSI é menor que 30 e a média do indicador aleatório é menor que 20, faça mais; quando a média RSI é maior que 70 e a média do indicador aleatório é maior que 80, faça um zero.
Após o aumento, a posição está em equilíbrio quando a média do indicador aleatório é maior que 70 e a média do RSI é maior que 50; após o corte, a posição está em equilíbrio quando a média do indicador aleatório é menor que 30 e a média do RSI é menor que 50
A maior vantagem desta estratégia é a combinação de dois indicadores e vários períodos de tempo ao mesmo tempo, o que pode aumentar consideravelmente a confiabilidade dos sinais de negociação e evitar o máximo de falsos sinais. As vantagens específicas são as seguintes:
Os indicadores RSI e aleatórios são mutuamente verificados. O uso de um único indicador pode gerar falsos sinais, enquanto a estratégia pode aumentar a precisão do sinal combinando os dois indicadores.
A análise de múltiplos períodos de tempo pode aumentar a precisão do julgamento. Por exemplo, a linha lunar e a linha solar mostram um excesso de compra, mas 4 horas e 1 hora não são totalmente sobrecompras, o que indica que a tendência pode continuar. Se todos os períodos de tempo estiverem de acordo, o sinal é mais confiável.
É mais fácil identificar pontos de inflexão estrutural. Se houver uma ruptura de suporte/resistência em vários períodos de tempo, pode-se determinar que a tendência atual está se transformando.
O cálculo automático do valor médio do indicador simplifica a operação. Não há necessidade de cálculo manual, o código completa automaticamente a extração de dados, o cálculo do indicador e a medição, reduzindo o trabalho.
O principal risco desta estratégia é que, como todas as estratégias de análise técnica, não é possível evitar completamente a probabilidade de ser enganado e gerar falsos sinais. Os principais riscos são:
Uma reversão de tendência de curto prazo leva a uma paralisação. Por exemplo, durante a manutenção de várias posições, a linha curta de preço retorna após a ruptura da sustentação para baixo. Quando a lógica de posicionamento estável da estratégia requer um stop loss imediato, mas pode causar perdas de curto prazo.
O fracasso de um ponto crítico de apoio/resistência leva ao fracasso do tracking stop. Se um ponto crítico de apoio ou resistência for rompido, o preço de parada original pode ser diretamente quebrado, causando um prejuízo maior.
A configuração incorreta do período de tempo pode causar erros de julgamento. Se o período de tempo for muito longo ou muito curto, pode causar um erro de julgamento no indicador.
A dispersação dos indicadores causa o efeito Dunkirk. Indicadores com um período de tempo mais alto mostram um excesso de compra e indicadores com um período de tempo mais baixo mostram um excesso de venda, o indicador médio não reflete a realidade.
As soluções para o risco incluem: otimizar a estratégia de parada de perdas, rastrear a dinâmica de suporte / resistência, ajustar os parâmetros do período de tempo e adicionar mecanismos de filtragem.
Considerando os riscos acima mencionados, a estratégia também pode ser otimizada em várias direções:
Otimizar o mecanismo de parada de perdas, implementar o rastreamento de parada de perdas e parada de perdas em lotes. Isso pode controlar o risco de perda individual, garantindo lucro.
Um quadro de tempo mais alto, como o aumento da linha de um trimestre. Isso pode usar o filtro de tendências de nível maior para desviar sinais. Quando os indicadores divergem, dê prioridade ao quadro de tempo mais alto.
Aumentar a verificação multi-área do volume de tráfego. Combinar a variação do volume de tráfego para avaliar o desvio inferior e superior, evitando a manipulação de movimentos de zombies.
Optimizar o tempo de entrada. Pode esperar por uma entrada de ruptura perto de importantes suportes/resistências históricas, ou esperar por um ponto de compra de retorno ideal.
Aumento do Stop Loss Adaptativo. O Stop Loss Dinâmico pode ser calculado e ajustado de acordo com a taxa de flutuação e o ATR do período mais recente.
A estratégia de RSI de quadros múltiplos e indicadores aleatórios é uma estratégia de negociação clara e confiável, que determina o intervalo de sobrevenda e sobrevenda do mercado usando a combinação de indicadores RSI e indicadores aleatórios em vários quadros de tempo. Sua maior vantagem é que a combinação de indicadores e quadros de tempo se verifica mutuamente, evitando o risco de falsos sinais e falsos sinais.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
////////////////////////////////////////// MTF Stochastic & RSI Strategy 🚥 ©️ bykzis /////////////////////////////////////////
//
// *** Inspired by "Binance CHOP Dashboard" from @Cazimiro and "RSI MTF Table" from @mobester16 *** and LOT OF COPY of Indicator-Jones MTF Scanner
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//@version=5
strategy('MTF RSI & STOCH Strategy🚥 by kzi', overlay=false,initial_capital=100, currency=currency.USD, commission_value=0.01, commission_type=strategy.commission.percent)
// Pair list
var string GRP1 = '══════════ General ══════════'
overbought = input.int(80, 'Overbought Level', minval=1, group=GRP1)
oversold = input.int(20, 'Oversold Level', minval=1, group=GRP1)
/// Timeframes
var string GRP2 = '══════════ Timeframes ══════════'
timeframe1 = input.timeframe(title="Timeframe 1", defval="W", group=GRP2)
timeframe2 = input.timeframe(title="Timeframe 2", defval="D", group=GRP2)
timeframe3 = input.timeframe(title="Timeframe 3", defval="240", group=GRP2)
timeframe4 = input.timeframe(title="Timeframe 4", defval="60", group=GRP2)
// RSI settings
var string GRP3 = '══════════ RSI settings ══════════'
rsiLength = input.int(14, minval=1, title='RSI length', group=GRP3)
rsiSource = input(close, 'RSI Source', group=GRP3)
rsioverbought = input.int(70, 'RSI Overbought Level', minval=1, group=GRP3)
rsioversold = input.int(30, 'RSI Oversold Level', minval=1, group=GRP3)
/// Get RSI values of each timeframe /////////////////////////////////////////////////////
rsi = ta.rsi(rsiSource, rsiLength)
callRSI(id,timeframe) =>
rsiValue = request.security(id, str.tostring(timeframe), rsi, gaps=barmerge.gaps_off)
rsiValue
RSI_TF1 = callRSI(syminfo.tickerid, timeframe1)
RSI_TF2 = callRSI(syminfo.tickerid, timeframe2)
RSI_TF3 = callRSI(syminfo.tickerid, timeframe3)
RSI_TF4 = callRSI(syminfo.tickerid, timeframe4)
/////// Calculate Averages /////////////////////////////////////////////////////////////////
calcAVG(valueTF1, valueTF2, valueTF3, valueTF4) =>
math.round((valueTF1 + valueTF2 + valueTF3 + valueTF4) / 4, 2)
AVG=calcAVG(RSI_TF1, RSI_TF2, RSI_TF3, RSI_TF4)
// Stochastic settings
var string GRP4 = '══════════ Stochastic settings ══════════'
periodK = input.int(14, '%K length', minval=1, group=GRP4)
smoothK = input.int(3, 'Smooth K', minval=1, group=GRP4)
stochSource = input(close, 'Stochastic Source', group=GRP4)
stochoverbought = input.int(70, 'Stochastic Overbought Level', minval=1, group=GRP4)
stochoversold = input.int(30, 'Stochastic Oversold Level', minval=1, group=GRP4)
/// Get Stochastic values of each timeframe ////////////////////////////////////////////////
stoch = ta.sma(ta.stoch(stochSource, high, low, periodK), smoothK)
getStochastic(id,timeframe) =>
stochValue = request.security(id, str.tostring(timeframe), stoch, gaps=barmerge.gaps_off)
stochValue
Stoch_TF1 = getStochastic(syminfo.tickerid, timeframe1)
Stoch_TF2 = getStochastic(syminfo.tickerid, timeframe2)
Stoch_TF3 = getStochastic(syminfo.tickerid, timeframe3)
Stoch_TF4 = getStochastic(syminfo.tickerid, timeframe4)
AVG_STOCH=calcAVG(Stoch_TF1, Stoch_TF2, Stoch_TF3, Stoch_TF4)
plot(AVG, color = color.blue, title='RSI')
plot(AVG_STOCH, color = color.yellow,title='STOCH')
hline(rsioverbought,color=color.red)
hline(rsioversold, color=color.lime)
hline(50, color=color.white)
//============ signal Generator ==================================//
if AVG <= rsioversold and AVG_STOCH <=stochoversold
strategy.entry('Buy_Long', strategy.long)
strategy.close("Buy_Long",when=(AVG_STOCH >=70 and AVG >=50 and close >=strategy.position_avg_price),comment="Long_OK")
if AVG >=rsioverbought and AVG_STOCH >=stochoverbought
strategy.entry('Buy_Short', strategy.short)
strategy.close("Buy_Short",when=(AVG_STOCH <=30 and AVG <=50 and close <=strategy.position_avg_price),comment="Short_OK")
///////////////////////////////////////////////////////////////////////////////////////////