Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Bir seçenek. Başkaları var.
İlk ışın bizde. Basitlik için - sıfır çubuğundan geliyor. Sıfır çubuğunun bir yüksek ve bir alçağı vardır. Fiyat, ekstremumlarını değiştirmeden çubuğun içinde hareket eder. Ekstrem değişmediği için, birinci ışın da hareketsiz durmalı ve hareket etmemelidir. Ama orada değildi. İlk ışın seğiriyor. Konumunu değiştirir. Bu sadece istikrarsızlığın dışa dönük tezahürünün bir açıklamasıdır. Algoritma kararlı bir şekilde çalışıyorsa, ZigZag'ın çalışmasının bağlı olduğu piyasa parametreleri (son çubuğun yüksek ve düşük) değişmez, o zaman ilk ışın da seğirmemelidir. Bu sorunla kendim mücadele ettim. Ancak arama fonksiyonlarının fark edilen özellikleri beni foruma gitmeye zorladı.
=========================
Göstergeyi hesaplama sürecinde pencereyi (shift,shift+ExtDepth) hareket ettirdiğimizde, yeni bir ekstremumun ortaya çıkması hem yeni fiyat hem de eski ekstremin pencereden çıkmış olması ile ilişkilendirilebilir. - açık bir şekilde hecelemek güzel olurdu. Açık olmak gerekirse. dilin açıklamasında. Dilin gizli olanaklarını keşfetmemek için.
Bunu yapmak için, eklememde if(highpos!=shift) val=0.0; . Bunun standart kodda nasıl yapıldığını anlamadım. Benim versiyonumdaki asılı ekstremin ortadan kalktığı gerçeğine bakılırsa, bu ya yanlış yapılır ya da hiç yapılmaz. - Bu anı farklı bir şekilde çözdüm: if (High[shift]==val) ZigZagBuffer[shift]=val; ve if (Low[shift]==val) ZigZagBuffer[shift]=val;
Ama anlamı aynı. Ancak bu, tüm sorunları çözmez. Bu nedenle, nedenle değil, sonuçla mücadele ediyoruz. Soruşturmayla aynı şekilde ilgilenmeye çalıştım. Ama ilk ışında çalışmıyor. Mesele şu ki, zikzak algoritması, diyelim ki bölünmüş değil. Bunu açıklayayım. Yanlış hesap tarih boyunca yapılır. Ve bir kısımdaki hataları düzeltirsek, sıfır çubuğu alanında işleme süreci diyelim ki eksik kalır. Doğru kelimeleri bulmakta zorlanıyorum. Dolayısıyla sıfır çubuğu alanındaki bu eksiklik, ekstremumların doğru aranması sorununu ortaya çıkarır.
Çok uzun zaman önce pencere parametrelerini (shift, shift + ExtDepth) seçmeye çalıştım. Geçen gün de bir pencere denedim. Ama şu ana kadar bir sonuç yok.
Bu sorun biliniyor ve teorik olarak düzeltildi (algoritma uzun zamandır kafamdaydı). Her durumda, başka bir çözüm görünmezse, ZigZag algoritmasını optimize edeceğim. Bu şu şekilde yapılır:
1) ilk çalıştırma, mevcut algoritmada olduğu gibi tüm geçmişinde yapılır
2) tarihin derinliklerinde sıfır çubuğundan her tikte , iki ZigZag ekstremumu aranır, son ekstremum zorla öldürülür.
3) sondan bir öncekinden (şimdi sonuncusu), standart ZigZag hesaplama prosedürü tekrar gerçekleştirilir.
4) eğer mevcut uç (ZigZag'ın kuyruğu) teorik olarak bir ekstremum olabilir (son düşükten en yükseğe sahibiz veya tam tersi), o zaman o da bir ekstremum olur.
5) yeni bir onay işaretiyle, 2) noktasından yeniden
Ama orada değildi. İlk ışın seğiriyor. Konumunu değiştirir.
Bunu henüz görmedim. Kirişin bir ucu sabit mi kalıyor? Ve hangisi. Sıfır çubuğundaysa, double türündeki değişkenlerin karşılaştırıldığı koşullara daha yakından bakmaya değer olabilir mi?
Bana öyle geliyor ki bu dil için değil, algoritma için geçerli. Yani, tartışılan fonksiyonların aslında bir ekstremum değil, aralıktaki fiyatın maksimum (minimum) değerini aradığını hatırlatmak, bir kitapta veya bazı yorumlarda daha uygundur.
nokta 4) sonraki kene üzerinde nokta 2) üzerinden bir dosya ile işlenir
Bu sorun biliniyor ve teorik olarak düzeltildi (algoritma uzun zamandır kafamdaydı).
Mesele şu ki ZigZag göstergesini çok zorlu koşullar altında test ediyorum. Dakikada ve 2-1-1 parametreleriyle. Bu test ne için? Bu tür testler, tüm gizli kusurları yeterince hızlı bir şekilde ortaya çıkarır. Ayrıca, göstergenin istisnasız tüm zaman dilimlerinde çalışması arzusu vardır. Piyasa fraktal bir şeydir. Dakikada işlem yapan birçok insan var. Neden onları küçük zaman dilimlerinde tanıdık bir enstrümanla çalışma fırsatından mahrum bırakasınız ki?
Kendi versiyonumu daha çok seviyorum :). Tamsayılarla çalışır. Böyle bir ikili karşılaştırmayla (Low[shift]==val türünden) vuruşlar görünebilir.
Double ile çalışmak şimdiye kadar herhangi bir zorluk yaratmadı. Bellekte, bu numaralar değişmeden saklanır. Ve karşılaştırmam bir hafıza hücresinden değerler alıyor. Bu yerde bir sorun ortaya çıkarsa, bu zaten donanım - bilgisayar için bir sorudur. Demirle bir şeyler yapılmalı.
Bana öyle geliyor ki bu dil için değil, algoritma için geçerli. Yani, tartışılan fonksiyonların aslında bir ekstremum değil, aralıktaki fiyatın maksimum (minimum) değerini aradığını hatırlatmak, bir kitapta veya bazı yorumlarda daha uygundur.
Ben sadece buna dedim - aşırı. Aslında, seçilen alandaki en büyük maksimum ve en küçük minimum. Söylemesi uzun zaman oldu. Ama anlamı aynı.
Uzun süredir CodeBase.mql4.com'dayım. Ama bu açıklamayı anlamak çok zor. Ve çelişkili. Görünüşe göre yaz aylarında Slava zikzak kodunu düzeltti. Bundan sonra, sitede önceki açıklamanın sadece bir kısmı kaldı.
Double ile çalışmak şimdiye kadar herhangi bir zorluk yaratmadı. Bellekte, bu numaralar değişmeden saklanır. Ve karşılaştırmam bir hafıza hücresinden değerler alıyor. Bu yerde bir sorun ortaya çıkarsa, bu zaten donanım - bilgisayar için bir sorudur. Demirle bir şeyler yapılmalı.