A estratégia é um sistema de acompanhamento de tendências baseado nos indicadores RSI e Supertrend, combinado com a volatilidade do ATR para o gerenciamento de risco. A estratégia determina o momento de entrada através do julgamento de sinais de tendência e áreas de sobrevenda e sobrevenda, e usa o stop loss para gerenciar o risco com base na volatilidade do mercado. A estratégia usa um período de 15 minutos e usa a regra de gerenciamento de capital de 15% por padrão.
A estratégia baseia-se principalmente nos seguintes elementos centrais:
É uma estratégia de acompanhamento de tendências com uma estrutura completa e lógica clara. Ao combinar organicamente os três indicadores Supertrend, RSI e ATR, ao mesmo tempo em que capta tendências, também se concentra no controle de risco. A vantagem central da estratégia é sua auto-adaptabilidade e estrutura de gerenciamento de risco, mas, na aplicação real, ainda é necessário ajustar e otimizar os parâmetros apropriados de acordo com a situação do mercado.
/*backtest
start: 2023-12-02 00:00:00
end: 2024-11-28 08:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("ETH Signal 15m", overlay=true)
// Backtest period
start_time = input(timestamp("2024-08-01 00:00"), title="Backtest Start Time")
end_time = input(timestamp("2054-01-01 00:00"), title="Backtest End Time")
atrPeriod = input(12, "ATR Length")
factor = input.float(2.76, "Factor", step=0.01)
rsiLength = input(12, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
[_, direction] = ta.supertrend(factor, atrPeriod)
rsi = ta.rsi(close, rsiLength)
// Ensure current time is within the backtest period
in_date_range = true
// Long condition: Supertrend buy signal and RSI not overbought
if in_date_range and ta.change(direction) < 0 and rsi < rsiOverbought
strategy.entry("Long", strategy.long)
// Short condition: Supertrend sell signal and RSI not oversold
if in_date_range and ta.change(direction) > 0 and rsi > rsiOversold
strategy.entry("Short", strategy.short)
// Optional: Add stop loss and take profit using ATR
atr = ta.atr(atrPeriod)
strategy.exit("Exit Long", "Long", stop=close - 4 * atr, limit=close + 2 * atr)
strategy.exit("Exit Short", "Short", stop=close + 4 * atr, limit=close - 2.237 * atr)