Estrategia de cruce de tres medias móviles


Fecha de creación: 2023-11-06 09:48:33 Última modificación: 2023-11-06 09:48:33
Copiar: 0 Número de Visitas: 661
1
Seguir
1617
Seguidores

Estrategia de cruce de tres medias móviles

Descripción general

La estrategia de cruce de tres líneas equilibradas utiliza el cruce de promedios móviles de diferentes períodos de tiempo como una señal de compra y venta, y pertenece a la estrategia de seguimiento de tendencias. La estrategia utiliza tres promedios móviles, que incluyen promedios móviles de corto plazo, promedios móviles de medio plazo y promedios móviles de largo plazo, para formar una señal de negociación en función de su cruce.

Principio de estrategia

La estrategia primero calcula las medias móviles a corto plazo (de 7 días por defecto), medias móviles a medio plazo (de 25 días por defecto) y medias móviles a largo plazo (de 99 días por defecto), y luego genera una señal de negociación de acuerdo con las siguientes reglas:

  1. Cuando una media móvil a corto plazo atraviesa una media móvil a mediano plazo, se genera una señal de compra.

  2. Cuando la media móvil intermedia se cruza por debajo de la media móvil corta, se genera una señal de venta.

  3. Cuando se cruza una media móvil a corto plazo con una media móvil a largo plazo, se genera una señal de compra rápida.

  4. Cuando la media móvil a corto plazo se cruza por debajo de la media móvil a largo plazo, se genera una señal de venta rápida.

La estrategia considera que cruzar la media móvil en la media móvil de corto plazo significa que la tendencia del mercado se ha convertido en alza y, por lo tanto, genera una señal de compra; mientras que cruzar la media móvil de corto plazo en la media móvil de corto plazo significa que la tendencia del mercado se ha convertido en baja y, por lo tanto, genera una señal de venta. Del mismo modo, el cruce de la media móvil de corto plazo con la media móvil de largo plazo también genera una señal de negociación rápida para capturar los cambios de tendencia de la línea más larga.

Análisis de las ventajas

  • La lógica de la estrategia es simple, clara, fácil de entender y de implementar.
  • El análisis de múltiples períodos de tiempo permite capturar de manera efectiva los cambios en las tendencias del mercado.
  • Los parámetros de la estrategia se pueden optimizar ajustando el ciclo de la media móvil.
  • Las señales cruzadas visuales reflejan de forma intuitiva los cambios en las tendencias.

Análisis de riesgos

  • Los promedios móviles están rezagados y pueden haber perdido el punto de inflexión de la tendencia.
  • En los mercados de capitales, las señales falsas que usan las líneas largas en las líneas cortas pueden ser excesivas.
  • En el mercado de la cabeza vacía, las señales falsas que pasan por debajo de la línea corta pueden ser demasiadas.
  • Las señales de compra y venta rápidas pueden ser demasiado sensibles, aumentando el número de transacciones y las comisiones.

Se puede optimizar y reducir las señales falsas mediante el ajuste adecuado del ciclo de la media móvil o mediante el aumento de las condiciones de filtración. También se puede reducir adecuadamente el ciclo de negociación rápida y reducir la frecuencia de negociación.

Dirección de optimización

  • Los indicadores de cambio se generan cuando el volumen de transacciones es mayor que un determinado porcentaje de cambio en el precio.
  • En combinación con filtros de otros indicadores, como MACD, KDJ, etc., evita el error de negociación cuando no hay una tendencia clara.
  • Optimización de la combinación de los ciclos de las medias móviles para reducir las señales falsas.
  • Distinguir entre mercados de capitales múltiples y mercados de capitales vacíos y optimizar los parámetros de compra y venta.
  • Tener en cuenta los costos de las transacciones, ajustar los parámetros de las transacciones rápidas y controlar la frecuencia de las transacciones.

Resumir

La estrategia de tres líneas de cruce es más sencilla y directa en general, determina la dirección de la tendencia a través de cruces de líneas de cruce en diferentes períodos de tiempo para generar señales de comercio. La estrategia es fácil de implementar, el ajuste de los parámetros es flexible y puede capturar cambios en la tendencia. Pero también hay problemas con el retraso de las medias móviles y el riesgo de demasiadas falsas señales.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 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/
// © dadashkadir

//@version=4
strategy("Üç Hareketli Ortalama Str.", overlay=true, initial_capital=10000, commission_value=0.047, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, calc_on_order_fills=true)

kisa = input(title = "Kısa Vade - Gün", defval = 7,  minval = 1)
orta = input(title = "Orta Vade - Gün", defval = 25, minval = 1)
uzun = input(title = "Uzun Vade - Gün", defval = 99, minval = 1)

sma7  = sma(close, kisa)
sma25 = sma(close, orta)
sma99  = sma(close, uzun)

alTrend  = plot (sma7, color=#2323F1, linewidth=2, title="Har.Ort. Kısa Vade", transp=0)
satTrend = plot (sma25, color=#FF0C00, linewidth=3, title="Har.Ort. Orta Vade", transp=0)
ort99    = plot (sma99, color=#DFB001, linewidth=3, title="Har.Ort. Uzun Vade", transp=0)

zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")

al  = crossover (sma7, sma25) and zamanaralik <= year
sat = crossover (sma25, sma7) and zamanaralik <= year

hizlial = crossover (sma7, sma99) and zamanaralik <= year
hizlisat = crossover (sma99, sma7) and zamanaralik <= year

alkosul  = sma7 >= sma25
satkosul = sma25 >= sma7

hizlialkosul  = sma7 >= sma99
hizlisatkosul = sma99 >= sma7

plotshape(al,  title = "Buy",  text = 'Al',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Sell", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

plotshape(hizlial,  title = "Hızlı Al",  text = 'Hızlı Al',  style = shape.labelup,   location = location.belowbar, color= color.blue, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(hizlisat, title = "Hızlı Sat", text = 'Hızlı Sat', style = shape.labeldown, location = location.abovebar, color= #6106D6 , textcolor = color.white, transp = 0, size = size.tiny)

fill (alTrend, satTrend, color = sma7 >= sma25? #4DFF00 : #FF0C00, transp=80, title="Al-Sat Aralığı")
//fill (ort99, satTrend, color = sma7 >= sma25? #6106D6 : color.blue, transp=80, title="Hızlı Al-Sat Aralığı")

if (al)
    strategy.entry("LONG", strategy.long)
if (sat)
    strategy.entry("SHORT", strategy.short)
//if (hizlial)
//    strategy.entry("My Short Entry Id", strategy.long)
//if (hizlisat)
//    strategy.entry("My Short Entry Id", strategy.short)