Estrategia de negociación de media móvil de doble impulso


Fecha de creación: 2024-02-19 14:36:37 Última modificación: 2024-02-19 14:36:37
Copiar: 1 Número de Visitas: 590
1
Seguir
1617
Seguidores

Estrategia de negociación de media móvil de doble impulso

Descripción general

La estrategia de comercio de doble dinámica es una estrategia que utiliza el indicador OTT y el indicador oscilante Wavetrend. Se combina con el indicador OTT desarrollado por el maestro Anıl Özekşi y el indicador oscilante Wavetrend de lonestar108 para formar un indicador de comercio exitoso. La estrategia puede realizarse en un mercado bidireccional.

Principio de estrategia

La estrategia de negociación de la línea de equilibrio de energía binaria primero calcula el centro de la banda de Brin, es decir, el promedio móvil MAvg. Luego, de acuerdo con el rango y el período de porcentaje establecido por el usuario, calcula el punto de pérdida de parada larga LongStop y el punto de pérdida de parada corta ShortStop.

Concretamente, el indicador central de esta estrategia es el indicador OTT. El indicador OTT consiste en la línea media y la línea de borde, que se ajusta a la posición de la línea de borde según el grado de fluctuación del mercado de acuerdo con un determinado algoritmo. Cuando el precio cae por debajo de la línea de borde OTT, hacer un descuento; cuando el precio rompe la línea de borde OTT, hacer más.

La estrategia utiliza al mismo tiempo el indicador Wavetrend para determinar la dirección de la tendencia de los precios, si se determina una tendencia a la baja, solo se hace más que no se hace más; si se determina una tendencia a la alta, solo se hace más que no se hace más.

Análisis de las ventajas

La estrategia de negociación en línea de doble dinámica combina las ventajas de las medias móviles, las bandas de Brin y los indicadores OTT para ajustar automáticamente la posición de los paros y reducir la probabilidad de que los paros se activen. Al mismo tiempo, combina indicadores de juicio de tendencias para evitar ser apuntalado en una tendencia de oscilación.

En concreto, las principales ventajas de esta estrategia son:

  1. Se puede ajustar automáticamente el Stop Loss para controlar el riesgo
  2. Los indicadores OTT pueden determinar con mayor precisión el punto de inflexión
  3. Indicadores de tendencia para evitar cautiverio en mercados convulsos
  4. Las reglas son relativamente sencillas y claras, y son fáciles de entender.

Análisis de riesgos

Las estrategias de negociación en línea de doble dinámica también tienen ciertos riesgos, que se centran principalmente en los siguientes aspectos:

  1. En situaciones extremas, la línea de pérdida puede romperse y causar grandes pérdidas.
  2. Las señales de reversión de los indicadores OTT no siempre son exactas y pueden producirse fallas.
  3. También puede haber errores en el juicio de las tendencias, haciendo grandes pérdidas en la oscilación a la baja.
  4. La configuración incorrecta de los parámetros también puede afectar la eficacia de la política

Las principales medidas son:

  1. Relajar la amplitud de la parada adecuadamente para asegurar que la línea de parada no se active fácilmente
  2. Combina otros indicadores para evaluar la fiabilidad de las señales OTT y evitar falsas señales
  3. Ajuste adecuado de los parámetros para que el juicio de tendencias sea más fiable
  4. Optimización de parámetros para encontrar la combinación óptima de parámetros

Dirección de optimización

La estrategia de negociación en línea de energía dinámica continua teniendo espacio para una mayor optimización:

  1. Se puede considerar la combinación con otros indicadores para mejorar la precisión de la evaluación de señales
  2. Se pueden estudiar algoritmos de stop loss adaptativos para que la línea de stop loss se ajuste a la volatilidad del mercado
  3. Se puede agregar un indicador de volumen de transacciones para evitar falsas brechas de bajo volumen
  4. Se pueden probar diferentes tipos de promedios móviles para encontrar la media que mejor coincida.
  5. Se puede probar métodos como el aprendizaje automático para optimizar los parámetros

Resumir

La estrategia de comercio de la línea de energía binaria integra las ventajas de varios indicadores, puede ajustar automáticamente el punto de parada, juzgar las señales de reversión, identificar la dirección de la tendencia. Tiene una fuerte capacidad de control de riesgo, es fácil de entender el uso de ventajas, etc. Pero también existe el riesgo de cobertura, inexactitud de la señal, etc. La estrategia se puede optimizar aún más, se puede usar con otras combinaciones de indicadores, estudiar algoritmos de adaptación, etc. En general, la estrategia de comercio de la línea de energía binaria es una práctica estrategia de comercio de tipo rompedor.

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

//@version=4
strategy(title="Bugra trade strategy", shorttitle="Bugra trade strategy", overlay=true)

// Kullanıcı Girdileri
length = input(5, title="Period", minval=1)
percent = input(1, title="Sihirli Yüzde", type=input.float, step=0.1, minval=0)
mav = input(title="Hareketli Ortalama Türü", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"])
wt_n1 = input(10, title="Kanal Periyodu")
wt_n2 = input(21, title="Averaj Uzunluğu")
src = close

// Tarih Aralığı Girdileri
startDate = input(20200101, title="Başlangıç Tarihi (YYYYMMDD)")
endDate = input(20201231, title="Bitiş Tarihi (YYYYMMDD)")

// Tarih Filtresi Fonksiyonu
isDateInRange() => true
// Özel Fonksiyonlar
Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = src > src[1] ? src - src[1] : 0
    vdd1 = src < src[1] ? src[1] - src : 0
    vUD = sum(vud1, length)
    vDD = sum(vdd1, length)
    vCMO = (vUD - vDD) / (vUD + vDD)
    varResult = 0.0
    varResult := nz(valpha * abs(vCMO) * src + (1 - valpha * abs(vCMO)) * nz(varResult[1]))
    varResult

Wwma_Func(src, length) =>
    wwalpha = 1 / length
    wwma = 0.0
    wwma := wwalpha * src + (1 - wwalpha) * nz(wwma[1])
    wwma

Zlema_Func(src, length) =>
    zxLag = floor(length / 2)
    zxEMAData = src + (src - src[zxLag])
    zlema = ema(zxEMAData, length)
    zlema

Tsf_Func(src, length) =>
    lrc = linreg(src, length, 0)
    lrs = lrc - linreg(src, length, 1)
    tsf = lrc + lrs
    tsf

getMA(src, length) =>
    ma = mav == "SMA" ? sma(src, length) :
         mav == "EMA" ? ema(src, length) :
         mav == "WMA" ? wma(src, length) :
         mav == "TMA" ? sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) :
         mav == "VAR" ? Var_Func(src, length) :
         mav == "WWMA" ? Wwma_Func(src, length) :
         mav == "ZLEMA" ? Zlema_Func(src, length) :
         mav == "TSF" ? Tsf_Func(src, length) : na

// Strateji Hesaplamaları
MAvg = getMA(src, length)
fark = MAvg * percent * 0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop = MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop

dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir==1 ? longStop: shortStop
OTT = MAvg > MT ? MT*(200+percent)/200 : MT*(200-percent)/200

plot(OTT, title="BugRA", color=color.rgb(251, 126, 9))

// Alım ve Satım Koşulları
longCondition = crossover(src, OTT) and isDateInRange()
shortCondition = crossunder(src, OTT) and isDateInRange()

// Strateji Giriş ve Çıkış Emirleri
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.close("Long")