MQL5'te birlikte öğrenme ve yazma - sayfa 36

 

Bu kadar ayrıntılı cevaplar için teşekkür ederim ve belgeleri incelerken acele ve dikkatsizlik için özür dilerim, cevaplar gerçekten OnCalculate işlevinin açıklamasında yer aldı.

Görünüşe göre, deneyim kazanma sürecini çok hızlı bir şekilde zorlamaya karar verdim ve OnInit ve OnCalculate açıklamalarını incelemeyi atladım.

Yedelkin :

Bu satırlar sorunuza cevap veriyor mu?

MetaSürücü :

Bu durumda bu değerler doğru hesaplanamaz (hesaplanacak yeterli geçmiş yoktur). Bu nedenle, aptalca sıfır değerleri atanırlar.

// Onlara uygun girdileri vermeyi tercih ederim ama bu pek bir fark yaratmıyor.

soruyu yanlış gündeme getirdi (Aynı şeyi satıra yorumda yazdığım ve sıfır değerlerinin atanmasının mümkün olduğunu anladım). başka sözcüklerle ifade edeceğim

Profi_R :

çıktıda görüntüleniyor ve ExtLineBuffer'da 0 dışındaki değerlerin indeks limiti-1'den indeks oranları_toplam-1'e atandığını ve grafikte göstergenin tüm alana çizildiğini görüyorum, hmm, değerlerin ataması nerede ( sıfır dışında ) 0'dan limit- 1'e kadar olan aralıkta gösterge arabelleğine ???

hesaplanamayacakları ve bir anlam ifade etmeyecekleri daha baştan bellidir. 0 barda basit ortalamanın (gösterge) değerinin maksimum fiyat değerine (her zaman değil) eşit olduğuna baktım, önce konunun grafikte görüntülenen ve geçmişte saklanan çubuk sayısında olduğuna karar verdim, Bu ayar seçeneğini sınırsız olarak değiştirdim sonuç değişmedi, gösterge ilk (solda) limit çubukları üzerindeydi ve değeri 0'dan farklı.
 
Profi_R :

Bu kadar ayrıntılı cevaplar için teşekkür ederim ve belgeleri incelerken acele ve dikkatsizlik için özür dilerim, cevaplar gerçekten OnCalculate işlevinin açıklamasında yer aldı.

Görünüşe göre, deneyim kazanma sürecini çok hızlı bir şekilde zorlamaya karar verdim ve OnInit ve OnCalculate açıklamalarını incelemeyi atladım.

TAMAM.

başka sözcüklerle ifade edeceğim

hesaplanamayacakları ve bir anlam ifade etmeyecekleri daha baştan bellidir. 0 barda basit ortalamanın (gösterge) değerinin maksimum fiyat değerine (her zaman değil) eşit olduğuna baktım, önce konunun grafikte görüntülenen ve geçmişe kaydedilen çubuk sayısında olduğuna karar verdim, Bu ayar seçeneğini sınırsız olarak değiştirdim sonuç değişmedi, gösterge ilk (solda) limit çubukları üzerindeydi ve değeri 0'dan farklı.

Kontrol. Benim için de böyle görünüyor. Ayarlardaki geçmiş 100.000 bara mal oluyor, sınırsız bir mola olup olmadığını kontrol edin, buna zaten inanıyorum. :)

"Bu nasıl mümkün olabilir" sorusuna bir cevabım yok, geliştiricilere sormak en iyisidir (örneğin, "Hatalar, hatalar, sorular" başlığında. Geliştiriciler bunu çok düzenli olarak ziyaret eder).

Burada hiçbir mucize olmayacağından eminim, büyük olasılıkla terminal istenen tüm geçmişi göstermiyor ve en soldaki (programatik olarak) çubuklar sadece perde arkasında kalıyor. :)

 
Profi_R :
hesaplanamayacakları ve bir anlam ifade etmeyecekleri daha baştan bellidir. 0 barda basit ortalamanın (gösterge) değerinin maksimum fiyat değerine (her zaman değil) eşit olduğuna baktım, önce konunun grafikte görüntülenen ve geçmişte saklanan çubuk sayısında olduğuna karar verdim, Bu ayar seçeneğini sınırsız olarak değiştirdim sonuç değişmedi, gösterge ilk (solda) limit çubukları üzerindeydi ve değeri 0'dan farklı.
Bilimsel dürtme yöntemiyle : (i= 0 ;i<limit- 1 ;i++) satırında ExtLineBuffer[i]= 0.0 ; sıfırı bir ile değiştirin ve tam olarak nerede göründüğünü görün. Önceki sonuçlarla karşılaştırın.
 
