Makale içeriği

Kanıt ve kapsam

Referanslar yön değişikliğini, ZigZag davranışını ve ATR'yi açıklamaktadır. Her bir işlem bacağı için tek bir sabit eşik değerine sahip yalnızca kapanış işlemlerine odaklanan dedektör, bağımsız bir uygulama önerisidir; karlılık sonucu veya yayınlanmış bir göstergenin birebir kopyası değildir.

Veriler ve piyasalarİşlem kapanışları veya alım satım olaylarında tutarlı bir sıra kullanın. Bu örnekleme seçimleri farklı deneylerdir ve tek bir sonuçta karıştırılmamalıdır.
Araştırmanın zaman dilimleriM30, H=1 ve günlük barlar araştırma örnekleridir. Aynı ATR çarpanı, farklı piyasalarda aynı ekonomik hareketi, gecikmeyi veya işlem maliyetini tanımlamak zorunda değildir.
Fiyat 105 seviyesine ulaştı ancak zirveyi yalnızca 102'de teyit etti; 100'deki sonraki dip noktası, 103'ye doğru bir sıçramanın ardından teyit edildi.Çizimi tam boyutta aç
Sentetik kapanış fiyatları. İlk iki hareket, açıklama amacıyla sabit üç puanlık eşik kullanır. Uç nokta ve teyit işaretleri farklı mumlardadır.

Uygulamalı iş akışı

İş akışı: ATR ZigZag: Nedensel bir tersine dönüş eşiği ile salınımları doğrulama
Adımların tamamı aşağıda açıklanır. Her aşamada eksik veri veya sağlanmayan koşullar için ret nedeni kaydedilmelidir.
  1. Bacağı başlatınYönü, geçici uç noktayı ve ATR referansını kaydedin.
  2. Uç noktayı güncelleyinDevam eden değişiklik yalnızca aktif adayı etkiler.
  3. Ters hareketi ölçünMesafeyi sabit eşik değeriyle karşılaştırın.
  4. Bir etkinlik yayınlaEşiğe ulaşıldığında uç noktanın oluşma ve teyit zamanlarını kaydedin.
  5. Durumu değiştirYeni dondurulmuş eşik değeriyle karşı bacağı başlatın.

Salınım süresi olaylara bağlıdır.

Yükselen bir hareket üç veya otuz mum sürebilir. Algoritma aktif hareket boyunca gözlenen en yüksek kapanışı saklar, ancak bu tepeyi yalnızca yeterince büyük düşüşten sonra teyit eder. Bu yüzden teyit gecikmesi, sağ tarafta sabit sayıda mum kullanan pivot penceresinin aksine değişkendir. Eşiği artırmak daha fazla küçük dalgalanmayı elerken dönüşleri genellikle daha geç saptar.

İçsel zaman araştırması, [1] yüzdelik eşik değerleri üzerinden yönsel değişimi tanımlar. TradingView'in ZigZag'ı kendi pivot yapısına sahiptir ve son segmentini [2] olarak revize edebilir. Bu makale bunun yerine, mevcut adayın ayrı olarak saklandığı, onaylanmış olayların değişmez bir akışını belirtir. Değişen geçici bir uç nokta, açıkça geçici olduğunda kabul edilebilir; ancak bunu geçmişe ait bir işlem sinyali olarak sunmak kabul edilemez.

Dedektör, kendi kuralları çerçevesinde tamamlanmış bir hareketi etiketler. Onaylanmış bir zirvenin piyasanın ulaşabileceği en yüksek fiyat olduğunu iddia etmez. Fiyat anında tekrar tersine dönebilir. Olay tespiti, trend yorumlama ve işlem yönetimi hem kodda hem de raporlamada ayrı ayrı ele alınır, böylece bir katmandaki doğruluk, diğer bir katmandaki başarıyla karıştırılamaz.

Bir işlem aşaması başladığında oynaklık eşiğini dondurun.

