Estrategia de volatilidad adaptativa basada en ruptura de rango cuantitativo


Fecha de creación: 2024-02-22 16:50:46 Última modificación: 2024-02-22 16:50:46
Copiar: 0 Número de Visitas: 563
1
Seguir
1617
Seguidores

Estrategia de volatilidad adaptativa basada en ruptura de rango cuantitativo

Descripción general

La estrategia calcula los máximos y mínimos de los volúmenes de transacciones en el último período determinado, formando un rango de fluctuación adaptado que genera una señal de negociación cuando el volumen de transacciones del ciclo actual supera este rango. La dirección de la señal, según el juicio de los cielos y las nubes, es una estrategia simple y efectiva para rastrear las ganancias inesperadas del mercado.

Principio de estrategia

La lógica central es calcular el máximo y mínimo valor de transacciones positivas y negativas en los últimos N ciclos, formando un rango de fluctuación adaptativo. Basado en este rango, se determina si se ha producido una ruptura en ese período. Al mismo tiempo, se integra la señal de los rayos X y Y para completar el juicio.

El proceso de cálculo es el siguiente:

  1. Calcula el volumen de transacciones más alto y el volumen de transacciones más bajo de los últimos N ciclos
  2. Determinar si el volumen de transacciones del ciclo actual es mayor que el volumen más alto
  3. Combinación de la corriente para determinar si la señal es positiva o negativa
  4. Generación de señales de hacer más vacío

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Adaptación a los cambios en el mercado
  2. Captura de emergencias de alta volatilidad para reducir la tasa de fallas
  3. La combinación de juicio torcido y la prevención de brechas falsas
  4. Hacer que sea simple, fácil de entender y modificar
  5. Parámetros de ajuste flexible para diferentes variedades

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. Es fácil seguir los altos y bajos, se necesita ajustar el control de los parámetros
  2. Las señales erróneas pueden ser frecuentes en los mercados con grandes ciclos de volatilidad.
  3. Incapacidad para distinguir entre rupturas normales y anormales, que requiere una combinación de otros indicadores o patrones de juicio
  4. Cada brecha es una oportunidad de entrada, no se puede seguir la tendencia.

Se puede optimizar ajustando el ciclo de los parámetros, en combinación con otros indicadores filtrados.

Dirección de optimización

La estrategia puede ser optimizada en las siguientes direcciones:

  1. Aumentar el parámetro para ajustar la longitud de los intervalos para adaptarse a los diferentes ciclos del mercado
  2. Añadir indicadores como la línea media, las bandas de Brin, y filtrar señales
  3. Optimización de la forma combinada de la línea K para evitar errores de falsa brecha
  4. Agregando módulos de reingreso y stop loss para que la estrategia pueda seguir la tendencia

Resumir

La estrategia es sencilla y práctica en general, y puede capturar de manera efectiva las situaciones unilaterales repentinas mediante la combinación de la escala de adaptación y el valor cuantitativo. Sin embargo, también existe un cierto riesgo de errores, que requieren un ajuste adecuado de los parámetros y el uso de otras herramientas para obtener la máxima eficacia.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
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/
// © EvoCrypto

//@version=4
strategy("Ranged Volume Strategy - evo", shorttitle="Ranged Volume", format=format.volume)

// INPUTS {
Range_Length    =   input(5,        title="Range Length",                       minval=1)

Heikin_Ashi     =   input(true,     title="Heikin Ashi Colors")
Display_Bars    =   input(true,     title="Show Bar Colors")
Display_Break   =   input(true,     title="Show Break-Out")
Display_Range   =   input(true,     title="Show Range")
// }

// SETTINGS {
Close           =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, close)    : close
Open            =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, open)     : open

Positive        =    volume
Negative        =   -volume

Highest         =   highest(volume, Range_Length)
Lowest          =   lowest(-volume, Range_Length)

Up              =   Highest > Highest[1] and Close > Open
Dn              =   Highest > Highest[1] and Close < Open

Volume_Color    =   
 Display_Break and Up   ? color.new(#ffeb3b, 0)     : 
 Display_Break and Dn   ? color.new(#f44336, 0)     : 
 Close > Open           ? color.new(#00c0ff, 60)    : 
 Close < Open           ? color.new(#000000, 60)    : na 
// }

//PLOTS {
plot(Positive,                      title="Positive Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)
plot(Negative,                      title="Negative Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)

plot(Display_Range ? Highest : na,  title="Highest",            color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)
plot(Display_Range ? Lowest  : na,  title="Lowest",             color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)

barcolor(Display_Bars ? Volume_Color : na)
// }

if (Up)
    strategy.entry("Long Entry", strategy.long)
if (Dn)
    strategy.entry("Short Entry", strategy.short)