A estratégia de negociação do Alligator RSI é uma estratégia de negociação quantitativa que usa uma combinação de múltiplas médias móveis do Relative Strength Index (RSI) para determinar tendências de mercado e gerar sinais de negociação.
A estratégia de negociação do Alligator RSI utiliza três linhas RSI - 5 períodos, 13 períodos e 34 períodos. A linha RSI de 5 períodos é chamada de linha
A chave está em capturar cruzes entre linhas de RSI de curto e longo prazo para avaliar a relação entre tendências de curto e longo prazo e identificar oportunidades de reversão.
A estratégia de negociação do Alligator RSI tem as seguintes vantagens:
A estratégia de negociação do Alligator RSI também apresenta os seguintes riscos:
Estes riscos podem ser mitigados através da combinação de indicadores adicionais, da otimização dos parâmetros e do ajustamento adequado do dimensionamento das posições.
A estratégia de negociação do Alligator RSI pode ser otimizada das seguintes maneiras:
A estratégia de negociação do Alligator RSI usa cruzes do RSI MA para capturar oportunidades de reversão do mercado. É simples, utilizável para negociação de algo, mas tem algumas falhas.
/*backtest start: 2022-11-30 00:00:00 end: 2023-12-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("RSI Alligator", overlay=false) jaws = rsi(close, 34) teeth = rsi(close, 5) lips = rsi(close, 13) plot(jaws, color=blue, title="Jaw") plot(teeth, color=green, title="Teeth") plot(lips, color=red, title="Lips") longCondition = crossover(rsi(close, 13), rsi(close, 34)) and (rsi(close, 5) > rsi(close, 34)) longCondition1 = crossover(rsi(close, 5), rsi(close, 34)) and (rsi(close, 13) > rsi(close, 34)) if (longCondition) strategy.entry("Long", strategy.long) if (longCondition1) strategy.entry("Long", strategy.long) shortCondition = crossunder(rsi(close, 13), rsi(close, 34)) and (rsi(close, 5) < rsi(close, 34)) shortCondition1 = crossunder(rsi(close, 5), rsi(close, 34)) and (rsi(close, 13) < rsi(close, 34)) if (shortCondition) strategy.entry("Short", strategy.short) if (shortCondition1) strategy.entry("Short", strategy.short) // === BACKTESTING: EXIT strategy === sl_inp = input(10, title='Stop Loss %', type=float)/100 tp_inp = input(90, title='Take Profit %', type=float)/100 stop_level = strategy.position_avg_price * (1 - sl_inp) take_level = strategy.position_avg_price * (1 + tp_inp) strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)