Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 191

 
template <typename T>
void func(const T &IntOrArray) {} 

void OnStart ()
{
   int a= 0 ;
   char b[ 3 ]={};
  func(a);
  func(b);	//'b' - parameter conversion not allowed
}

Böyle bir hata vermesi bir bug mı yoksa bir özellik mi?

++ ile oldukça yiyor. Ve MQL'deki diziler kendilerine aittir. Yani bazı std::array bu yapı tarafından da sindirilecektir.

 
traveller00 :

Böyle bir hata vermesi bir bug mı yoksa bir özellik mi?

Hata değil. Şablonun aşırı yüklenmesi yalnızca yardımcı olacaktır.

 

Bir enstrümanın (yerel veya sunucuda) geçmişi olmadığını hızlı bir şekilde öğrenmenin bir yolu var mı?

Herhangi bir CopyXXX isteği, veri almak için 30 saniye bekler ve çok sayıda araç arasında sıralama yapmak makul olmayan bir şekilde uzun zaman alır.

Bazı araçlar için Teklifin var olup olmadığını (boş) kontrol etmeye yardımcı olur, ancak hepsi için değil.

ICMarkets-MT5, Wheat_U0 aracını kontrol edebilirsiniz

 
Andrey Khatimlianskii :

Bir enstrümanın (yerel veya sunucuda) geçmişi olmadığını hızlı bir şekilde öğrenmenin bir yolu var mı?

Herhangi bir CopyXXX isteği, veri almak için 30 saniye bekler ve çok sayıda araç arasında sıralama yapmak makul olmayan bir şekilde uzun zaman alır.

Bazı araçlar için Teklifin var olup olmadığını (boş) kontrol etmeye yardımcı olur, ancak hepsi için değil.

ICMarkets-MT5, Wheat_U0 aracını kontrol edebilirsiniz

Bu zaten hakkında yazıldı ve bir kereden fazla burada bulduğum ilk şey https://www.mql5.com/ru/forum/285631/page35#comment_9431199

Bu tür semboller için bir seçenek olarak Ask ve Bid == 0

Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5
Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5
  • 2018.11.20
  • www.mql5.com
26 октября 2018 года будет выпущена обновленная версия платформы MetaTrader 5...
 
Andrey Khatimlianskii :

Bir enstrümanın (yerel veya sunucuda) geçmişi olmadığını hızlı bir şekilde öğrenmenin bir yolu var mı?

Herhangi bir CopyXXX isteği, veri almak için 30 saniye bekler ve çok sayıda araç arasında sıralama yapmak makul olmayan bir şekilde uzun zaman alır.

Bazı araçlar için Teklifin var olup olmadığını (boş) kontrol etmeye yardımcı olur, ancak hepsi için değil.

ICMarkets-MT5, Wheat_U0 aracını kontrol edebilirsiniz

göstergede CopyXXX işleminin sonucunu beklemez

CopyXXX gösterge sürecinde zamanlayıcıda bir seçenek olarak ve bu göstergeyi EA'dan çağırın

 
Vladimir Pastushak :

Bu zaten hakkında yazıldı ve bir kereden fazla burada bulduğum ilk şey https://www.mql5.com/ru/forum/285631/page35#comment_9431199

Bu tür semboller için bir seçenek olarak Ask ve Bid == 0

Sıfır Teklif hakkında hemen yazdım, bazen sıfır değil.


Igor Makanu :

göstergede CopyXXX işleminin sonucunu beklemez

CopyXXX gösterge sürecinde zamanlayıcıda bir seçenek olarak ve bu göstergeyi EA'dan çağırın

Ama bu bir fikir! Teşekkürler, deneyeceğim.

 
fxsaber :

Bunun olmasının nedeni. İlk EmirGönder'den sonra bir piyasa emri belirir ve gerçekleşmeden önce yeni bir işaret gelirse henüz pozisyon yoktur ve ikinci EmirGönder verilir.

