Esta estrategia es un sistema de negociación basado en la teoría del fractal de precios, que identifica estructuras fractales de mercado y combina condiciones de disparo de punto fijo con ajustes de toma de ganancias para el comercio automatizado.
La lógica central incluye los siguientes pasos clave: 1. Identificación de fractales: identifica fractales superiores e inferiores comparando tres velas consecutivas. Un fractal inferior se forma cuando el candelero medio es más bajo que los adyacentes; un fractal superior se forma cuando el candelero medio es más alto que los adyacentes. 2. Condiciones de entrada: los conjuntos compran el precio de activación 107 puntos por encima de los fractales inferiores identificados; los conjuntos venden el precio de activación 107 puntos por debajo de los fractales superiores identificados. 3. Configuración de ganancias: coloca niveles de ganancias de 107 puntos desde el precio de entrada. 4. Gestión de posiciones: realiza un seguimiento continuo de las últimas posiciones fractales y actualiza los precios de activación de entrada en consecuencia.
Esta estrategia combina la teoría fractal con los conceptos de ruptura de impulso para construir un sistema comercial completo. Sus fortalezas se encuentran en la objetividad y la alta automatización, aunque enfrenta algunos desafíos de adaptabilidad al mercado. A través de medidas de optimización como el ajuste de parámetros dinámicos y el reconocimiento del entorno del mercado, la estabilidad y la rentabilidad de la estrategia pueden mejorarse aún más. En el comercio en vivo, los inversores deben ajustar los parámetros en función de su tolerancia al riesgo y el tamaño del capital.
/*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 strategy("Fractal Buy/Sell Strategy with 107 Pips Target", overlay=true) // 输入参数 trigger_pips = input.int(107, title="Entry Distance (Pips)") // 入场点距离底分型或顶分型的距离 take_profit_pips = input.int(107, title="Take Profit (Pips)") // 止盈点数 pip_value = syminfo.mintick * 10 // 点值(每点等于多少价格单位) // 计算分型 is_bottom_fractal = low[1] < low[2] and low[1] < low[0] // 判断是否为底分型 is_top_fractal = high[1] > high[2] and high[1] > high[0] // 判断是否为顶分型 // 存储分型位置 var float last_bottom_fractal = na var float last_top_fractal = na // 更新分型值 if is_bottom_fractal last_bottom_fractal := low[1] if is_top_fractal last_top_fractal := high[1] // 计算开盘价格 bottom_trigger_price = na(last_bottom_fractal) ? na : last_bottom_fractal + trigger_pips * pip_value top_trigger_price = na(last_top_fractal) ? na : last_top_fractal - trigger_pips * pip_value // 交易逻辑:底分型多单和顶分型空单 if not na(last_bottom_fractal) if close <= bottom_trigger_price strategy.entry("Buy", strategy.long) strategy.exit("Take Profit", from_entry="Buy", limit=bottom_trigger_price + take_profit_pips * pip_value) if not na(last_top_fractal) if close >= top_trigger_price strategy.entry("Sell", strategy.short) strategy.exit("Take Profit", from_entry="Sell", limit=top_trigger_price - take_profit_pips * pip_value) // 绘制分型和触发价格 plotshape(series=is_bottom_fractal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bottom Fractal") plotshape(series=is_top_fractal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Top Fractal") plot(bottom_trigger_price, title="Buy Trigger", color=color.green, linewidth=1) plot(top_trigger_price, title="Sell Trigger", color=color.red, linewidth=1)