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
Basit fiyat yapılarını MKL4'ten MKL5'e aktarmak için bir algoritma yazıyorum, MKL4 kodunu MKL5 stokastik masd ve rsai'ye kopyalama örneklerine, MKL4 verilerine erişmenin ana yöntemleri orada kullanılıyor.
yakında olacak, ne olmalı
Şimdi iMaOnArrau işleviyle mücadele ediyorum, çünkü MT5'te özel dizilerden en basit hareketli ortalama yöntemlerini almak sağlanmamıştır.
Kütüphaneleri tüm teknik araçlara genişleteceğim, neredeyse tüm algoritmaları biliyorum
Aptal olduğum bir şey ... Sadece nasıl yazacağımı bulamıyorum ...
Bu kod var:
Ardından, i-inci ile j-inci arasındaki çubuklar arasında minimum Düşük olan çubuğun indeksini almam gerekiyor.
ArrayMinimum işlevini kullanmaya çalışıyorum.
int k=ArrayMinimum(rates.low,i,j-i+1); - doğru değil
int k=ArrayMinimum(oranlar[].düşük,i,j-i+1); - doğru değil
Nasıl doğru olacak?
Aptal olduğum bir şey ... Sadece nasıl yazacağımı bulamıyorum ...
Bu kod var:
Ardından, i-inci ile j-inci arasındaki çubuklar arasında minimum Düşük olan çubuğun indeksini almam gerekiyor.
ArrayMinimum işlevini kullanmaya çalışıyorum.
int k=ArrayMinimum(rates.low,i,j-i+1); - doğru değil
int k=ArrayMinimum(oranlar[].düşük,i,j-i+1); - doğru değil
Nasıl doğru olacak?
Doğrudan erişim işlevlerini kullanın, MqlRates bir "yapılar" dizisidir ve burada bir Düşük dizisine ihtiyacınız vardır, burada hemen Yüksek için bir örnek verilmiştir.
Kod örneklerine bakın. Bu, https://www.mql5.com/en/code/102 adresinden
Doğrudan erişim işlevlerini kullanın, MqlRates bir "yapılar" dizisidir ve burada bir Düşük dizisine ihtiyacınız vardır, burada hemen Yüksek için bir örnek verilmiştir.
Bu temiz. Benim durumumda, sadece şunu yazdım:
Şey, bir sürü dizi istemiyorum ... Kaynaklar açısından ekonomik değil ve çok güzel değil ...
Sadece ArrayMinimum ile uğraşmak istedim - bu işlevi bir dizi yapı ile kullanmak mümkün mü ....
Bu temiz. Benim durumumda, sadece şunu yazdım:
Şey, bir sürü dizi istemiyorum ... Kaynaklar açısından ekonomik değil ve çok güzel değil ...
Sadece ArrayMinimum ile uğraşmak istedim - bu işlevi bir dizi yapı ile kullanmak mümkün mü ....
Bir dizi bilgiyi bir dizi yapı içinde depolamanın ikili bir diziden daha ekonomik olduğunu düşünüyorsanız, o zaman kollarımı açıyorum.
Yoksa int'leri, long'ları ve tarihleri depolamanın bellek açısından daha ekonomik olduğunu mu düşünüyorsunuz? ;))
ya da daha ekonomik olarak ihtiyacınız olanı bir çöp yığınından seçin, ha ha ...
Bir dizi bilgiyi bir dizi yapı içinde depolamanın ikili bir diziden daha ekonomik olduğunu düşünüyorsanız, o zaman kollarımı açıyorum.
Yoksa int'leri, long'ları ve tarihleri depolamanın bellek açısından daha ekonomik olduğunu mu düşünüyorsunuz? ;))
ya da daha ekonomik olarak ihtiyacınız olanı bir çöp yığınından seçin, ha ha ...
Genellikle, bir şey sormadan önce, cevap aramak için çeşitli kaynaklara bakarım.
Ama şimdi, bir haftalık çileden sonra anladım - bir cevabım yok ve bence henüz kimse bununla karşılaşmadı. Bu yüzden bir bulmaca öneriyorum.
İlk veri:
1) Düzeyler ve Oklar gibi basit bir gösterge var iS7N_SacuL_v3.mq5 (ekli)
2) Bu göstergeden veri almaya çalışan Uzman Danışman aS7N_TIC.mq5 (ekli)
İşte burada!
Beş gösterge arabelleğinden yalnızca ikisi verileri doğru şekilde döndürür.
Detaylı açıklamalar takip edilecek!
Duruma daha dikkatli baktıktan sonra, hem 3 hem de 4 gösterge arabelleklerinin her zaman doğru verileri vermediğini buldum (hangilerinin doğru ve hangilerinin olmadığını anlamak imkansız olsa da)
Tabloya bakın. Veri penceresinde solda grafikte ayarlanan göstergenin değeri, altta Uzman Danışman tarafından alınan verilerdir. Değerlerin çoğu aynı, ancak böyle olanlar da var, aşağıya bakın ...
Bu bağlamda, grafikte ve test cihazında farklı tarihsel verilerin kullanıldığı varsayımı vardı.
Kim ne düşünüyor?
Ve nihayet asıl sorun! 1,2 ve 5 gösterge tamponları için olağan şekilde veri elde etmek mümkün değildir.
Sorun şu ki, bu diziler için veriler hesaplanırken, önceki çubukların önceden hesaplanmış verileri dikkate alınır.
Tabii ki, göstergeyi çağırırken, prev_calculated değerinden bağımsız olarak yaklaşan N çubuğu yeniden hesaplamaya zorlamasını söyleyebilirsiniz.
Gösterge değerlerinin çağrılması ve hesaplanmasının 0'a eşit olmayan prev_calculated değeriyle gerçekleştiğini varsayıyorum.
Bu çoğu gösterge için geçerlidir, çünkü kaynakları korur, ancak verilen örnek için çalışmayacaktır.
Ne yapalım? Hangi düşünceler?
Opsiyonel olarak tüm hesaplamaları bir uzmana aktarabilirsiniz!!! Bu seçenek işe yarıyor ama o kadar değil ... Hala kafamın üzerinde olmayan pantolon giymek istiyorum.
EA'da kullanılan
değer 0. çubuktan alınır, bunun için gösterge tamponlarının değerleri mum kapanana kadar her tikte değişir.