
Стратегия использует показатель ZigZag для высоких временных рамок (HTF), начерчивает путь ZigZag для более низких временных рамок (LTF) и генерирует торговые сигналы на основе цены открытия и закрытия линии HTF. Основная идея стратегии заключается в использовании направления тренда HTF для руководства торговыми решениями LTF, а также использование показателя ZigZag для определения ключевых позиций поддержки и сопротивления.
Стратегия HTF Zigzag Path использует ZigZag-индикаторы высоких временных рамок, чтобы нарисовать путь ZigZag на более низких временных рамах и генерировать торговые сигналы на основе цены открытия и закрытия линии HTF. Преимущество этой стратегии заключается в том, что она использует направление тренда HTF для руководства торговыми решениями LTF, а также использует ZigZag-индикаторы для определения ключевых позиций поддержки и сопротивления. Однако, стратегия также имеет некоторые риски, такие как возможность упустить важную информацию о ценовых изменениях, ZigZag-индикаторы могут создавать ошибочные сигналы и т. Д. Для оптимизации стратегии можно рассмотреть возможность введения большего количества технических индикаторов, оптимизации параметров ZigZag-индикатора, добавления модуля управления рисками и контроля позиции, а также учета основных аспектов и анализа рыночной эмоции.
/*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)