Estrategia de trading de ruptura acumulativa


Fecha de creación: 2023-10-25 17:34:41 Última modificación: 2023-10-25 17:34:41
Copiar: 1 Número de Visitas: 739
1
Seguir
1617
Seguidores

Estrategia de trading de ruptura acumulativa

Descripción general

Las estrategias de negociación de ruptura progresiva buscan oportunidades potenciales de compra y venta mediante la identificación de las etapas de acumulación y distribución del mercado, utilizando el principio de análisis vectorial, complementado con el juicio de las formas de arco y flecha y de las formas invertidas.

Principio de estrategia

  1. El uso de cruces de medias de diferentes longitudes para identificar las fases de acumulación y distribución. Cuando la mediana de la longitud es la longitud de acumulación en el precio de cierre, se juzga como fase de acumulación; cuando la mediana de la longitud es la longitud de distribución debajo del precio de cierre, se juzga como fase de distribución.

  2. Utiliza el cruce de líneas medias de diferentes longitudes para identificar la forma de arco y la forma de inversión. Cuando la longitud media de SpringLength en el punto más bajo, se juzga como arco; Cuando la longitud media de UpthrustLength en el punto más alto, se juzga como forma de inversión.

  3. En la fase de acumulación se observa la forma de arco y flecha, se hace más; en la fase de distribución se observa la forma de inversión, se hace vacío.

  4. Establezca el nivel de pérdida de la parada. El precio de parada de la posición larga es el precio de cierre ((1 - el porcentaje de pérdida de la parada%), el precio de parada de la posición corta es el precio de cierre ((1 + el porcentaje de pérdida de la parada%)).

  5. En el gráfico se indican las fases de acumulación, las fases de distribución, las formas de arco y flecha y las formas de inversión, para facilitar la identificación de las formas.

Análisis de las ventajas

  1. El uso de métodos de análisis vectorial para identificar las etapas de acumulación y distribución de la acumulación del mercado puede mejorar la fiabilidad de las señales de negociación.

  2. La combinación de las formas de arco y flecha y la forma inversa permite una mayor verificación de las señales de negociación.

  3. La configuración de Stop Loss permite un control efectivo de las pérdidas individuales.

  4. Se puede observar con claridad el proceso de formación de la acumulación al marcar en el gráfico.

  5. Los parámetros de la estrategia son ajustables y se pueden optimizar para diferentes mercados y ciclos de negociación.

Análisis de riesgos

  1. La agregación puede causar que la señal de línea media emita una señal errónea.

  2. Las formas de arco y flecha y las formas invertidas pueden fallar.

  3. La ruptura de los límites de pérdidas puede aumentar las pérdidas.

  4. Los parámetros deben ser ajustados para diferentes mercados, lo que puede causar errores en las señales de negociación.

  5. Los sistemas de intercambio automático pueden no ser lo suficientemente flexibles en cuanto a la hora de regreso a la calle, y requieren una supervisión manual.

Dirección de optimización

  1. Se puede probar la combinación óptima de parámetros en diferentes mercados y en diferentes períodos.

  2. Se puede considerar la adición de un factor de volumen de transacciones para confirmar la señal de transacción.

  3. Se puede configurar un stop loss dinámico que ajusta el nivel de stop loss según las fluctuaciones del mercado.

  4. Se puede considerar la inclusión de elementos básicos para evitar transacciones erróneas en momentos importantes.

  5. Los parámetros de optimización dinámica se pueden agregar a los algoritmos de aprendizaje automático.

Resumir

La estrategia de negociación de ruptura progresiva integra varios métodos de análisis técnico, como el análisis de vectores, el indicador de medias, la identificación de formas, para identificar eficazmente la fuerza del mercado y generar señales de negociación. La estrategia tiene ventajas como la señal de negociación confiable, el riesgo controlado y la visualización clara.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
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/
// © deperp

//@version=5
strategy("Wyckoff Range Strategy",  overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)

// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")

// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))

// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))

// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))

// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust

enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring

// Entry and Exit Conditions
if (enterLong)
    strategy.entry("Long", strategy.long)
    
if (exitLong)
    strategy.close("Long")

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

if (exitShort)
    strategy.close("Short")

// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)

// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)