Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 631

 
Artyom Trishkin :
Bir tabletteki koda bakmak zor, ancak cevap kendini gösteriyor - ara belleğe X değerini yazın.

Kaydedildi. İşler. Beş basamaklı bir komisyoncunun terminalinde olduğu gibi, hesaplamalarda göstergede beş ondalık basamak gösterimi nasıl elde edilir, alış ve satış fiyatları beş basamaklıdır, böylece onlar da bir gösterge olarak görüntülenebilir? Ekran görüntüsü ektedir.

üstelik soldaki yorumlarda, ekranda beyaz semboller ile şu kodla beş haneye ulaştım: (ve göstergede, arabellekleri doldurduğumda hala dört haneli NormalizeDouble (ExtMapBuffer2[0],Digits) görünüyor. - yardımcı olmuyor.

   Comment (
               "tickCounter = " , tickCounter, "\n" ,
               "secondCounter, time_s  = " ,     NormalizeDouble (time_s, 2 ) , "\n" ,
            
               "ExtMapBuffer1[0] = " , DoubleToStr (ExtMapBuffer1[ 0 ], Digits ) , "\n" ,
               "ExtMapBuffer2[0] = " , DoubleToStr (ExtMapBuffer2[ 0 ], Digits ) , "\n" ,
               "ExtMapBuffer1[1] = " , DoubleToStr (ExtMapBuffer1[ 1 ], Digits ) , "\n" ,
               "ExtMapBuffer2[1] = " , DoubleToStr (ExtMapBuffer2[ 1 ], Digits ) , "\n" ,
               "ExtMapBuffer1[2] = " , DoubleToStr (ExtMapBuffer1[ 2 ], Digits ) , "\n" ,
               "ExtMapBuffer2[2] = " , DoubleToStr (ExtMapBuffer2[ 2 ], Digits ) , "\n" ,


 
Roman Shiredchenko :

Kaydedildi. İşler. Beş basamaklı bir komisyoncunun terminalinde olduğu gibi, hesaplamalarda göstergede beş ondalık basamak gösterimi nasıl elde edilir, alış ve satış fiyatları beş basamaklıdır, böylece onlar da bir gösterge olarak görüntülenebilir? Ekran görüntüsü ektedir.

üstelik soldaki yorumlarda, ekranda beyaz semboller ile şu kodla beş haneye ulaştım: (ve göstergede, arabellekleri doldurduğumda hala dört haneli NormalizeDouble (ExtMapBuffer2[0],Digits) görünüyor. - yardımcı olmuyor.


GöstergeSetTamsayı (INDICATOR_DIGITS, _Digits);

veya

GöstergeDigits(_Digits);

 

Ayrıca, ortalama hız için, gösterge dizisini ExtMapBuffer_Ave_Speed[0]= NormalizeDouble(X,1); ile doldurmayı özellikle belirttim.

Ve hala 4 ondalık basamağa kadar sıfır çekiyor, turlar ... Beş karakter göstermesini nasıl sağlar?

 
Alexey Viktorov :

IndicatorSetInteger(INDICATOR_DIGITS, _Digits);

veya

GöstergeDigits(_Digits);

Senck-s. Her şey çalıştı!
 
Roman Shiredchenko :
Senck-s. Her şey çalıştı!
Üzgünüm, bunun OnInit () içinde gerekli olduğunu yazmayı unuttum
 
Alexey Viktorov :
Üzgünüm, bunun OnInit () içinde gerekli olduğunu yazmayı unuttum

Cevap verme sırası bizde ;)

Zaman yoktu...

 
Alexey Viktorov. Artyom Trishkin
Üzgünüm, bunun OnInit () içinde gerekli olduğunu yazmayı unuttum

Bu temiz. Senck-s. Orada, yol boyunca, belki. bana daha fazlasını anlat...

Onay göstergesinde terminal gezgininden bindirilen MA. Expert Advisor'daki değerleri nasıl alınır?

Bu konuda okumak için burnunuzu sokabilirsiniz.

iMAOnArray aracılığıyla... hatırlıyor gibi misiniz?


 
Roman Shiredchenko :

Bu temiz. Senck-s. Orada, yol boyunca, belki. bana daha fazlasını anlat...

Onay göstergesine terminal gezgininden bindirilmiş MA. Expert Advisor'daki değerleri nasıl alınır?

Bu konuda okumak için burnunuzu sokabilirsiniz.

iMAOnArray aracılığıyla... hatırlıyor gibi misiniz?


iMAOnArray, onay göstergesine girilmeli ve içindeki ek bir arabelleğe çıkarılmalıdır.

Veya yeni göstergede, önce kene göstergesi arabelleklerinin içeriğini hesaplama arabelleğine okuyun ve ardından iMAOnArray'i bunun üzerine ayarlayın.

 
Artyom Trishkin :

1. iMAOnArray, onay göstergesine girilmeli ve onda ek bir arabellekte görüntülenmelidir.

2. Ya yeni göstergede, önce kene göstergesi arabelleklerinin içeriğini hesaplama arabelleğine okuyun ve ardından iMAOnArray'i bunun üzerine ayarlayın.

Sayesinde. Artyom. Yani 1. Yapacağım gibi görünüyor ...
 

MA göstergesinin (Altın rengi) 1. dönem (grafikteki) değerlerinin Tekliften (yeşil renk - MA satırından dolayı görünmüyor) ve MA (1) değerlerinin eşitliğini sağlayamıyorum fiyat göstergesi arabelleği Teklifinden iMAonArray() aracılığıyla hesaplanır.

       double MA_0= iMAOnArray (ExtMapBuffer1, 0 ,MA_Period, 0 , MODE_EMA , 0 ); 
       double MA_1= iMAOnArray (ExtMapBuffer1, 0 ,MA_Period, 0 , MODE_EMA , 1 ); 
       double MA_2= iMAOnArray (ExtMapBuffer1, 0 ,MA_Period, 0 , MODE_EMA , 2 ); 
   
       


     if (time_s!= 0 ) 
       Comment (
               "tickCounter = " , tickCounter, "\n" ,
               "secondCounter, time_s  = " ,     NormalizeDouble (time_s, 2 ) ,   "\n" ,
            
           ...
               "ExtMapBuffer_MA[0] = " , DoubleToStr (MA_0, Digits ), "\n" ,
               "ExtMapBuffer_MA[1] = " , DoubleToStr (MA_1, Digits ), "\n" ,
               "ExtMapBuffer_MA[2] = " , DoubleToStr (MA_2, Digits ), "\n" ,

yeşil oklar - eşit değerler - olması gerektiği gibi. Kırmızı oklar mükemmel değerlerdir. Yeşil olanlarla aynı olmalıdır.


en üstteki üç okta AYNI sayılar olmalı, ama bunlar farklı... Söylesene, tutarsızlığın sebebi...