MetaEditor'u geliştirmek için öneriler - sayfa 10

 
Yedelkin :

Güzel bir örnek istemiştim.

Bir göstergenin 10 arabelleği varsa, MQL4'te, örneğin, bir satır kullanarak yedinci gösterge arabelleğinin dünün değerlerinden önceki gün alabileceğinizi söylemek ister misiniz?

Ah-huh, https://docs.mql4.com/ru/indicators/icustom
iCustom - Документация на MQL4
  • docs.mql4.com
iCustom - Документация на MQL4
 
Renat :
Beyler, MQL5'teki gösterge arabelleklerine erişim sistemi, MQL4'tekinden çok daha verimli ve daha hızlıdır.

Kimse verimlilikten bahsetmiyordu, bu rahatlıktan bahsediyor.

Ancak, kopyala-yapıştır işlemini her düzeltmeniz gerektiğinde ve ardından her zaman hantal kodla karşılaştığınızda, herhangi bir göstergeyi çağırmak için evrensel bir sarmalayıcı yapmak imkansızdır.

Ama bu sadece bir alışkanlık meselesi, aksi takdirde 4-ke'de olmasaydı, hiç konuşma olmazdı.

 

Bir programcının işi, sorunları verimli bir şekilde çözmek ve aslında yavaş olan ama bir programcı için ucuz olan bir çözüm bulmak değil. MQL4'te gösterge verilerine hızlı toplu erişim elde etme şansı yoktu, ancak MQL5'te bu tür erişim mevcuttur.

Besteci saçma sapan şeyler yayınlamayı bırakmalıdır. Aslında, bir kişi MQL4'teki N çağrının N adet senkronize ve MQL5'teki pahalı çağrılar olduğunu, MQL5'teki tek bir arabellek isteğine ve ardından N anında, senkronizasyon olmadan yerel diziye erişim olduğunu anlamaz. MQL4'te geçmişe her erişimde kritik bölümler aracılığıyla senkronizasyonun maliyetini ve karmaşık bir sistem işlevinde tam erişim döngüsünden geçmenin en azından maliyetini düşünün.

Eski yöntemlerden kat kat daha etkili bir çözüm öneriliyorsa, bu kesinlikle nihai sonuç için daha faydalıdır. Verimlilik daha önemlidir.

 

Anladım. Net bir örnek yok :) Neyse devam edelim. Bağlantınızı bir satırda kullanarak onuncu gösterge arabelleğinin dünkü değerlerinden önceki günün dizisi nasıl alınır?

Anahtar Sözcükler: a) dizi , b) onuncu gösterge arabelleği. :)

 
Renat :

Besteci saçma sapan şeyler yayınlamayı bırakmalıdır. Aslında insanlar bunu anlamıyor ...

Renata okumayı öğrenmeli. Aslında ne yazdıklarını, ne de yazarların hangi pozisyonu aldığını anlamıyor.

Anladığım pozisyonun özünü başka bir forum üyesine açıklarsam bu, bu pozisyona bağlı kaldığım anlamına gelmez. Ayrıca, özellikle donuklar için " bu sadece bir alışkanlık meselesi" diye açıkladım ve hiçbir sorun yok.

 
Yedelkin :

Anladım. Net bir örnek yok :) Neyse devam edelim. Bağlantınızı bir satırda kullanarak onuncu gösterge arabelleğinin dünkü değerlerinden önceki günün dizisi nasıl alınır?

Anahtar Sözcükler: a) dizi , b) onuncu gösterge arabelleği. :)

Buraya kopyalamak ister misin? İşte buradasın:

 double val= iCustom ( NULL , PERIOD_D1 , "SampleInd" , 9 , 2 );

9 - arabellek indeksi (arka arkaya 10.), 2 - çubuk indeks.

val değişkeni, 10. gösterge arabelleğinin dünkü değerinden önceki gün atanır.

Sorunuzdaki diziyi yeni gördüm. Açıkça birkaç değer elde etme ihtiyacını belirtmek mümkün oldu.

Bu durumda cevap hayırdır, tek satırda bir dizi döndüremezsiniz. Ancak bunu yapacak basit bir fonksiyon yazabilirsiniz. Doğru, o zaman MQL5'ten pratikte hiçbir fark olmayacak - her gösterge için kendi işlevinizi yazmanız gerekecek.

 
"Bir satır harika, ama üç çok kötü" pozisyonunuzu görüyorum.

Teknik açıklamalara tepki vermiyorsunuz, her iki terminalin de iç mimarisini bilmiyorsunuz, aramaların maliyetini bilmiyorsunuz ama sadece etkin erişim yöntemlerini yaratanların kararlarını eleştirmiyorsunuz, aynı zamanda bunların çözümlerini de açıklıyorsunuz. sebepler.
 

komposter :

Yedelkin :

kompost :

Yedelkin : Bir göstergenin 10 arabelleği varsa, MQL4'te örneğin, bir satır kullanarak yedinci gösterge arabelleğinin dünkü değerlerini alabileceğinizi söylemek ister misiniz?

Ah ...


...Tamam, devam edelim. Bağlantınızı bir satırda kullanarak onuncu gösterge arabelleğinin dünkü değerlerinden önceki günün dizisi nasıl alınır?

Anahtar Sözcükler: a) dizi , b) onuncu gösterge arabelleği. :)


Sorunuzdaki diziyi yeni gördüm. Açıkça birkaç değer elde etme ihtiyacını belirtmek mümkün oldu. Bu durumda cevap hayırdır, tek satırda bir dizi döndüremezsiniz.

Açık. " Dünden önceki gün değerleri " ile ilgili sorumun dikkatsizce okunması yanlış cevaba yol açtı. Bu yüzden " değerler " terimi yerine "değerler dizisi" gibi bir totoloji kullanmak zorunda kaldım. Sonuç olarak doğru cevap alındı, o halde onu da yazalım: hayır MQL4'te dünün bir önceki günkü değerlerini tek satırda döndüremezsiniz.

kompost :

Buraya kopyalamak ister misin? İşte buradasın:

 double val= iCustom ( NULL , PERIOD_D1 , "SampleInd" , 9 , 2 );

9 - arabellek indeksi (arka arkaya 10.), 2 - çubuk indeks.

val değişkenine, dünden önceki gün, 10. gösterge tamponunun değeri atanır .

Zaten anladığınız gibi soru "dünün değerlerinin bir önceki gün" çoğulluğu ile ilgiliydi ve aynı zamanda dünün değerlerinin PERIOD_D1 için aranması gerektiği hiçbir yerde söylenmedi (özellikle günlük bir dönem göz önüne alındığında) , tanım gereği, bir arabellek için dünden önceki gün birkaç değer içeremez). Devam et. Tabii ki, MQL4 konusunda uzman değilim, ancak yukarıda alıntılanan satır resmi olarak doğru kabul edilemez. Verdiğiniz bağlantı için "Gösterge satırının dizini. 0 ile 7 arasında olabilir" diyor. Herhangi bir nedenle, daha fazla açıklama yapmadan, arabellek indeksini == 9 veriyorsunuz.

 
komposter :
Konuyu aydınlattığınız için teşekkürler!
 
Renat :
pozisyonunu görüyorum...

... tepki vermeyin ... bilmiyorum ... eleştirin ...
Renat, diyalog için başka bir ayna bul. Güle güle.