
La estrategia utiliza el indicador ZigZag en el marco de tiempo superior (HTF), traza el camino ZigZag en el marco de tiempo inferior (LTF) y genera señales de negociación basadas en el precio de apertura y cierre de la línea de HTF. La idea principal de la estrategia es utilizar la dirección de la tendencia de HTF para guiar las decisiones de negociación de LTF, mientras que el indicador ZigZag se utiliza para determinar las posiciones clave de soporte y resistencia.
La estrategia de HTF Zigzag Path utiliza el indicador ZigZag de un marco de tiempo superior para trazar un camino ZigZag en un marco de tiempo inferior y generar una señal de negociación en función del precio de apertura y cierre de la línea HTF. La ventaja de esta estrategia es que utiliza la dirección de la tendencia de HTF para guiar las decisiones de negociación de LTF, mientras que utiliza el indicador ZigZag para determinar las posiciones clave de soporte y resistencia. Sin embargo, la estrategia también presenta algunos riesgos, como la posibilidad de perder información importante sobre el cambio de precios, el indicador ZigZag puede generar señales erróneas, etc. Para optimizar la estrategia, se puede considerar la introducción de más indicadores técnicos, optimizar los parámetros del indicador ZigZag, agregar un módulo de control de riesgo y posición, y considerar aspectos fundamentales y de análisis de la emoción del mercado, etc.
/*backtest
start: 2023-04-22 00:00:00
end: 2024-04-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("HTF Zigzag Path Strategy", overlay=true, max_boxes_count=500)
// Kullanıcıdan alınan HTF zaman çerçevesi (15 dakika)
htf_timeframe = input.timeframe("15", title="Higher Time Frame")
// Renk ayarlarını belirleme
upColor = input.color(color.white, title="Bullish Candle Color")
downColor = input.color(color.white, title="Bearish Candle Color")
zigzagColor = input.color(color.black, title="Zigzag Line Color")
// HTF verilerini almak
[htfO, htfH, htfL, htfC, htfOpenTime, htfCloseTime] = request.security(syminfo.tickerid, htf_timeframe, [open, high, low, close, time, time_close])
// Geçmiş yüksek ve düşük noktaları saklamak için değişkenler
var float prevHigh = na
var float prevLow = na
// Zigzag çizgilerini saklamak için bir dizi oluşturma
// var line[] zigzag_lines = array.new_line()
// LTF grafikte HTF mum çubuklarını göstermek için kutular oluşturma
// HTF mum çubukları kutuları
// box.new(left=htfOpenTime, top=htfH, right=htfCloseTime, bottom=htfL, border_color=downColor, border_width=1, xloc=xloc.bar_time)
// box.new(left=htfOpenTime, top=htfO, right=htfCloseTime, bottom=htfC, border_color=upColor, border_width=1, xloc=xloc.bar_time)
// Zigzag yolu oluşturmak için yüksek ve düşük noktaları bağlama
if na(prevHigh) or na(prevLow)
prevHigh := htfH
prevLow := htfL
else
// Zigzag çizgilerini çiz
// line.new(x1=bar_index - 1, y1=prevHigh, x2=bar_index, y2=htfH, color=zigzagColor, width=2)
// line.new(x1=bar_index - 1, y1=prevLow, x2=bar_index, y2=htfL, color=zigzagColor, width=2)
// Geçmiş yüksek ve düşük noktaları güncelle
prevHigh := htfH
prevLow := htfL
// Örnek işlem stratejisi
// HTF mum çubuklarının açılış ve kapanış fiyatına göre alım ve satım sinyalleri
longSignal = htfC < htfO // Eğer HTF mum çubuğunun kapanışı açılışından düşükse, alım sinyali ver
shortSignal = htfC > htfO // Eğer HTF mum çubuğunun kapanışı açılışından yüksekse, satım sinyali ver
// Alım işlemi
if longSignal
strategy.entry("Alım", strategy.long)
// Satım işlemi
if shortSignal
strategy.entry("Satım", strategy.short)