Basado en la teoría de ondas de precios y la estrategia de media móvil


Fecha de creación: 2023-11-13 16:39:41 Última modificación: 2023-11-13 16:39:41
Copiar: 1 Número de Visitas: 640
1
Seguir
1617
Seguidores

Basado en la teoría de ondas de precios y la estrategia de media móvil

Descripción general

Esta estrategia utiliza la teoría de las ondas de precios en combinación con los promedios planos para buscar oportunidades de formación de tendencias, establecer paros razonables y rastrear los paros para controlar el riesgo con el objetivo de maximizar los beneficios. La estrategia abre posiciones solo en los períodos de tiempo de negociación designados y evita las fluctuaciones del mercado en determinados momentos.

Principio de estrategia

  • Calcula el promedio de los precios usando el promedio de movimiento de SMMA, filtra el ruido del mercado de ondas, identifica la dirección de la tendencia
  • Valoración de las ondas de precios en función de los máximos y mínimos de un período determinado, identificación de los puntos de inflexión de la tendencia
  • El precio de la ola de precios es más alto cuando se rompe la media horizontal, más alto cuando se rompe
  • Establecer un punto de parada con un seguimiento de la parada basado en ATR para controlar el riesgo
  • Abrir posiciones solo en horas de negociación designadas, evitando las fluctuaciones del mercado durante el fin de semana y ciertos períodos del día
  • Se detiene la posición al emitir una señal de reversión.

Análisis de las ventajas

  • El uso de la teoría de las ondas de precios para determinar los puntos de inflexión de precios, complementado con un promedio de movimiento para determinar la dirección de la tendencia, puede identificar la tendencia de manera efectiva
  • La configuración del punto de parada con el seguimiento dinámico de ATR permite un control efectivo del stop loss individual
  • Abrir posiciones sólo en momentos de liquidez evita deslizamientos innecesarios y fuertes fluctuaciones en un período determinado
  • Siguiendo estrictamente el principio de parada de la línea paralela, se detiene cuando se produce una señal de reversión para maximizar los beneficios

Análisis de riesgos

  • Cuando el pronóstico de las ondas de precios es inexacto, se puede negociar repetidamente en zonas fuera de tendencia
  • El retraso de las medias móviles puede haber perdido el punto de inflexión de la tendencia
  • Un punto de parada demasiado pequeño es fácil de detener y un punto de parada demasiado grande puede causar un daño mayor.
  • El frenado fijo no se puede ajustar de forma flexible a las diferentes situaciones

Resolver el riesgo:

  • Optimización de los parámetros del ciclo de ondas y ajuste de los parámetros de la media plana
  • Combinado con el indicador de Stochastics para determinar la señal de reversión
  • Optimización dinámica de los puntos de parada y las condiciones de parada

Dirección de optimización

  • Optimización de los parámetros del ciclo de onda para encontrar el ciclo de la media plana óptima
  • Junto con el indicador de Stoch, el juicio se invierte, el filtro de señales de set se rompe falsamente
  • Intentar ajustar dinámicamente el punto de parada y la posición de parada
  • Amplía el ancho de banda de los puntos de parada para evitar ser bloqueado
  • Parámetros de optimización según la variedad y el momento de la operación

Resumir

Esta estrategia integra la teoría de las ondas de precios con los indicadores de promedios planos, para controlar el riesgo al evitar la zona de tiempo de negociación designada, para determinar la dirección de las ondas de precios y la tendencia de confirmación de entrada, para establecer paradas y seguimiento de paradas, para detenerse cuando se produce una señal de reversión. La estrategia puede mejorar aún más la estabilidad y la rentabilidad mediante la optimización de parámetros y la adición de indicadores auxiliares.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-12 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("FX Strategy Based on Fractals and SMMA", overlay=true)

// パラメータ
SMMAPeriod1 = input(30, title="SMMA Period")
StopLoss1 = input(7, title="Stop Loss %")
TrailingStopCoef1 = input(2.7, title="Trailing Stop Coefficient")
fractalPeriod = input(5, title="Fractal Period")

// SMMAの計算関数
smma(src, length) =>
    var float smma = na
    if na(smma[1])
        smma := sma(src, length)
    else
        smma := (smma[1] * (length - 1) + src) / length
    smma

// フラクタルの近似
highFractal = high[2] > high[1] and high[2] > high[3] and high[2] > high[4] and high[2] > high
lowFractal = low[2] < low[1] and low[2] < low[3] and low[2] < low[4] and low[2] < low

// エントリー条件
longEntrySignal = lowFractal and close[1] < smma(close, SMMAPeriod1)
shortEntrySignal = highFractal and close[1] > smma(close, SMMAPeriod1)

// エントリー実行
if (longEntrySignal)
    strategy.entry("Long", strategy.long)

if (shortEntrySignal)
    strategy.entry("Short", strategy.short)

// トレーリングストップの計算
atrValue = atr(10)
longStopPrice = close - atrValue * TrailingStopCoef1
shortStopPrice = close + atrValue * TrailingStopCoef1

// トレーリングストップの設定
strategy.exit("Exit Long", "Long", stop=longStopPrice)
strategy.exit("Exit Short", "Short", stop=shortStopPrice)

// バックテスト期間の設定(MetaTraderのバックテストと同じ期間)
startYear = 2007
startMonth = 05
startDay = 01
endYear = 2022
endMonth = 04
endDay = 01

startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// バックテスト期間内でのみトレードを実行
if (time >= startDate and time <= endDate)
    if (longEntrySignal)
        strategy.entry("Long", strategy.long)
    if (shortEntrySignal)
        strategy.entry("Short", strategy.short)