
A estratégia de tendência de pirataria do RSI é uma combinação de indicadores de pirataria baseados em indicadores do RSI para determinar entradas e saídas de tendências. Ela usa três médias - a linha de pirataria superior, a linha de dentes e a linha de lábios, com construção de RSI de diferentes períodos. Faça mais quando a linha de dentes atravessa a linha de lábios e a linha de RSI superior é superior à linha de dentes; e faça vazio quando a linha de lábios atravessa a linha de dentes e a linha de RSI superior é inferior à linha de dentes.
A estratégia de tendência de piratas do RSI usa o indicador RSI para construir três médias móveis do indicador de piratas. A configuração específica é a seguinte:
A lógica de julgamento do sinal de entrada é:
Sinais de múltiplos cabeçalhos: Faça mais quando o fio do lábio é usado na linha dentária e o fio superior é colocado acima da linha dentária.
Sinal de cabeça vazia: quando o fio do lábio passa abaixo da linha do dente e o fio superior fica abaixo da linha do dente, faça vazio.
A estratégia estabelece simultaneamente o stop loss e o stop loss:
A estratégia de pescar tendências do RSI tem as seguintes vantagens:
A estratégia de pescar tendências do RSI também apresenta os seguintes riscos:
A intersecção da linha da gengiva com a linha do lábio pode causar falsas rupturas, resultando em prejuízos desnecessários. Pode-se ajustar adequadamente os parâmetros do ciclo para reduzir a probabilidade de falsas rupturas.
A configuração de parada de perda pode ser muito radical, com uma maior probabilidade de parada desnecessária. O alcance de parada de perda pode ser amenizado adequadamente ou outros requisitos podem ser adicionados como pré-requisitos para a ativação de parada de perda.
Se a situação for aguda, a perda ou a falta de garantia não produzirão o efeito esperado. Nesse caso, a intervenção manual será necessária para a perda ser interrompida em tempo hábil.
Quando os comutadores multi-espaço são frequentes, a pressão sobre as despesas de transação é maior. As condições de entrada podem ser adequadamente relaxadas, reduzindo a repetição desnecessária.
A estratégia de pescar tendências do RSI pode ser otimizada de várias maneiras:
Otimizar a configuração de parâmetros da linha de pesca, ajustar os parâmetros de ciclo e encontrar a melhor combinação de parâmetros
Otimização da lógica de entrada de condições, como filtragem de sinais como novos indicadores de volume de transação
Otimização da estratégia de stop-loss para que seja mais compatível com a situação e com os níveis de garantia
Aumentar o mecanismo de tratamento de incidentes e evitar a exposição de comportamentos anormais
Aumentar os algoritmos de abertura de posições, controlar a proporção de capital investido e evitar riscos
A estratégia de tendência de RSI é uma estratégia de acompanhamento de tendências confiável e fácil de usar. Ela usa o indicador de pescador para determinar a direção da tendência, em conjunto com o indicador RSI para definir o limiar de referência, para bloquear efetivamente a tendência e definir um ponto de saída razoável.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=3
// RSI Alligator
// Forked from Author: Reza Akhavan
// Updated by Khalid Salomão
strategy("RSI Alligator Strategy", overlay=false, pyramiding=0, default_qty_type=strategy.cash, default_qty_value=25000, initial_capital=25000, commission_type=strategy.commission.percent, commission_value=0.15, slippage=3)
// === TA LOGIC ===
overBought = input(70, minval=0, maxval=100, title="Over bought")
overSold = input(30, minval=0, maxval=100, title="Over sold")
jawPeriods = input(5, minval=1, title="Jaw Periods")
jawOffset = input(0, minval=0, title="Jaw Offset")
teethPeriods = input(13, minval=1, title="Teeth Periods")
teethOffset = input(0, minval=0, title="Teeth Offset")
lipsPeriods = input(34, minval=1, title="Lips Periods")
lipsOffset = input(0, minval=0, title="Lips Offset")
jaws = rsi(close, jawPeriods)
teeth = rsi(close, teethPeriods)
lips = rsi(close, lipsPeriods)
plot(jaws, color=green, offset=jawOffset, title="Jaw")
plot(teeth, color=red, offset=teethOffset, title="Teeth")
plot(lips, color=blue, offset=lipsOffset, title="Lips")
//
// === Signal logic ===
//
LONG_SIGNAL_BOOLEAN = crossover(teeth, lips) and jaws > teeth
SHORT_SIGNAL_BOOLEAN = crossunder(teeth, lips) and jaws < teeth
// === INPUT BACKTEST DATE RANGE ===
strategyType = input(defval="Long Only", options=["Long & Short", "Long Only", "Short Only"])
FromMonth = input(defval = 7, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2020, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
window() => true
// === STRATEGY BUY / SELL ENTRIES ===
// TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal
// long and short entries
buy() => window() and LONG_SIGNAL_BOOLEAN
sell() => window() and SHORT_SIGNAL_BOOLEAN
if buy()
if (strategyType == "Short Only")
strategy.close("Short")
else
strategy.entry("Long", strategy.long, comment="Long")
if sell()
if (strategyType == "Long Only")
strategy.close("Long")
else
strategy.entry("Short", strategy.short, comment="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)