Estrategia de negociación de volumen recursivo


Fecha de creación: 2024-01-31 16:56:31 Última modificación: 2024-01-31 16:56:31
Copiar: 0 Número de Visitas: 596
1
Seguir
1617
Seguidores

Estrategia de negociación de volumen recursivo

Descripción general

La estrategia es una estrategia de seguimiento de tendencias y rupturas basada en el indicador de bandas recursivas desarrollado por alexgrover. La estrategia utiliza los indicadores de bandas recursivas para determinar tendencias de precios y resistencias de soporte clave, combinadas con condiciones de impulso para filtrar falsas rupturas y lograr entradas de baja frecuencia pero de alta calidad.

Principio de estrategia

Cálculo de la línea de referencia recursiva

El indicador de la banda recursiva está compuesto por la banda superior, la banda inferior y la línea media. El indicador se calcula de la siguiente manera:

Bandeja superior = valor máximo ((Bandeja superior de la primera línea K, precio de cierre + n*La tasa de fluctuación Bandas inferiores = mínimos de las bandas inferiores de la primera línea K, precio de cierre - n*La tasa de fluctuación
La línea media es igual a (la banda superior + la banda inferior) / 2

Donde n es un coeficiente de escala, la oscilación puede elegir ATR, diferencia estándar, canal promedio y un método RFV especial. La sensibilidad del indicador está controlada por los parámetros de longitud, y cuanto mayor sea el valor, menos fácilmente se puede disparar.

Reglas de negociación estratégica

La estrategia primero detecta si la banda inferior continúa subiendo y la banda superior continúa bajando para eliminar falsas rupturas.

Cuando el precio cae por debajo de la banda inferior, haz más; cuando el precio supera la banda superior, haz menos.

Además, la estrategia tiene una lógica de stop loss.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Utilizando un marco recursivo, los indicadores se calculan de manera eficiente y se evita la repetición de los cálculos.
  2. Los parámetros del indicador son ajustables para adaptarse a diferentes entornos del mercado
  3. Combinando tendencias y brechas para evitar falsas brechas
  4. Filtrado de condiciones de potencia para garantizar la calidad de la señal de negociación

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. La configuración incorrecta de los parámetros puede causar una frecuencia de transacción excesiva o una calidad de señal deficiente
  2. Los cambios en la tendencia del gran ciclo pueden generar mayores pérdidas
  3. El control de los puntos de deslizamiento en los mercados extremos podría aumentar las pérdidas

Estos riesgos se pueden controlar mediante la optimización de los parámetros, el establecimiento de un stop loss y el aumento de los puntos de deslizamiento.

Dirección de optimización

La estrategia también puede ser optimizada en las siguientes direcciones:

  1. Combinación de varios indicadores de ciclo para el comercio de varios marcos de tiempo
  2. Añadir módulos de aprendizaje automático para optimizar la adaptabilidad de los parámetros
  3. Aumentar el análisis de correlación cuantitativa para encontrar la combinación óptima de parámetros
  4. Aprovechando el aprendizaje profundo para mejorar la precisión de las señales para predecir el camino de los precios

Resumir

La estrategia en general es una estrategia de seguimiento de tendencias muy práctica y eficiente. Se combina con el ahorro de recursos de computación en el marco recursivo, la aplicación de la resistencia de soporte de tendencia para determinar la dirección de la tendencia principal, el aumento de la filtración de las condiciones de movimiento de las brechas falsas, lo que garantiza la calidad de la señal de negociación.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=5
// Original indicator by alexgrover
strategy('Extended Recursive Bands Strategy', overlay=true, commission_type=strategy.commission.percent,commission_value=0.06,default_qty_type =strategy.percent_of_equity,default_qty_value = 100,initial_capital =1000)
length = input.int(260, step=10, title='Length')
src = input(close, title='Source')
method = input.string('Classic', options=['Classic', 'Atr', 'Stdev', 'Ahlr', 'Rfv'], title='Method')
bandDirectionCheck = input.bool(true, title='Bands Hold Direction')
lookback = input(3)
//----
atr = ta.atr(length)
stdev = ta.stdev(src, length)
ahlr = ta.sma(high - low, length)
rfv = 0.
rfv := ta.rising(src, length) or ta.falling(src, length) ? math.abs(ta.change(src)) : rfv[1]
//-----
f(a, b, c) =>
    method == a ? b : c
v(x) =>
    f('Atr', atr, f('Stdev', stdev, f('Ahlr', ahlr, f('Rfv', rfv, x))))
//----
sc = 2 / (length + 1)
a = 0.
a := math.max(nz(a[1], src), src) - sc * v(math.abs(src - nz(a[1], src)))
b = 0.
b := math.min(nz(b[1], src), src) + sc * v(math.abs(src - nz(b[1], src)))
c = (a+b)/2

// Colors
beColor = #675F76
buColor = #a472ff

// Plots
pA = plot(a, color=color.new(beColor, 0), linewidth=2, title='Upper Band')
pB = plot(b, color=color.new(buColor, 0), linewidth=2, title='Lower Band')
pC = plot(c, color=color.rgb(120,123,134,0), linewidth=2, title='Middle Band')
fill(pC, pA, color=color.new(beColor,90))
fill(pC, pB, color=color.new(buColor,90))

// Band keeping direction
// By Adulari
longc = 0
shortc = 0
for i = 0 to lookback-1
    if b[i] > b[i+1]
        longc:=longc+1
    if a[i] < a[i+1]
        shortc:=shortc+1
bhdLong = if bandDirectionCheck
    longc==lookback
else
    true
bhdShort = if bandDirectionCheck
    shortc==lookback
else
    true

// Strategy
if b>=low and bhdLong
    strategy.entry(id='Long',direction=strategy.long)
if high>=a and bhdShort
    strategy.entry(id='Short',direction=strategy.short)

// TP at middle line
//if low<=c and strategy.position_size<0 and strategy.position_avg_price>close
    //strategy.exit(id="Short",limit=close)
//if high>=c and strategy.position_size>0 and strategy.position_avg_price<close
    //strategy.exit(id="Long",limit=close)