VWAP EMA RSI Tendência Seguindo a Estratégia

Autora:ChaoZhang, Data: 2023-09-13 14:37:47
Tags:

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:

  1. Calcular o VWAP como referência de valor justo.

  2. Calcular a EMA de 15 períodos como indicador de tendência de médio prazo.

  3. Use o RSI para identificar níveis de sobrecompra, o RSI acima do limiar sinaliza alta.

  4. Entrar em longo quando o fechamento exceder VWAP e EMA, e RSI sobrecomprado.

  5. Coloque a linha de stop loss traseira uma certa percentagem abaixo do ponto de entrada.

  6. Tome lucro fixo a um nível de pontos fixos para bloquear os ganhos.

Vantagens:

  1. O VWAP, a EMA e o RSI melhoram a precisão de entrada em vários aspectos.

  2. Trailing stop move-se dinamicamente para proteger os lucros.

  3. A obtenção de lucros fixos proporciona a certeza da saída.

Riscos:

  1. RSI e EMA propensos a sinais falsos durante os intervalos.

  2. A calibração de stop loss requer prudência, demasiado ampla ou demasiado estreita é problemática.

  3. 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)


Mais.