Estrategia de doble salto de precio de media móvil


Fecha de creación: 2023-11-21 14:28:35 Última modificación: 2023-11-21 14:28:35
Copiar: 0 Número de Visitas: 586
1
Seguir
1617
Seguidores

Estrategia de doble salto de precio de media móvil

Descripción general

La estrategia utiliza el indicador RSI para determinar sobrecompra y sobreventa, un sistema de determinación de tendencias que combina líneas rápidas, medias y lentas, para determinar la oportunidad de abrir más posiciones cuando los precios se mueven.

Principio de estrategia

  1. El indicador RSI es utilizado para determinar sobrecompra y sobreventa.
  • El RSI está configurado para 14 períodos
  • La línea de sobreventa es 30, la línea de sobrecompra es 70.
  1. Tendencias de medias SMA de tres períodos diferentes
  • La línea rápida es el SMA de 9 ciclos, que representa la tendencia a corto plazo
  • La línea central es el SMA de 50 ciclos, que representa la tendencia intermedia
  • La línea lenta es el SMA de 200 ciclos, que representa la tendencia a largo plazo
  1. Cuando la línea rápida cruza la línea media y el indicador RSI muestra un exceso de venta, haga una entrada adicional

  2. Cuando la línea baja cruza la línea media y el indicador RSI muestra sobrecompra, haga una entrada en blanco

  3. El stop loss se establece en el 4% del precio de entrada.

  4. La forma de obtener ganancias es detener las paradas por lotes, primero detener el 20% y luego detener el 15% si el precio continúa subiendo, y luego salir de la posición

Análisis de las ventajas

  1. La línea media SMA de tres períodos diferentes permite juzgar el cambio de tendencia en diferentes períodos de tiempo
  2. El uso del RSI evita la creación de posiciones en zonas donde no hay sobreventa
  3. El bloqueo de lotes aumenta el ciclo de la posición estratégica y también aumenta la ganancia promedio de la posición

Análisis de riesgos

  1. Probabilidad de que las tres líneas equidistantes emitan una señal errónea
  2. El riesgo de que no se cumplan todas las entregas de los lotes
  3. La necesidad de elegir la variedad de acciones adecuada para las acciones con mayor fluctuación de precios

Dirección de optimización de la estrategia

  1. Parámetros de medias y RSI que se pueden probar para optimizar las oportunidades de entrada y salida
  2. Se pueden agregar otros indicadores para mejorar la precisión de la estrategia, como la forma de la vela de filtro.
  3. Se puede controlar el riesgo aún más mediante el seguimiento dinámico de la pérdida.

Resumir

Esta estrategia, combinada con el indicador de la línea media y el indicador de sobreventa y sobreventa RSI, para juzgar las oportunidades de compra y venta al mismo tiempo que capta la tendencia de cambio de precios, es una estrategia de seguimiento de tendencias más común. Se puede optimizar aún más y mejorar la probabilidad de victoria de la estrategia mediante la prueba de parámetros y la adición de otros indicadores de juicio auxiliares.

Código Fuente de la Estrategia
/*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")