Este artículo analiza principalmente la estrategia de negociación cuantitativa desarrollada por Ravikant_sharma basada en múltiples promedios móviles exponenciales (EMA) e índice de fuerza relativa (RSI).
La estrategia utiliza 5 EMA con diferentes períodos, incluyendo líneas de 9 días, 21 días, 51 días, 100 días y 200 días.
Antes de comprar, debe cumplirse una de las siguientes condiciones:
Al mismo tiempo, el RSI debe ser superior a 65, lo que indica una fuerte tendencia alcista.
Una de las siguientes condiciones debe cumplirse antes de cerrar la posición:
Se trata de una tendencia típica que sigue una estrategia con los siguientes puntos fuertes:
Todavía hay algunos riesgos:
La estrategia se puede optimizar aún más de las siguientes maneras:
En conclusión, esta es una estrategia de seguimiento de tendencias confiable y fácil de implementar en general. Con el cruce de EMA para la dirección de la tendencia y el filtro RSI para señales falsas, los buenos resultados de las pruebas de retroceso proporcionan una base sólida para una mayor optimización de parámetros y modelos para obtener ganancias constantes. Sin embargo, los operadores aún deben tener cuidado con las reversiones bruscas y los parámetros inadecuados que representan riesgos.
/*backtest start: 2024-01-30 00:00:00 end: 2024-02-29 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Ravikant_sharma //@version=5 strategy('new', overlay=true) start = timestamp(1990, 1, 1, 0, 0) end = timestamp(2043, 12, 12, 23, 59) ema0 = ta.ema(close, 9) ema1 = ta.ema(close, 21) ema2 = ta.ema(close, 51) ema3 = ta.ema(close, 100) ema4 = ta.ema(close, 200) rsi2=ta.rsi(ta.sma(close,14),14) plot(ema0, '9', color.new(color.green, 0)) plot(ema1, '21', color.new(color.black, 0)) plot(ema2, '51', color.new(color.red, 0)) plot(ema3, '200', color.new(color.blue, 0)) //plot(ema4, '100', color.new(color.gray, 0)) //LongEntry = ( ta.crossover(ema0,ema3) or ta.crossover(ema0,ema2) or ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) // LongEntry=false if ta.crossover(ema0,ema1) if rsi2>65 LongEntry:=true if ta.crossover(ema1,ema2) if rsi2>65 LongEntry:=true LongExit = ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98) if time >= start and time <= end if(LongEntry and rsi2>60) strategy.entry('Long', strategy.long, 1) if(LongExit) strategy.close('Long')