Esta é uma estratégia de negociação de criptomoedas simples baseada no Índice de Força Relativa (RSI). Ela gera sinais de negociação calculando os valores do RSI para determinar se o mercado está sobrecomprado ou sobrevendido. A estratégia é adequada para negociação de médio prazo.
A estratégia primeiro calcula o valor do RSI de 14 dias. Em seguida, julga se o valor do RSI está abaixo de 30, a linha de sobrevenda. Se assim for, um sinal de compra é gerado. Se o RSI exceder 70, a linha de sobrecompra, um sinal de venda é gerado.
Quando o valor do RSI cruza acima da linha de sobrevenda, as posições longas são fechadas.
Os riscos acima podem ser mitigados ajustando dinamicamente os parâmetros, incorporando múltiplos indicadores e definindo o stop loss.
A estratégia pode ser otimizada a partir dos seguintes aspectos:
Combinar com médias móveis e outros indicadores para formar confirmações múltiplas;
Adicionar regras de avaliação da tendência para evitar mercados instáveis;
Estabelecer regras de tamanho da negociação ou de stop loss para controlar os riscos;
Otimizar os parâmetros do RSI para se adequar à natureza de alta frequência da negociação de criptomoedas.
Em geral, esta é uma estratégia RSI muito básica, gerando sinais de negociação identificando níveis de sobrecompra / sobrevenda usando um indicador maduro. Os prós são simplicidade e riscos práticos relativamente pequenos. Mas a dependência de um único indicador também torna possíveis falsos sinais. Podemos estendê-lo e otimizá-lo de muitas maneiras para torná-lo mais robusto e adaptável.
/*backtest start: 2024-02-14 00:00:00 end: 2024-02-21 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Larry Williams Simple Crypto Strategy", overlay=true) // Параметры стратегии length = input(14, title="Length") overboughtLevel = input(70, title="Overbought Level") oversoldLevel = input(30, title="Oversold Level") // Вычисление RSI rsiValue = rsi(close, length) // Определение условий для входа в позицию enterLong = rsiValue < oversoldLevel enterShort = rsiValue > overboughtLevel // Открытие позиции if enterLong strategy.entry("Buy", strategy.long) if enterShort strategy.entry("Sell", strategy.short) // Закрытие позиции if enterLong and rsiValue > oversoldLevel strategy.close("Buy") if enterShort and rsiValue < overboughtLevel strategy.close("Sell") // Отрисовка уровней hline(overboughtLevel, "Overbought", color=color.red) hline(oversoldLevel, "Oversold", color=color.green)