Önerilen kural, yeni bacağın başlamasından hemen önceki çubukta ATR14'den A_ref'yi alır ve bu bacak boyunca q×A_ref'yi değiştirmeden tutar. q=2 bir araştırma ayarıdır. Gerçek aralığı ve seçilen yumuşatma yöntemini açıkça tanımlayın; ATR uygulamaları farklı yumuşatma kuralları kullanabilir [3]. Eşik değerini her çubukta yeniden hesaplamak farklı bir dedektör oluşturacaktır.

Uzun süren bir hareket, önceki bir oynaklık rejiminden bir eşik değeri taşıyabilir. Bu, istikrarlı bir kural için kasıtlı bir ödünleşmedir, dondurmanın ekonomik olarak daha üstün olduğunun kanıtı değildir. Uyarlanabilir eşik değerleri inceleniyorsa, bu sürümü ayrı olarak kaydedin ve her eşik güncellemesini saklayın. Tamamlanmış bir grafik oluştururken, geçmiş eşik değerlerini asla en son ATR ile değiştirmeyin.

Temel sürüm, bir mumun tepe ve dibinin sırasını uydurmamak için kapanış fiyatlarını kullanır. Isınma sonrasındaki ilk kapanışta UP durumunu başlatın; bu başlangıç değerini teyit edilmiş dip saymayın. DOWN durumuna geçildiğinde mevcut kapanış geçici dip olur. Gerekli ATR yoksa veya pozitif değilse, başlangıç koşulları sağlanana kadar algılamayı durdurun.

state = UP; extreme = first_close; extreme_i = first_i
threshold = q * ATR[first_i-1]
for each closed bar t after first_i:
    if state == UP:
        if C[t] > extreme: extreme, extreme_i = C[t], t
        elif extreme - C[t] >= threshold:
            emit HIGH(extreme_i, confirmed_at=t, price=extreme)
            state = DOWN; extreme, extreme_i = C[t], t
            threshold = q * ATR[t-1]
    else:
        if C[t] < extreme: extreme, extreme_i = C[t], t
        elif C[t] - extreme >= threshold:
            emit LOW(extreme_i, confirmed_at=t, price=extreme)
            state = UP; extreme, extreme_i = C[t], t
            threshold = q * ATR[t-1]

Sayısal onay ve başarısız işlem sonuçları

Sentetik örnek: A_ref=1.5 ve q=2, üç puanlık ters hareket gerektirir. Kapanışlar 100→102→105→104→103 şeklindedir. Düşüş yalnızca iki puan olduğundan 105 tepesi geçicidir. Sonraki 102 kapanışı, fiyatı 105, oluşma zamanı üçüncü gözlem ve teyit zamanı altıncı gözlem olan HIGH olayını üretir.

Son kapanış yerine 106 gelirse geçici tepe 106 seviyesine taşınır. Henüz teyit olmadığından silinen bir kısa pozisyon sinyali yoktur. 102 seviyesine düşüş teyit edildikten sonra, DOWN hareketinin 100 seviyesine ulaşıp 103 seviyesine döndüğünü ve kendi sabit eşiğinin de üç olduğunu varsayın. 100 dibi 103 seviyesinde teyit edilir. Tamamlanmış çizgi çekici uç noktaları birleştirir, ancak gerçek kararlar 102 ve 103 seviyelerinde mümkün olur.

Doğru tespit sonrasında da işlem kaybedebilir. Sonraki açılışta 101.8 fiyatından girilen, stopu 105.2 olan varsayımsal kısa pozisyonun planlanan fiyat riski 3.4 puandır. Fiyat 106 seviyesine dönerse yapısal hipotez bozulur ve stop kaymalı gerçekleşebilir. Bu dedektör hatası değildir: yön değişimi oluşmuştur, ancak devamı gelmemiştir.

Sınır testlerinde eşiğe tam eşit, bir tick altında ve bir tick üstünde ters hareket bulunmalıdır. Eşitliğin teyit sayılıp sayılmadığını sabitleyin; bu temel sürümde eşitlik teyit eder. Tekrarlanan eşit uç noktaları da test edin: uygulama yalnızca kesinlikle daha yüksek tepede veya daha düşük dipte güncellendiğinden ilk oluşma zamanını korur.

