Esta estrategia utiliza un doble sistema de promedio móvil e índice de fuerza relativa, combinado con la volatilidad histórica de la acción, para automatizar las señales de compra y venta para el comercio de acciones.
La estrategia aprovecha el promedio móvil de 150 semanas y el promedio móvil rápido de 50 días para formar un sistema de MA dual. También utiliza un MA ultra rápido de 20 días. Cuando el precio cruza por encima del MA de 150 semanas, señala un comienzo de tendencia alcista. Cuando el precio cruza por debajo del MA de 50 días, señala una tendencia bajista. Esto nos permite comprar en el camino hacia arriba y vender en el camino hacia abajo.
Además, la estrategia también utiliza el precio más alto anualizado basado en la volatilidad y el índice de fuerza relativa para determinar puntos de entrada específicos.
El sistema de doble MA puede identificar eficazmente los cambios de tendencia para perseguir al alza y detener la bajada.
La medida de volatilidad y el RSI aseguran que no seamos golpeados en los mercados laterales.
El MA rápido de 20 días permite un stop loss más rápido.
Hay un poco de retraso, incapaz de realizar el stop loss rápidamente.
No se establece un stop loss, podría llevar a grandes pérdidas.
Falta de optimización de parámetros, parámetros establecidos bastante arbitrariamente.
Para mitigar los riesgos, se puede agregar stop loss, o utilizar múltiplos de ATR como porcentaje de stop loss.
En resumen, esta es una estrategia de inversión de acciones bastante conservadora. Utilizando el sistema de doble MA para medir la tendencia general, combinando con las medidas de volatilidad y fuerza para la entrada en el tiempo, puede filtrar eficazmente las fallas de ruptura. El MA rápido también permite salidas rápidas. Sin embargo, la estrategia se puede mejorar aún más agregando stop loss, optimización de parámetros, etc. En general, se adapta a los inversores de acciones a largo plazo.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Relative Strength strategy("Stan my man", overlay=true) comparativeTickerId = input("BTC_USDT:swap", title="Comparative Symbol") l = input(50, type=input.integer, minval=1, title="Period") baseSymbol = security(syminfo.tickerid, timeframe.period, close) comparativeSymbol = security(comparativeTickerId, timeframe.period, close) hline(0, color=color.black, linestyle=hline.style_dotted) res = baseSymbol / baseSymbol[l] /(comparativeSymbol / comparativeSymbol[l]) - 1 plot(res, title="RS", color=#1155CC) //volume ma vol1 = sma(volume,20) // 30 week ma ema1 = ema(close, 150) //consolidation h1 = highest(high[1],365) fastPeriod = input(title="Fast MA", type=input.integer, defval=50) slowPeriod = input(title="Slow MA", type=input.integer, defval=150) fastestperiod = input(title="Fastest MA", type=input.integer, defval=20) fastEMA = ema(close, fastPeriod) slowEMA = ema(close, slowPeriod) fastestEMA = ema(close, fastestperiod) monitorStrategy = close < close[20] // trade conditions buytradecondition1 = close >ema1 and res>0 and volume> 1.5*vol1 and close > h1 buytradecondition2 = close > fastEMA and volume> 1.5* vol1 selltradecondition1 = close< 0.95 * fastEMA selltradecondition2 = close< 0.90 * open if (buytradecondition1) strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy") alert("Buy Alert Price (" + tostring(close) + ") crossed over Slow moving average",alert.freq_all) if (buytradecondition2) strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy") alert("Buy Alert Price (" + tostring(close) + ") crossed over fast moving average",alert.freq_all) if (selltradecondition1) strategy.close("long",alert_message ="Seems ready to Sell") alert("Sell Alert Price (" + tostring(close) + ") crossed down fast moving average",alert.freq_all) if (selltradecondition2) strategy.close("long",alert_message ="Seems ready to Sell") alert("Sell Alert Price (" + tostring(close) + ") crossed down 10% below open price ",alert.freq_all) //alertcondition(buytradecondition1,title ="BuySignal", message ="Price Crossed Slow Moving EMA ") plot(fastEMA, color=color.navy) plot(slowEMA, color=color.fuchsia) plot(fastestEMA, color=color.green)