Esta estrategia combina VWAP, EMA y RSI para el sesgo de tendencia y sigue las tendencias utilizando un enfoque de trailing stop.
Estrategia lógica:
Se calculará el VWAP como valor razonable de referencia.
Calcular la EMA de 15 períodos como indicador de tendencia a medio plazo.
Utilice el RSI para identificar los niveles de sobrecompra, el RSI por encima del umbral indica alza.
Entra largo cuando el cierre excede VWAP y EMA, y el RSI está sobrecomprado.
Establezca la línea de stop loss trasera un cierto porcentaje por debajo del punto de entrada.
Tome ganancias fijas a nivel de puntos fijos para bloquear las ganancias.
Ventajas:
VWAP, EMA y RSI mejoran la precisión de entrada desde múltiples aspectos.
Trailing stop se mueve dinámicamente para proteger las ganancias.
La obtención de beneficios fijos proporciona seguridad en la salida.
Riesgos:
RSI y EMA son propensos a señales falsas durante los rangos.
La calibración de la pérdida de parada requiere prudencia, demasiado amplia o demasiado estrecha es problemática.
No hay límite en el tamaño de la pérdida de una sola operación.
En resumen, esta estrategia combina múltiples indicadores y utiliza un trailing stop para seguir tendencias.
/*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)