Bir dedektör, devam eden ve tersine dönen işlemler arasında seçim yapmaz.

İki ayrı hipotez mümkündür: yeni onaylanan yön değişikliğini takip etmek veya ona karşı işlem yapmak. Önerilen bir temel çizgi, bir sonraki işlem yapılabilir açılışta bunu takip eder, yeni onaylanan aşırı noktanın ötesinde stop loss emri verir ve ters yöndeki değişimde çıkış yapar. Her bir tarihsel grafik segmenti için iki yorum arasında ayrı ayrı seçim yapmayın.

Yapısal bir stop emri, teyit edilene kadar oldukça uzakta olabilir. Boyut, gerçek giriş-stop mesafesini, tahmini maliyetleri ve portföy kısıtlamalarını yansıtmalıdır. Ekonomik olmayan kurulumları yalnızca gönderimden önce mevcut olan bilgiler kullanılarak reddedin. Beklemedeki bir emir, bir boşluktan zaten doldurulmuşsa, risk cazip olmaktan çıktığı için işlem geriye dönük olarak kaldırılamaz.

Yüzde eşiklerinin kendi payda gösterim kurallarına ihtiyacı vardır: düşüş (peak−C)/peak, yükseliş ise (C−trough)/trough'dir. Bunlar logaritmik getiri uzayında simetrik değildir. Logaritmik fiyat farkı, kesinlikle pozitif fiyatlar için simetrik bir alternatif oluşturabilir. Referans sıfır veya negatif olduğunda sıradan oranlar uygun değildir.

Yürütme testi, aynı mum içinde birden fazla eşiği aşan ani hareketi tekrar oynatmalıdır. Yalnız kapanış kullanan temel sürüm, o kapanıştaki durum geçişinin desteklediği olayı en fazla bir kez üretir; tüm mum içi salınımları yeniden kuramaz. Tick bazlı sürüm daha fazla olay üretebilir; bu, kapanış uygulamasının hatası değil, girdi çözünürlüğünün değişmesidir.

Aktivite ve süreyi karıştırmadan hacmi karşılaştırın.

Daha uzun bir bacak genellikle daha fazla gözlem içerdiği için daha büyük toplam hacme sahiptir. Toplam hacmi, çubuk sayısını, ortalama hacmi ve fiyat değişimini birlikte kaydedin. Önerilen bir çaba özelliği, hacmi max(displacement, tick)'ye böler, ancak tek başına büyük bir oran, emilimi belirlemez veya katılımcıları tanımlamaz.

HIGH teyit edildiğinde extreme_i+1 ile confirmed_at arasındaki aktivite, gözlenen ters hareket aralığına aittir. Bunu uç noktaya kadar birikmiş hacimden ayırın ve uç nokta mumunun hangi bölüme ait olduğunu sabitleyin. Sınır teyitte netleşse de oluşan özellik daha önceki uç noktada biliniyormuş gibi kullanılamaz.

Yararlı bir karşılaştırma, giriş, stop ve pozisyon boyutu kurallarını koruyarak teyit anına aynı seans saatine göre RVOL ekler. Bunun oynaklık gruplarında net getiriyi iyileştirip iyileştirmediğini veya yalnızca geniş spreadli hızlı mumları seçip seçmediğini inceleyin. Yalnız tamamlanan işlemleri raporlayarak fırsat sayısındaki değişimi gizlememek için reddedilen sinyalleri ve eksik hacmi kaydedin.

Test hassasiyeti ve başlatma etkileri

1.5, 2 ve 3 gibi küçük bir q ızgarasını kaydedin. Değeri yalnız geliştirme verisi üzerinde seçip son testten önce sabitleyin. Olay sayısını, piyasa dışında geçen süreyi, mum ve ATR birimleriyle teyit gecikmesini ve stopları aşan fiyat boşluklarının sıklığını raporlayın. Yalnız q=2.03 için süren, fakat 2.0 ve 2.1 için kaybolan performans araştırılmalıdır.

