MA beslemesinin birikiminin tespiti nasıl algoritmalaştırılır? - sayfa 9
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Beyler, hala yukarı veya aşağı anlamıyorum
Doğru.
Hangi niceliklerin hesaplanması gerekiyor, örneğin:
{0.5} - ortanca
{0,25, 0,5, 0,75} - çeyrekler
{0.01, 0.02, ..., 0.99} - yüzdelikler
Lütfen bana söyle.
Bir diziyi MathQuantile'den geçirirseniz, sıralanması gerekir mi?
- Derecenin önemli olmadığını anlıyorum. veya derece değil.
Dizinin diziyi izlemediği ortaya çıktı. kuantum fiyatlar tarafından hesaplanır ve fiyatın eklendiği dizinin indeksi ...
Medyan veya kuantumlu bu matematiğin sorunu tatmin edici bir şekilde çözmediğini anlıyorum!
Yapamayacağım bir şey...
Belirtilen nicelikler için bir dizi değer döndürülür. Sıralanmamış dizideki bu değerlerin indeksleri bilinmemektedir. Her şey hız ile ilgili. Bu fonksiyon her çubukta hesaplanırsa ve değer dizisi büyükse, optimizasyon süresi gecikebilir. Farklı giderdim, ama bu sana kalmış.
Bir diziyi MathQuantile'den geçirirseniz, sıralanması gerekir mi?
Herhangi bir permütasyonda (örneğin sıralama) sonuç değişmemelidir.
Belirtilen nicelikler için bir dizi değer döndürülür. Sıralanmamış dizideki bu değerlerin indeksleri bilinmemektedir. Her şey hız ile ilgili. Bu fonksiyon her çubukta hesaplanırsa ve değer dizisi büyükse, optimizasyon süresi gecikebilir. Farklı giderdim, ama bu sana kalmış.
Hangi yolu seçerdiniz?
Alexey, sorunu hangi yolla çözecek)!
Kendiniz için hangi görevi belirlediğinizi bilmiyorum, ancak genel olarak konuşursak, döngüsel hesaplamalar ne kadar az olursa, algoritma o kadar hızlı olur. Bir ana döngü var - bu tarihin tüm çubuklarından bir geçiş, ondan kaçamayız. Ve geri kalanından kurtulmaya çalışman gerekiyor. Ne de olsa MathQuantile, iHighest ve diğerleri işlevleri aslında aynı zamanda gizli döngülerdir. Hızlandırmak için bilgiyi geldiği gibi işlemek ve bir sonraki çubuğa kadar saklamak gerekir. Ve mevcut hesaplamalarda, artık ham geçmiş verileri talep etmeyin, önceden hazırlanmış olanları kullanın.
Medyanların ve diğer niceliklerin bulunması durumunda, bilgi elde edildikçe sıralı bir diziyi sürdürmek daha ucuzdur. Kod yukarıda yazılmıştır. İçinde bilginin gerekli olduğu bir "kayan pencereniz" varsa, eski değerleri diziden aynı hızlı şekilde nasıl çıkaracağınızı düşünmeniz gerekir. İndeksleri saklamak için muhtemelen başka bir diziye ihtiyacınız olacak.
ısı haritasını hesaplamak için yaklaşık bir algoritma (örneğin, 100 bar için):
1'den 100'e kadar olan tüm Kapanışlar için:
Kapat[N]=X, ısı haritasına seri ısı haritasının toplamını ekler[Çözünürlük(X)]+={X/N} + {X/(N+1)}+{X/(N+2)} .. 100'e kadar .
Kıvrımlı parantez içinde ortalamaların "bileşenleri" olduğu gerçeğini az önce vurguladım.
Çözünürlük(X) - "çözünürlük", örneğin, her Turda 10 puan((X-MinnalX)/Puan/10)
ihtiyacınız olan yerel maksimumu bulabileceğiniz bir vektör elde edersiniz.
bu vektör pratikte dikey bir fiyat profilidir
Lütfen ısı haritasının hesaplanmasına yardım eder misiniz? medyan üzerinden denendiğinde, nicelik MA kümelerinin normal tespitini başaramaz.
Yapılması gerekenleri gösterebiliyorsanız, hesaplama (her seferinde bir çubuk).
Lütfen ısı haritasının hesaplanmasına yardım eder misiniz? medyan üzerinden denendiğinde, nicelik MA kümelerinin normal tespitini başaramaz.
Yapılması gerekenleri gösterebiliyorsanız, hesaplama (bir çubuk).
optimizasyonlar, matrisler ve karmaşık matematik olmadan kafa kafaya:
1. Mevcut çubuk için tüm MA'ları ayrı ayrı sayarız. SMA[N] dizisini alıyoruz kısaca maskotların değerleri N'ye kadar
2. Minimum=1.000000'den başlayan fiyatları kapsayan bir ısı haritası[M] oluşturun.Her eleman (örneğin) çözünürlük=10 puandan sorumludur.
3. Bu "ham" ısı haritasını doldurun: her ma-shki'nin değerini alın ve hangi hücreye ait olduğuna bakın. indeks=(SMA[i]-minimum)/çözünürlük. Bu hücrenin değerini artır hetmap[index]+=1.0
sonuç CSV'de görüntülenebilir ve düşünce
4. Ham ısı haritası değerlerini yumuşatma: pürüzsüz[] dizisini oluşturun ve i-window'dan i+window dahil olmak üzere ortalama smotch[i]=ortalama ısı haritası değerini hesaplayın
5. Yerel smootch yüksekleri "yem birikimini" gösterecektir. Umarım maksimumu nasıl arayacağınızı biliyorsunuzdur :-)
1-5 arasındaki noktalar matematik tarafından ayrıştırılabilir ve minimum döngü ve ek dizilerle çok daha hızlı hesaplanabilir, ancak daha net olacağı bir gerçek değil