Esta estratégia combina VWAP, EMA e RSI para o viés da tendência e segue as tendências usando uma abordagem de trailing stop.
Estratégia lógica:
Calcular o VWAP como referência de valor justo.
Calcular a EMA de 15 períodos como indicador de tendência de médio prazo.
Use o RSI para identificar níveis de sobrecompra, o RSI acima do limiar sinaliza alta.
Entrar em longo quando o fechamento exceder VWAP e EMA, e RSI sobrecomprado.
Coloque a linha de stop loss traseira uma certa percentagem abaixo do ponto de entrada.
Tome lucro fixo a um nível de pontos fixos para bloquear os ganhos.
Vantagens:
O VWAP, a EMA e o RSI melhoram a precisão de entrada em vários aspectos.
Trailing stop move-se dinamicamente para proteger os lucros.
A obtenção de lucros fixos proporciona a certeza da saída.
Riscos:
RSI e EMA propensos a sinais falsos durante os intervalos.
A calibração de stop loss requer prudência, demasiado ampla ou demasiado estreita é problemática.
Não há limite para o tamanho das perdas de uma única transação.
Em resumo, esta estratégia combina múltiplos indicadores e usa um trailing stop para seguir tendências.
/*backtest start: 2022-09-12 00:00:00 end: 2023-02-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("VWAP+15EMA with RSI", overlay=true) // Inputs ema_length = input.int(15, title="EMA Length") rsi_length = input.int(14, title="RSI Length") rsi_overbought = input.int(45, title="RSI Overbought Level") stop_loss_pct = input.float(0.5, title="Stop Loss %") take_profit_pct = input.float(3.5, title="Take Profit %") trailing_stop_pct = input.float(1, title="Trailing Stop %") // Calculate Indicators vwap = ta.vwap(hlc3) ema = ta.ema(close, ema_length) rsi = ta.rsi(close, rsi_length) // Entry Condition long_entry = close > vwap and close > ema and rsi > rsi_overbought // Exit Conditions stop_loss = strategy.position_avg_price * (1 - stop_loss_pct / 100) take_profit = strategy.position_avg_price * (1 + take_profit_pct / 100) trailing_stop = strategy.position_avg_price * (1 - trailing_stop_pct / 100) // Submit Orders if long_entry and strategy.position_size == 0 strategy.entry("Long", strategy.long) if strategy.position_size > 0 strategy.exit("Stop Loss /Profit", "Long", profit = take_profit, stop=stop_loss, trail_offset = trailing_stop) // Plot Indicators plot(vwap, title="VWAP", color=color.blue) plot(ema, title="EMA", color=color.orange) plot(rsi, title="RSI", color=color.purple) hline(rsi_overbought, title="RSI Overbought", color=color.red)