이 전략은 상대 강도 지수 (RSI) 를 활용하여 시장의 과잉 판매 상태를 결정합니다. RSI가 설정된 과잉 판매 한계 이하로 떨어지면 구매 신호를 생성합니다. 동시에 위험을 제어하고 이익을 잠금하기 위해 손해를 멈추고 이익을 취합니다. 전략은 단지 긴 포지션을 취하고 짧게하지 않습니다.
이 전략은 고정 스톱 손실을 설정하고 이익을 취하면서 시장에서 과판 역전 기회를 포착하기 위해 RSI 지표를 사용합니다. 전략 논리는 간단하고 명확하며 초보 사용자에게 적합합니다. 그러나이 전략에는 트렌드를 파악하는 능력이 약하고 신호 신뢰성이 개선되어야하는 것과 같은 특정 한계도 있습니다. 따라서 실용적인 응용에서는 트렌드 판단, 스톱 손실 및 이익 취득 최적화 및 더 강력한 거래 성과를 얻기 위해 지표 조합과 같은 측면에서 전략을 최적화하고 개선하는 것을 고려 할 수 있습니다.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estratégia com RSI (Apenas Compras)", overlay=true) // Parâmetros de entrada rsiLength = input.int(14, title="Período do RSI") oversold = input.int(30, title="Nível de Sobrevenda (RSI)") stopLossPercent = input.float(2.0, title="Stop Loss (%)") takeProfitPercent = input.float(5.0, title="Take Profit (%)") // Cálculo do RSI rsi = ta.rsi(close, rsiLength) // Sinal de Compra buySignal = ta.crossover(rsi, oversold) // Plotando o sinal de compra plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Compra", text="Buy") // Variáveis para Stop Loss e Take Profit var float longStop = na var float longTake = na // Entrando na posição de compra if (buySignal) entryPrice = close longStop := entryPrice * (1 - stopLossPercent / 100) longTake := entryPrice * (1 + takeProfitPercent / 100) strategy.entry("Compra", strategy.long) label.new(x=bar_index, y=low, text="Compra", style=label.style_label_up, color=color.green) // Gerenciamento de Stop Loss e Take Profit if (strategy.position_size > 0) if (close <= longStop) strategy.close("Compra", comment="Stop Loss") label.new(x=bar_index, y=low, text="Stop Loss", style=label.style_label_down, color=color.red) if (close >= longTake) strategy.close("Compra", comment="Take Profit") label.new(x=bar_index, y=high, text="Take Profit", style=label.style_label_up, color=color.green) // Plotando as linhas de Stop Loss e Take Profit plot(longStop, color=color.red, linewidth=1, title="Stop Loss Long") plot(longTake, color=color.green, linewidth=1, title="Take Profit Long")