En la carga de los recursos... Cargando...

Estrategia de negociación de ruptura de la zona de precios dinámica basada en el sistema cuantitativo de soporte y resistencia

El autor:¿ Qué pasa?, fecha: 2024-12-11 15:03:50
Las etiquetas:

img

Resumen general

Esta estrategia es un sistema de negociación cuantitativo basado en las rupturas de los rangos de precios. Funciona estableciendo dinámicamente límites de precios superiores e inferiores y ejecutando operaciones cuando los precios rompen estos niveles clave. El concepto central es capturar oportunidades de tendencia cuando el mercado rompe los rangos de precios establecidos mientras se adapta a los cambios del mercado a través del ajuste dinámico de las zonas de precios. La estrategia emplea una gestión de posición flexible, lo que permite operaciones adicionales en la misma dirección para maximizar las ganancias de las principales tendencias.

Principios de estrategia

La estrategia funciona basándose en los siguientes mecanismos básicos: primero, establece tamaños de paso apropiados para diferentes instrumentos de negociación, generalmente alrededor del 1.5% del precio del instrumento. El sistema establece zonas de precios por encima y por debajo del precio actual, activando señales largas cuando los precios rompen por encima del límite superior y señales cortas cuando rompen por debajo del límite inferior. Después de cada ruptura, las zonas de precios se ajustan para adaptarse al nuevo entorno del mercado. La estrategia admite la adición de posiciones en la misma dirección, lo que permite hasta 200 posiciones, lo que permite maximizar las ganancias durante tendencias fuertes.

Ventajas estratégicas

  1. Una fuerte adaptación dinámica: las zonas de precios se ajustan automáticamente a los cambios del mercado, lo que permite que la estrategia se adapte a las diferentes condiciones del mercado.
  2. Capacidad excelente para seguir tendencias: al permitir posiciones adicionales en la misma dirección, la estrategia puede capitalizar plenamente las tendencias fuertes.
  3. Control integral del riesgo: se establecen condiciones de stop-loss claras, cerrando automáticamente las posiciones cuando los precios se rompen por debajo de la zona.
  4. Amplia aplicabilidad: La estrategia puede aplicarse a diversos mercados mediante parámetros de tamaño de paso apropiados para diferentes instrumentos de negociación.
  5. Alta eficiencia computacional: emplea persistencia variable y métodos de cálculo eficientes para garantizar el funcionamiento sin problemas de la estrategia.

Riesgos estratégicos

  1. Riesgo de mercado alterado: las roturas falsas frecuentes en los mercados de rango pueden dar lugar a paradas consecutivas.
  2. Gestión del riesgo de posición: la suma de posiciones en la misma dirección puede dar lugar a una concentración excesiva, lo que requiere un control adecuado de la exposición al riesgo direccional.
  3. Riesgo de deslizamiento: un deslizamiento significativo durante períodos volátiles puede afectar al rendimiento de la estrategia.
  4. Sensibilidad de parámetros: la eficacia de la estrategia depende directamente de la configuración adecuada del tamaño del paso, lo que requiere pruebas exhaustivas.

Direcciones para la optimización de la estrategia

  1. Incorporar indicadores de volatilidad: ajustar dinámicamente los tamaños de los pasos en función de la volatilidad del mercado para mejorar la adaptabilidad de la estrategia.
  2. Mecanismos de filtración: Incluir indicadores de confirmación de tendencia para reducir las pérdidas por fallas.
  3. Mejorar la gestión de las posiciones: diseñar mecanismos de control de posiciones más detallados para equilibrar los rendimientos y los riesgos.
  4. Optimizar la ejecución de órdenes: agregar enrutamiento de órdenes inteligente para reducir el impacto del deslizamiento.
  5. Incluir la dimensión temporal: considerar las características del tiempo del mercado para ajustar los parámetros de la estrategia durante diferentes períodos.

Resumen de las actividades

Esta es una tendencia bien diseñada siguiendo una estrategia con lógica clara. A través de configuraciones y ajustes dinámicos de la zona de precios, combinados con una gestión flexible de posiciones, la estrategia puede capturar eficazmente las oportunidades de tendencias del mercado. Aunque hay espacio para la optimización, en general, la estrategia proporciona un marco comercial cuantitativo robusto. A través de la optimización y mejora continuas, el rendimiento de la estrategia puede mejorarse aún más.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=5
// 每个图表上画对应间隔的横线,自己手画吧
// 同方向追加20单,订单成交后重新计算,每个tick重新计算,变量保存1000个周期,k线结束后再处理一次订单,按照代码顺序来绘制plot
strategy("Price Level Breakout Strategy", overlay=true, pyramiding=200, calc_on_order_fills=true, calc_on_every_tick=true, max_bars_back=1000, process_orders_on_close=true, explicit_plot_zorder=true)
// var创建持久性变量,:=是更新变量,不重新声明
// 这个是全局变量
// a = array.new<string>(200)
// array.push(a, "a")
// plot(close, color = array.get(a, close > open ? 1 : 0))
string ticker = syminfo.ticker
var float step_size = 1000
// label.new(x=bar_index, y=close, text="当前品种代码: " + ticker)
// 根据定值画1.5的平行线
if ticker == "000300"
    step_size := 4000 * 0.015
if ticker == "XAUUSD"
    step_size := 3000 * 0.016
if ticker == "BTCUSD"
    step_size := 60000 * 0.015
if ticker == "SILVER"
    step_size := 50 * 0.015
if ticker == "UKOIL"
    step_size := 150 * 0.015
if ticker == "GBPUSD"
    step_size := 1.6 * 0.015
if ticker == "EURUSD"
    step_size := 1.1 * 0.015
    // 从0开始画200条间隔线
if ticker == "USDJPY"
    step_size := 100 * 0.015
var float start_value = close
var float up_number = close + step_size
var float low_number = close - step_size
// hline(3.14, title='Pi', color=color.blue, linestyle=hline.style_dotted, linewidth=2)
// plot(1)
// 当价格突破上限,产生买入信号
if close > up_number
    // 生成买入信号
    strategy.entry(id = "Buy", direction = strategy.long)
    // 更新新的价格区间
    start_value := start_value + step_size
    up_number := start_value + step_size
    low_number := start_value - step_size
    strategy.close(id = "Sell")
// 当价格跌破下限,产生卖出信号
if close < low_number
    // 生成卖出信号
    strategy.entry("Sell", strategy.short)
    // 更新新的价格区间
    start_value := start_value - step_size
    up_number := start_value + step_size
    low_number := start_value - step_size
    strategy.close(id = "Buy")


Más.