MetaDriver :

Burada hiçbir mucize olmayacağından eminim, büyük olasılıkla terminal istenen tüm geçmişi göstermiyor ve en soldaki (programatik olarak) çubuklar sadece perde arkasında kalıyor. :)

Evet, ortaya çıktı ki, geçmişin tüm derinliği hesaplandı (tablodaki ekrana bağlı kalmadan), sadece grafikte gösterilen derinliği açmak yeterli değil, ya terminali yeniden başlatmanız ya da yeniden başlatmanız gerekiyor. grafiği açın ve ancak o zaman bu seçenek geçerli olur. Şimdi bu kod parçası tamamen anlaşılabilir.
Документация по MQL5: Операции с графиками / ChartOpen
Документация по MQL5: Операции с графиками / ChartOpen
  • www.mql5.com
Операции с графиками / ChartOpen - Документация по MQL5
 

Genel olarak, MQL5'te bir gösterge nasıl yazılır ve MQL5'te bir göstergeden Gösterge nasıl yazılır makaleleriyle başlamaya değer.

Ayrıca, forumun ilgili bölümünde, bu tür soruları yanıtlamak için tasarlanmış özel bir konu var - Göstergeler hakkında bilmeniz gerekenler

 
Rosh :

Genel olarak, MQL5'te bir gösterge nasıl yazılır ve MQL5'te bir göstergeden Gösterge nasıl yazılır makaleleriyle başlamaya değer.

Ayrıca, forumun ilgili bölümünde, bu tür soruları yanıtlamak için tasarlanmış özel bir konu var - Göstergeler hakkında bilmeniz gerekenler

))))) seni sağlıklı gördüğüme sevindim, beni affet alevim. Teşekkürler öğreneceğim)
 
Ayrıca sizi 5-ke'de gördüğüme sevindim :)
 
İyi akşamlar! Bir ticaret talebinin sonucunun yapısını inceliyorum (MqlTradeResult). Yazdı Bu yapı için Prints için sırasıyla Print ( 999999999999999999999 );
 OrderSend (request,result);

       int Error= GetLastError (); ResetLastError ();
         printf ( "Error %i " ,Error);
      
         Print (i);
        
       Print ( 999999999999999999 ); 
         uint re= result.retcode;
         Print ( "Код результата операции" );
         Print ( re);  
       // int re=
       ulong   ru= result.   deal;
         Print ( "Тикет сделки, если она совершена" );
       Print ( ru); 
       
         ru= result.  order;
         Print ( "Тикет ордера, если он выставлен" );
         Print ( ru);
        
         double     rd= result. volume;
         Print ( "Объем сделки, подтверждённый брокером" ); 
         Print ( rd); 
       
          rd= result.  price;  
         Print ( "Цена в сделке, подтверждённая брокером" );  
       Print ( rd);
      
           rd= result. bid;     
       Print ( "Текущая рыночная цена предложения (цены реквота)" ); 
         Print ( rd); 
      
            rd= result. ask;   
         Print ( "Текущая рыночная цена спроса (цены реквота)" ); 
         Print ( rd); 
      
           string     rs= result. comment;  
           Print ( "Комментарий брокера к операции (по умолчанию заполняется расшифровкой)" ); 
         Print ( re);
      
         //    re= result.  request_id;   
       //    Print( "Идентификатор запроса, устанавливается терминалом при отправке "); 
       //  Print( re);
         
          
                   
       Print ( 999999999999999999 ); 
Birçok değer için baskı sıfır yazdı, nedir bu!
 
Dimka-novitsek :
İyi akşamlar! Bir ticaret talebinin sonucunun yapısını inceliyorum (MqlTradeResult). Yazdı Bu yapı için Prints için sırasıyla Print ( 999999999999999999999 ); Birçok değer için baskı sıfır yazdı, ne oldu!

Bu satırları neden yazıyoruz? Sonuç neden analiz edilmiyor?

 uint re= result.retcode;
         Print ( "Код результата операции" );
         Print ( re);  

Sıfırlara gelince: Hangi sıfırlar öfkeye neden olur?

 
Teşekkür ederim! Mevcut alış ve satış fiyatı sıfırdır. Fırsat bileti. Bilet sipariş edin . Şu anda, baba burada.
Документация по MQL5: Торговые функции / OrderGetTicket
Документация по MQL5: Торговые функции / OrderGetTicket
  • www.mql5.com
Торговые функции / OrderGetTicket - Документация по MQL5
Neden: