Estrategia de doble salto de precio de la media móvil

El autor:¿ Qué pasa?, Fecha: 2023-11-21 14:28:35
Las etiquetas:

img

Resumen general

Esta estrategia utiliza el indicador RSI para determinar las condiciones de sobrecompra y sobreventa, combinado con un sistema de juicio de tendencia construido con líneas de promedio móvil rápido, medio y lento, para identificar oportunidades para abrir posiciones largas o cortas cuando los precios están aumentando.

Principio de la estrategia

  1. Utilice el indicador RSI para determinar las condiciones de sobrecompra y sobreventa

    • El parámetro RSI está establecido en 14 períodos.
    • La línea de sobreventa está en 30, la línea de sobrecompra está en 70
  2. Utilice tres líneas SMA de diferentes períodos para determinar la tendencia

    • La línea rápida es la SMA de 9 períodos, que representa la tendencia a corto plazo.
    • La línea media es la SMA de 50 períodos, que representa la tendencia a medio plazo.
    • La línea lenta es la SMA de 200 períodos, que representa la tendencia a largo plazo.
  3. Cuando la línea rápida cruza por encima de la línea media, y el indicador RSI muestra sobreventa, vaya largo

  4. Cuando la línea rápida cruza por debajo de la línea media, y el indicador RSI muestra sobrecompra, vaya corto

  5. Se establece un stop loss del 4% del precio de entrada

  6. La obtención de ganancias se hace en lotes, primero se obtiene un beneficio del 20%, luego se obtiene el 15% a medida que el precio sigue subiendo, saliendo de las posiciones gradualmente

Análisis de ventajas

  1. El uso de tres líneas SMA de diferentes períodos puede juzgar los cambios de tendencia en diferentes marcos de tiempo
  2. El uso del indicador RSI evita la apertura de posiciones fuera de las zonas de sobrecompra/sobreventa
  3. Aumento de la toma de ganancias por lotes período de retención y ganancia media de la estrategia

Análisis de riesgos

  1. Probabilidad de señales erróneas de las tres medias móviles
  2. Riesgo de ganancia por lotes incompleta en el momento de la ejecución
  3. Necesidad de elegir instrumentos adecuados con altas fluctuaciones de precios

Direcciones de optimización

  1. Puede probar los parámetros de modificación de las medias móviles y RSI para optimizar la entrada y salida
  2. Puede agregar otros indicadores para filtrar patrones de velas, etc. para mejorar la precisión
  3. Puede seguir de forma dinámica el stop loss para controlar el riesgo

Resumen de las actividades

Esta estrategia combina los indicadores de promedio móvil y el indicador de sobrecompra/sobreventa RSI. Al capturar los cambios de tendencia de precios al juzgar las oportunidades comerciales, pertenece a una estrategia de seguimiento de tendencias comúnmente utilizada.


/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
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/
// © syfuslokust

//@version=4
strategy(shorttitle='CoinruleCombinedCryptoStrat',title='CoinruleCombinedCryptoStrat', overlay=true)


// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
//Normal
oversold = input(30)
overbought =  input(70)
//ALGO
//oversold= input(26)
//overbought= input(80)

//sell pct
SellPct = input(20)
ExitPct = input(15)

//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Look Back
inp_lkb = input(12, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

//Entry 

//MA
bullish = crossover(movingaverage_signal, movingaverage_fast)
//Execute buy
strategy.entry(id="long", long = true, when = (RSI < oversold and movingaverage_fast < movingaverage_mid))

//when = crossover(close, movingaverage_signal) and movingaverage_signal < movingaverage_slow and RSI < oversold)

//Exit

//RSI
Stop_loss= ((input (4))/100)
longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
//MA
bearish = crossunder(movingaverage_signal, movingaverage_fast)
//Execute sell
strategy.close("long", qty_percent = SellPct, when = RSI > overbought and movingaverage_fast > movingaverage_mid)
//when = (crossunder(low, movingaverage_signal) and movingaverage_fast > movingaverage_slow and RSI > overbought) or (movingaverage_signal < movingaverage_fast and crossunder(low, movingaverage_fast)) or (low < longStopPrice))


//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2, title="signal")
plot(movingaverage_fast, color=color.orange, linewidth=2, title="fast")
plot(movingaverage_slow, color=color.purple, linewidth=2, title="slow")
plot(movingaverage_mid, color=color.blue, linewidth=2, title="mid")

Más.