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

Retracement Fibonacci avanzado con sistema de negociación de breakout alto y bajo

El autor:¿ Qué pasa?, Fecha: 2024-11-28 15:01:25
Las etiquetas:El HTFFIBOHL- ¿Qué es?- ¿ Qué?Indicador de riesgo

img

Resumen general

Esta estrategia es un sistema de negociación avanzado que combina múltiples herramientas de análisis técnico, basadas principalmente en niveles de retroceso de Fibonacci de mayor plazo y condiciones de ruptura de precios altos y bajos para generar señales de negociación. La estrategia calcula dinámicamente datos de precios de mayor plazo, combinando niveles de retroceso de Fibonacci y condiciones de ruptura de precios personalizadas para formar un sistema completo de decisión comercial. Este enfoque considera tanto las tendencias generales del mercado como las rupturas de precios a corto plazo, capaces de capturar oportunidades comerciales potenciales en los puntos de inflexión del mercado.

Principios de estrategia

La lógica central de la estrategia se basa en tres pilares principales: primero es el análisis del precio del marco de tiempo más alto, estableciendo una perspectiva de mercado más macro mediante el cálculo de precios OHLC diarios o de marco de tiempo más altos. Segundo es el cálculo dinámico de los niveles de retroceso de Fibonacci, estableciendo niveles clave de soporte y resistencia basados en el rango de precios del marco de tiempo más alto. Finalmente, la determinación de la ruptura de precios mediante el establecimiento de los precios más altos y más bajos en los períodos de retroceso como referencias de ruptura. Las señales de compra se activan cuando el precio se rompe por encima de mínimos recientes y cruza por encima del nivel de retroceso de Fibonacci del 50%, mientras que las señales de venta se generan cuando el precio se rompe por debajo de máximos recientes y cae por debajo del nivel de retroceso de Fibonacci del 50%.

Ventajas estratégicas

  1. Análisis multidimensional: Combina los elementos más respetados en el análisis técnico, incluida la acción del precio, el seguimiento de tendencias y el soporte/resistencia.
  2. Alta adaptabilidad: Los parámetros se pueden ajustar de acuerdo con diferentes condiciones del mercado, incluidos períodos de tiempo, períodos de retroceso y niveles de Fibonacci.
  3. Gestión integral del riesgo: Reduce el riesgo de fuga falsa mediante múltiples mecanismos de confirmación.
  4. Alta visualización: todos los niveles de precios clave son claramente visibles en el gráfico, lo que facilita las decisiones comerciales.
  5. Gran flexibilidad: aplicable a diversos instrumentos de negociación y períodos de tiempo.

Riesgos estratégicos

  1. Sensibilidad del parámetro: Diferentes ajustes del período de retroalimentación pueden provocar diferencias significativas en la calidad de la señal.
  2. Dependencia de las condiciones del mercado: puede generar señales falsas excesivas en mercados variados.
  3. Riesgo de retraso: debido al uso de datos de los períodos de retroalimentación, puede faltar los puntos de entrada óptimos en mercados de rápido movimiento.
  4. Riesgo de optimización excesiva: la optimización excesiva de parámetros puede conducir a un rendimiento futuro deficiente.

Direcciones para la optimización de la estrategia

  1. Añadir filtro de volatilidad: Se recomienda añadir indicadores como ATR o ancho de banda de Bollinger para filtrar períodos de baja volatilidad.
  2. Integrar el filtrado de tendencias: puede agregar sistemas de promedios móviles para confirmar la dirección general de la tendencia.
  3. Optimizar el tiempo de entrada: puede mejorar el tiempo de entrada mediante la incorporación de indicadores de impulso como el RSI.
  4. Ajuste dinámico de parámetros: introducir mecanismos adaptativos para ajustar automáticamente los parámetros en función de las condiciones del mercado.
  5. Control de riesgos mejorado: añadir ajustes dinámicos de stop-loss y objetivos de ganancia.

Resumen de las actividades

Este es un sistema de negociación bien diseñado que crea una estrategia de negociación teóricamente sólida y práctica mediante la combinación de múltiples herramientas clásicas de análisis técnico. La característica más importante de la estrategia es su capacidad para proporcionar señales de negociación más confiables a través del análisis multidimensional, manteniendo la flexibilidad suficiente para adaptarse a diferentes entornos de mercado. Si bien hay algunos riesgos inherentes, la estabilidad y la confiabilidad de la estrategia se pueden mejorar aún más a través de las direcciones de optimización sugeridas.


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

