MT5 ve iş başında hız - sayfa 90

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MT5 ve iş başında hız

fxsaber , 2021.03.10 14:53

Piyasa İncelemesinin neden frenlediğine dair açıklayıcı bir örnek.

İşlemci sütunundaki değerlere bakın (sağdan ikinci).


Belki pazara genel bakış video kartı tarafından işlenmelidir?

 
BillionerClub :

Belki pazara genel bakış video kartı tarafından işlenmelidir?

Özellikle MT sanal bir makinedeyse (en nadir durum değil).

 
BillionerClub :

Belki de piyasaya genel bakış video kartı tarafından işlenmelidir?

Terminalde FPS (Saniyedeki Kare Sayısı) sınırı yoktur. Market Watch'ta 300 fps ve üzeri olabilir.

Ticaret terminallerinde fps > 50 olan herhangi bir görselleştirme, bilgi işlem kaynaklarının israfıdır.

 
BillionerClub :

Belki pazara genel bakış video kartı tarafından işlenmelidir?

bunun yerine, kendi içinde akıllı olmayan, ancak oluşturma için kendi öğesine sahip olan, ancak kaydırma , sıralama vb. Başka bir soru - bu formda çalışırken gerçekten gerekli mi? ve ardından çalışma süresi boyunca kapatmak bu sorun için bir düzeltme seçeneği olacaktır (bu bir sorunsa)

 
Grafik nesneler için eksik özellik önbelleği algılandı.
 #include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279

void OnStart ()
{
   const string Name = "ObjectName" ;
  
   ObjectCreate ( 0 , Name, OBJ_BITMAP_LABEL , 0 , 0 , 0 );
  
   for ( int i = 0 ; i < 10 ; i++)
    _B(:: ObjectGetInteger ( 0 , Name, OBJPROP_COLOR ), 100 ); // Повторное обращение к тому же объекту должно быть быстрым, но этого не происходит.
    
   ObjectDelete ( 0 , Name);
  
   Print (:: ObjectSetInteger ( 0 , Name, OBJPROP_COLOR , 0 )); // true для удаленного объекта!
}


Sonuç.

 Alert : Bench_Stack = 0 , 100 <= Time[Test9.mq5 555 in OnStart : :: ObjectGetInteger ( 0 ,Name, OBJPROP_COLOR )] = 9361 mcs.
Alert : Bench_Stack = 0 , 100 <= Time[Test9.mq5 555 in OnStart : :: ObjectGetInteger ( 0 ,Name, OBJPROP_COLOR )] = 396 mcs.
Alert : Bench_Stack = 0 , 100 <= Time[Test9.mq5 555 in OnStart : :: ObjectGetInteger ( 0 ,Name, OBJPROP_COLOR )] = 1399 mcs.
Alert : Bench_Stack = 0 , 100 <= Time[Test9.mq5 555 in OnStart : :: ObjectGetInteger ( 0 ,Name, OBJPROP_COLOR )] = 987 mcs.
Alert : Bench_Stack = 0 , 100 <= Time[Test9.mq5 555 in OnStart : :: ObjectGetInteger ( 0 ,Name, OBJPROP_COLOR )] = 1111 mcs.
Alert : Bench_Stack = 0 , 100 <= Time[Test9.mq5 555 in OnStart : :: ObjectGetInteger ( 0 ,Name, OBJPROP_COLOR )] = 1040 mcs.
Alert : Bench_Stack = 0 , 100 <= Time[Test9.mq5 555 in OnStart : :: ObjectGetInteger ( 0 ,Name, OBJPROP_COLOR )] = 639 mcs.
Alert : Bench_Stack = 0 , 100 <= Time[Test9.mq5 555 in OnStart : :: ObjectGetInteger ( 0 ,Name, OBJPROP_COLOR )] = 796 mcs.
true


Bu çok pahalı. Eh, aynı zamanda ObjectSet işlevinin hatası.

Arama dizisi : Oshibka 026.

 
fxsaber :

Eh, aynı zamanda ObjectSet işlevinin hatası.

Arama dizisi : Oshibka 026.

Nesnelerle çalışmak eşzamansızdır

 
Andrey Khatimlianskii :

Nesnelerle çalışmak eşzamansızdır

ObjectSet'in her zaman true döndürmesi gerektiği ortaya çıktı.

 
fxsaber :

ObjectSet'in her zaman true döndürmesi gerektiği ortaya çıktı.

Yardım okumak:

https://www.mql5.com/ru/docs/objects/objectsetinteger

Geri dönüş değeri

Yalnızca grafik nesnesinin özelliklerini değiştirme komutu grafiğe başarıyla gönderildiyse true döndürür, aksi takdirde false döndürür. Hata hakkında daha fazla bilgi almak için GetLastError() işlevini çağırmanız gerekir.


Документация по MQL5: Графические объекты / ObjectSetInteger
Документация по MQL5: Графические объекты / ObjectSetInteger
  • www.mql5.com
ObjectSetInteger - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
fxsaber :

ObjectSet'in her zaman true döndürmesi gerektiği ortaya çıktı.

Mantık kullanarak aynı sonuca varılamaz.

 
Andrey Khatimlianskii :

Anthony :

false - yalnızca ChartID ile bir hata yaparsanız. Grafiği ile (sıfır) her zaman doğrudur.

Yanlış aramak çok çaba gerektirir.