Verinin giderek uzayan başlangıç bölümlerini tekrar oynatmak, geçici uç nokta değişse bile üretilen bütün HIGH ve LOW olaylarını korumalıdır. Her olayla durum, uç nokta zamanı, A_ref ve eşiği saklayın. Daha erken başlangıç, ilk koşullara ve ısınmaya duyarlılığı test eder; aksi hâlde keyfi ilk yön beklenenden uzun bir geçmişi etkileyebilir.

Farklı kayıtlı modeller olarak dondurulmuş ve sürekli uyarlanabilir eşikleri karşılaştırın. Ayrıca, dondurulmuş eşiğin sakin bir dönemin ardından birçok olay üretebileceği yüksek oynaklık geçişlerini ve çok az olay üretebileceği sakin geçişleri inceleyin. Bu teşhisler davranışı açıklar; getirileri gördükten sonra uygun bir rejim seçmek başka bir araştırma denemesi anlamına gelir.

Yaygın hatalar

Tamamlanmamış son bölümden işlem yapma

Geçici bir uç nokta hareket edebilir. Onaylanmış geçmiş sinyal akışından uzak tutun.

Gelecekteki ATR ile geçmişi iyileştirmek

Eski eşik değerlerini daha sonraki oynaklıktan yeniden hesaplamak yerine, eş zamanlı referans değeri olan ATR'yi saklayın.

Fitil ve kapanışı sonuca göre karıştırmak

Uygun uç noktalar için fitilleri, stoplardan kaçınmak için kapanış fiyatlarını kullanmak, tutarsız bilgi ve işlem kuralları oluşturur.

Bu yöntemi kullanmadan önce kontrol listesi

Her maddeyi kendi verilerinizle doğruladıktan sonra işaretleyin. İlerleme bu tarayıcıda saklanır; stratejinin kârlı olduğunu belgelemez.

0/8 madde

Sık sorulan sorular

ATR ZigZag, yüzdelik ZigZag'dan daha mı iyi?

Bu ampirik bir hipotezdir. ATR ölçeği uyarlar, ancak hesaplama dönemi, yumuşatma kuralı ve eşik sabitleme politikasını da ekler; bunların da test edilmesi gerekir.

HIGH teyit edildikten sonra fiyat daha yüksek bir tepe yapabilir mi?

Evet. HIGH, dedektör kuralına göre tamamlanmış bir hareketi anlatır; piyasanın nihai zirvesi veya garantili düşüş tahmini değildir.

Araştırma kaynakları

Her kaynak, yanında açıklanan tanımı veya kanıtı destekler. Sözde kod, sentetik örnekler ve önerilen parametreler ayrı ayrı doğrulanmalıdır.

  1. The Theory of Intrinsic Time: A PrimerJames B. Glattfelder and Richard B. Olsen. Yön değişimi ve çoklu ölçekler incelendi; önerilen ATR sürümünün geriye dönük testi değildir. Kontrol tarihi: .
  2. Zigzag indicatorTradingView. Yapı, öngörülen pivotlar ve son bölümün sınırlamaları incelendi. Kontrol tarihi: .
  3. Average True RangeTradingView. Gerçek aralık ve yumuşatma seçenekleri incelendi. Kontrol tarihi: .

İlgili yöntemler

Risk notu

Bu içerik eğitim ve araştırma tasarımı içindir; finansal tavsiye değildir. Backtest geçmiş verileri simüle eder, gelecekteki performansı garanti etmez ve gerçek işlem emri vermez. Kütüphanedeki yöntemlerin tümü uygulamada hazır özellikler olmayabilir. İlgili bilgiler: metodoloji ve öğrenme merkezi.

Gerçek sermayeyi riske atmadan önce kuralları doğrulayın

Uygulama desteğini, verileri ve her simüle işlemi kontrol edin; gelişmiş tespit yöntemleri ayrı bir uygulama gerektirebilir.

Backtest uygulamasını App Store’dan indirin