Estrategia de scalping de media móvil

El autor:¿ Qué pasa?, Fecha: 2023-09-21 20:41:15
Las etiquetas:

Resumen general

Esta estrategia pertenece al tipo de estrategia de scalping, con el objetivo de abrir y cerrar posiciones con frecuencia para beneficiarse de pequeñas ganancias al tiempo que limita los riesgos a la baja.

Estrategia lógica

La estrategia utiliza 4 promedios móviles: 9, 50, 100 y 200 períodos.

Las reglas específicas para el comercio son:

  • Venga largo cuando 9 MA cruce por encima de 50 MA
  • 50 MA es inferior a 100 MA
  • 100 MA es inferior a 200 MA

Esta combinación identifica situaciones en las que el precio está en tendencia a la baja a corto plazo pero puede producirse una reversión.

La regla de salida es cuando 9 MA cruza por encima de 200 MA. Se utiliza un objetivo cercano a la ganancia para obtener ganancias pequeñas frecuentes para obtener ganancias constantes.

Ventajas

  • Control de apertura y cierre frecuentes con pérdida única
  • El cruce MA alcanza los mínimos potenciales
  • Cerca de la meta de ganancias se cierra en pequeñas ganancias determinadas
  • El tiempo de retención reducido minimiza la influencia de la tendencia
  • Alta utilización del capital adecuada para cuentas pequeñas

Los riesgos

  • El retraso de la MA puede perder los mejores puntos de entrada
  • Rango de ganancias reducido vulnerable a las comisiones
  • Los oficios más no válidos aumentan los costos de tiempo y energía
  • La TP demasiado conservadora no puede seguir las tendencias
  • Difícil obtener beneficios en mercados de rango limitado

Los riesgos pueden reducirse:

  • Optimización de los parámetros de MA para una mejor precisión de la señal
  • Relajando el TP para obtener más beneficios de tendencia
  • Añadir otros indicadores para la confirmación, reducir las operaciones no válidas
  • Optimización de la utilización del capital y del tamaño de las posiciones
  • Considerando las reingresas

Direcciones de optimización

La estrategia puede mejorarse mediante:

  1. Optimización de las combinaciones de MA

    Prueba de más períodos de admisión para una mejor detección de la inversión.

  2. Ampliación de los niveles de beneficios

    Permite una distancia TP más amplia para obtener más ganancias de tendencia.

  3. Adición de otros indicadores

    Como KDJ, MACD para confirmar para reducir las operaciones no válidas.

  4. Optimización del tamaño de la posición

    Posiciones de tamaño dinámico basadas en TP y SL específicas.

  5. Añadir normas de reingreso

    Considere volver a entrar después de TP si la tendencia continúa.

Resumen de las actividades

Esta estrategia de scalping identifica posibles reversiones a corto plazo con combinaciones de MA para obtener ganancias pequeñas frecuentes. Esto controla eficazmente pérdidas y riesgos individuales, lo que lo hace adecuado para el crecimiento de cuentas pequeñas. Sin embargo, existen limitaciones como un pequeño rango de ganancias y operaciones excesivas. Se pueden hacer mejoras mediante ajuste de parámetros, ajuste de TP, adición de filtros, etc., para expandir las ganancias mientras se conservan sus fortalezas, lo que hace que la estrategia sea más robusta y eficiente. También es importante aprender continuamente otras estrategias más avanzadas.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//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))

//Entry 
bullish = crossover(movingaverage_signal, movingaverage_fast)

strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window())

//Exit

bearish = crossover(movingaverage_signal, movingaverage_slow)


Stop_loss= ((input (2))/100)
Take_profit= ((input (8))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = bearish)

// close < longStopPrice or close > longTakeProfit and window())

//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2 )
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)
plot(movingaverage_mid, color=color.blue, linewidth=2)


Más.