Bu bağlamda, görünüşte normal olan MT5 şablonu düzgün çalışmayacak ve sonuç olarak , kod tabanındaki MT5 Uzman Danışmanlarının çoğu çalışmayacaktır . Aynı zamanda, neredeyse aynı MT4 şablonu sorunsuz bir şekilde sürmeye devam edecektir.

İlk bakışta iyi bir fikir olan PositionsTotal, MT5'in piyasa siparişleri için OrdersTotal'ı da analiz etme ihtiyacı nedeniyle bir şekilde gölgede kalıyor.

Dikkat olmak!

Bunu belirttiğin için teşekkürler. onu kastetmiştim. Ama şimdi sıra bir Uzman Danışman yazmaya geldi ve düşündüm ki, sunucuya gönderilen istekleri kontrol etmek mantıklı mı? Varsayımsal olarak, her şeyi doğru tanımladınız, ancak aslında, sunucu isteklere hızlı bir şekilde yanıt veriyor ve çoğu durumda (% 99, sanırım) bu durum oluşmayacak. Ancak algoritmanın hızı her seferinde zarar görecektir. Sizce hangisi daha önemli?
 
Vasiliy_Saharov :
Bunu belirttiğin için teşekkürler. onu kastetmiştim. Ama şimdi sıra bir Uzman Danışman yazmaya geldi ve düşündüm ki, sunucuya gönderilen istekleri kontrol etmek mantıklı mı? Varsayımsal olarak, her şeyi doğru tanımladınız, ancak aslında, sunucu isteklere hızlı bir şekilde yanıt veriyor ve çoğu durumda (% 99, sanırım) bu durum oluşmayacak. Ancak algoritmanın hızı her seferinde zarar görecektir. Sizce hangisi daha önemli?

0,1 yerine 2 lot ile piyasaya bir kez girin, cevap hemen ortaya çıkacaktır)

 
Andrey Khatimlianskii :

0,1 yerine 2 lot ile piyasaya bir kez girin, cevap hemen ortaya çıkacaktır)

Algoritmanız 0.1 lot sonuçlandırması gerekiyorsa, o zaman iki kez 0.1 yapma olasılığı vardır ve bence bu olasılık sıfıra eğilimlidir, ancak üç kez, bence imkansız. 20 kereden bahsetmiyorum bile. Sonuçta, uygulamalı şeylerden bahsediyoruz. Kural olarak, sunucu muhtemelen saniyede 10 mil içinde yanıt verir (öyle mi? Emin değilim). Sizce ikinci bir ticaret yapma olasılığı nedir? Bu kontrolü kendin mi yapıyorsun? Sunucunun yanıt vermesi uzun sürüyor mu?
 
Vasiliy_Saharov :
Algoritmanız 0.1 lot sonuçlandırması gerekiyorsa, o zaman iki kez 0.1 yapma olasılığı vardır ve bence bu olasılık sıfıra eğilimlidir, ancak üç kez, bence imkansız. 20 kereden bahsetmiyorum bile. Sonuçta, uygulamalı şeylerden bahsediyoruz. Kural olarak, sunucu muhtemelen saniyede 10 mil içinde yanıt verir (öyle mi? Emin değilim). Sizce ikinci bir ticaret yapma olasılığı nedir? Bu kontrolü kendin mi yapıyorsun? Sunucunun yanıt vermesi uzun sürüyor mu?

İstatistiklerden: günde yaklaşık 200-300 işlem. Normal kontrollerle bile, ancak tamamen akıllıca kontroller olmadan, haftada ortalama 2-3 kez çift açılış yakaladım. Olasılığı hesaplayın ve çeklere ihtiyacınız olup olmadığını veya böyle bir olasılığı kabul etmeye hazır olup olmadığınızı öğrenin. Şahsen, kendim için maksimum düzeyde kontrol yaptım.