La estrategia de cruce del punto medio de la media móvil es una estrategia de seguimiento de tendencias que combina el indicador del punto medio y las líneas de media móvil para generar señales comerciales cuando el precio rompe el punto de cruce del indicador del punto medio y las medias móviles.
El indicador del punto medio toma el valor promedio de los precios más altos y más bajos durante un cierto período para localizar los niveles clave de soporte y resistencia.
Además, el promedio móvil se introduce para facilitar los datos de precios y determinar la dirección de la tendencia.
Las señales de compra se generan cuando el precio se rompe por encima del punto de cruce del punto medio y la media móvil, y las señales de venta se generan cuando el precio se rompe por debajo del punto de cruce.
Según esta lógica estratégica, la captura de la ruptura del punto medio y el área de cruce de la media móvil puede seguir bien la tendencia y realizar operaciones de reversión durante los retrocesos.
Esta estrategia combina las ventajas del indicador del punto medio y las medias móviles, con las siguientes ventajas:
El indicador del punto medio localiza con precisión los niveles clave de soporte/resistencia, y las medias móviles determinan la dirección de la tendencia.
Juzgar las reversiones a través de situaciones de cruce reduce la probabilidad de errores.
La adopción de un cruce de dos líneas evita la inducción en error por un único indicador.
La idea de la estrategia es simple y clara, fácil de entender e implementar, adecuada para el comercio de algoritmos.
Esta estrategia también presenta algunos riesgos:
El punto medio y las medias móviles pueden fallar cuando el mercado fluctúa violentamente.
Podría haber cierta presión de retroceso cuando ocurra el cruce, causando riesgos de stop loss.
Esta estrategia se centra en las operaciones a medio plazo y no se aplica a las operaciones demasiado a largo plazo.
Las medidas de gestión de riesgos correspondientes incluyen:
Optimización de los parámetros de la media móvil para aumentar la suavidad.
Ampliando adecuadamente el rango de pérdida de parada para hacer frente a la presión de retroceso.
Acortamiento del período de retención para obtener beneficios oportunos y para detener pérdidas.
Esta estrategia también puede optimizarse en los siguientes aspectos:
Optimizar los períodos del indicador del punto medio y las medias móviles para encontrar la mejor combinación de parámetros.
Añadir otros indicadores como MACD, RSI para filtrar para mejorar la calidad de la señal.
Añadir la confirmación del volumen de operaciones para evitar falsas rupturas con un volumen bajo.
Incorporar indicadores de volatilidad para ajustar los niveles de detención y obtención de beneficios en función de las fluctuaciones del mercado.
Prueba de aplicabilidad en diferentes mercados y productos.
La estrategia de cruce de promedios móviles integra las ventajas del indicador de punto medio y las medias móviles, capturando la inversión de tendencia al juzgar las rupturas de los niveles clave de soporte / resistencia.
/*backtest start: 2023-11-12 00:00:00 end: 2023-12-12 00:00:00 period: 1h 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/ // © MGULHANN //@version=5 strategy('Forex Midpoint Stratejisi For Nasdaq ', overlay=true) BPeriod = input(131, 'Başlangıç Period') kaydirma = input(14, 'Kaydırma Seviyesi') yuzdeseviyesi = input.float(0.0006, 'Yüzde Seviyesi', step=0.0001) len = input.int(44, minval=1, title="Length") src = input(close, title="Source") out = ta.sma(src, len) ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) typeMA = input.string(title = "Method", defval = "EMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title = "Length", defval = 53, minval = 1, maxval = 100, group="Smoothing") smoothingLine = ma(out, smoothingLength, typeMA) //plot(smoothingLine, title="Smoothing Line", color=color.red, linewidth = 2) //zararDurdurmaYuzde = input.float(0.2, title='Zarar Durdurma %', step=0.01) / 100 //karAlmaYuzde = input.float(0.5, title='Kar Alma %', step=0.01) / 100 //MIDPOINT HESAPLA midpoint1 = ta.highest(high, BPeriod) + ta.lowest(low, BPeriod) midpoint2 = midpoint1 / 2 midyuzdeseviyesi = midpoint2 * yuzdeseviyesi midtopdeger = midyuzdeseviyesi + midpoint2 //GİRİŞ KOŞULLARI buycross = ta.crossover(smoothingLine, midtopdeger[kaydirma]) //? aort > ta.sma(close,50) : na sellcross = ta.crossover(midtopdeger[kaydirma], smoothingLine) // ? aort < ta.sma(close,50) : na //LONG GİRİŞ if (buycross) strategy.entry("BUY", strategy.long) //longKarAl = strategy.position_avg_price * (1 + karAlmaYuzde) //longZararDurdur = strategy.position_avg_price * (1 - zararDurdurmaYuzde) //strategy.exit("Long Exit","Long", stop=longZararDurdur) //SHORT GİRİŞ if (sellcross) strategy.entry("SELL", strategy.short) //shortKarAl = strategy.position_avg_price * (1 - karAlmaYuzde) //shortZararDurdur = strategy.position_avg_price * (1 + zararDurdurmaYuzde) //strategy.exit("Short Exit","Short", stop=shortZararDurdur) //plot(midtopdeger, offset=kaydirma, linewidth=2, color=color.blue)