//@version=5
strategy("Fibonacci Levels Strategy with High/Low Criteria", overlay = true)

// Kullanıcıdan yüksek zaman dilimini ve mum bilgilerini al
timeframe = input.timeframe(defval = "D", title = "Higher Time Frame")
currentlast = input.string(defval = "Last", title = "Current or Last HTF Candle", options = ["Current", "Last"])

// Kullanıcıdan en düşük ve en yüksek fiyat bakış sürelerini al
lowestLookback = input(20, "Lowest Price Lookback", tooltip="The strategy will BUY when the price crosses over the lowest it has been in the last X amount of bars")
highestLookback = input(10, "Highest Price Lookback", tooltip="If Take-Profit is not checked, the strategy will SELL when the price crosses under the highest it has been in the last X amount of bars")

// Fibonacci seviyeleri ayarları
level0 = input.float(defval = 0.000, title = "Level 0")
level1 = input.float(defval = 0.236, title = "Level 1")
level2 = input.float(defval = 0.382, title = "Level 2")
level3 = input.float(defval = 0.500, title = "Level 3")
level4 = input.float(defval = 0.618, title = "Level 4")
level5 = input.float(defval = 0.786, title = "Level 5")
level100 = input.float(defval = 1.000, title = "Level 100")

// HTF mumlarını hesapla
newbar = ta.change(time(timeframe)) != 0 
var float htfhigh = high
var float htflow = low
var float htfopen = open
float htfclose = close
var counter = 0

if newbar
    htfhigh := high
    htflow := low
    htfopen := open
    counter := 0
else
    htfhigh := math.max(htfhigh, high)
    htflow := math.min(htflow, low)
    counter += 1

var float open_ = na
var float high_ = na
var float low_ = na
var float close_ = na
if currentlast == "Last" and newbar
    open_ := htfopen[1]
    high_ := htfhigh[1]
    low_ := htflow[1]
    close_ := htfclose[1]
else if currentlast == "Current"
    open_ := htfopen
    high_ := htfhigh
    low_ := htflow
    close_ := htfclose

// Fibonacci seviyelerini hesapla
var float[] fibLevels = array.new_float(6)
array.set(fibLevels, 0, open_ + (high_ - low_) * level0)
array.set(fibLevels, 1, open_ + (high_ - low_) * level1)
array.set(fibLevels, 2, open_ + (high_ - low_) * level2)
array.set(fibLevels, 3, open_ + (high_ - low_) * level3)
array.set(fibLevels, 4, open_ + (high_ - low_) * level4)
array.set(fibLevels, 5, open_ + (high_ - low_) * level5)

// Fibonacci seviyelerini grafik üzerine çiz
plot(array.get(fibLevels, 0), color=color.new(color.blue, 75), title="Fibonacci Level 0")
plot(array.get(fibLevels, 1), color=color.new(color.green, 75), title="Fibonacci Level 1")
plot(array.get(fibLevels, 2), color=color.new(color.red, 75), title="Fibonacci Level 2")
plot(array.get(fibLevels, 3), color=color.new(color.orange, 75), title="Fibonacci Level 3")
plot(array.get(fibLevels, 4), color=color.new(color.teal, 75), title="Fibonacci Level 4")
plot(array.get(fibLevels, 5), color=color.new(color.navy, 75), title="Fibonacci Level 5")

// En düşük ve en yüksek fiyat kriterlerini hesapla
lowcriteria = ta.lowest(low, lowestLookback)[1]
highcriteria = ta.highest(high, highestLookback)[1]

plot(highcriteria, color=color.green, title="Highest Price Criteria")
plot(lowcriteria, color=color.red, title="Lowest Price Criteria")

// Fibonacci seviyeleri ile ticaret sinyalleri oluştur
longCondition = close > lowcriteria and close > array.get(fibLevels, 3) // En düşük kriterin ve Fibonacci seviyesinin üstüne çıkarsa alım
shortCondition = close < highcriteria and close < array.get(fibLevels, 3) // En yüksek kriterin ve Fibonacci seviyesinin altına düşerse satış

if (longCondition)
    strategy.entry("Long", strategy.long)

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


Relacionados

Más.