Estrategia de fluctuación adaptativa basada en el avance del rango cuantitativo

El autor:¿ Qué pasa?, Fecha: 2024-02-22 16:50:46
Las etiquetas:

img

Resumen general

Esta estrategia calcula el volumen de transacciones más alto y más bajo durante un cierto período reciente para formar un rango de fluctuación adaptativo. Cuando el volumen de transacciones del ciclo actual rompe este rango, se generan señales comerciales. La dirección de la señal está determinada por el candelero Yin Yang, que es una estrategia simple y efectiva para rastrear grandes transacciones individuales repentinas en el mercado.

Estrategia lógica

La lógica básica es calcular los valores más altos y más bajos de los volúmenes de transacciones positivos y negativos en los ciclos N más recientes para formar un rango de fluctuación adaptativo. Determinar si ocurre un avance en el período actual basado en este rango mientras se toma en cuenta la señal de la línea Yin Yang para completar el juicio.

El proceso de cálculo específico es el siguiente:

  1. Calcular el volumen de transacciones más alto y el volumen de transacciones más bajo en los N ciclos más recientes
  2. Determinar si el volumen de transacción del ciclo actual es mayor que el máximo
  3. Combine si el candelero actual es Yin o Yang para completar el juicio de la señal de avance
  4. Generar señales largas y cortas

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. El ajuste del rango adaptativo es sensible a los cambios del mercado
  2. Captar las tendencias de aumento de la alta volatilidad, reducir la tasa de transacciones perdidas
  3. Combinar juicios de forma de vela para evitar falsos avances
  4. Sencillo de implementar y modificar
  5. Los parámetros se pueden ajustar para adaptarse a diferentes productos

Análisis de riesgos

La estrategia también tiene algunos riesgos:

  1. Suele perseguir altos y matar bajos, necesita ajustar los parámetros para controlar
  2. Puede generar frecuentemente señales falsas en mercados oscilantes de grandes ciclos
  3. No puede distinguir los avances normales y anormales, necesita incorporar otros indicadores o patrones para el juicio
  4. Solo una oportunidad de entrada para cada avance, no puede rastrear las tendencias

El ajuste de los parámetros del ciclo y la incorporación de otros indicadores para el filtrado pueden optimizar.

Direcciones de optimización

La estrategia puede optimizarse de varias maneras:

  1. Aumentar los intervalos para ajustar la longitud del intervalo a los diferentes ciclos del mercado
  2. Incorporar MA, bandas de Bollinger, etc. para filtrar las señales
  3. Optimice las combinaciones con patrones de velas para evitar señales falsas
  4. Añadir módulos de reingreso y stop loss para que la estrategia pueda rastrear las tendencias

Resumen de las actividades

La estrategia es en general simple y práctica. Al combinar el rango adaptativo y el análisis de precios de volumen, puede capturar eficazmente mercados explosivos unilaterales. Sin embargo, también hay cierto riesgo de señales falsas, lo que requiere ajustes de parámetros apropiados y herramientas complementarias antes de que pueda lograr el máximo impacto.


/*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)

Más.