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

 
İstenen işlevselliği eklemek için büyük bir istek.

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

MetaTrader 5 platformunun yeni sürümü build 2650: MQL5 kod profili oluşturucudaki grafiklerin ve iyileştirmelerin arka planda yüklenmesi

fxsaber , 2020.11.04 16:50

Ne yazık ki, grafik pencerelerini, Terminal'i, Piyasa İzlemeyi vb. simge durumuna küçültmek için işlevler eklemedik. Bu pencerelerin küçültülmesinin CPU kullanımını azalttığına dair önceki kanıtlar verildi.

Ve Terminal penceresi görünür olmadığında Piyasa İzleme penceresine ve diğerlerine veri çıkışı yapmayı durdurun. Örneğin, geçerli uygulama (bir tarayıcı gibi) etkin ve ekranı kaplamış durumdayken.


Sakallı ihtiyaç - şu anda hangi grafiğin seçili olduğunu belirleme. İnsanlar koltuk değneği WinAPI çözümlerini kullanmak zorunda kalıyor.

Активный график (ID активного графика)
Активный график (ID активного графика)
  • 2014.10.20
  • www.mql5.com
Доброго времени суток! Нужно элементарно определить ID активного графика (того что выбран в данный момент...
 

Evet, MetaTrader VPS'de, barındırma sağlayıcılarından gelen normal VPS'ye kıyasla çok daha az gecikme (gecikme artışı) ve tüm kaynakların kat kat daha fazla siparişleri vardır.

Nedeni defalarca açıklandı.

Yürütme iş parçacıkları, geçerli (tümü) işlemci mimarileri içinde garantili sıfır gecikmeye sahip olamaz. "Gerçek zamanlı işletim sistemleri" hakkındaki hikayeler efsane olmaya devam ediyor, onlardan bahsedemezsiniz.

 
fxsaber :

Ayrıntılı açıklamalar için teşekkürler, tek emisyon ile açıktır. Şu anda hala SymbolInfoTick'i değil, hemen hemen her kene dökülen farklı nitelikteki gecikmeleri tartışıyoruz.

Bu sadece sizin tek emisyon ölçümlerinizle ilgilidir - artık kabul edilmezler veya dikkate alınmazlar. Tüm analiziniz yalnızca aykırı değerlere dayanıyordu.

Diğer sorular, "aslında diğer yorumları kastetmeden" ve tek komutların ölçümüne kaymadan , yalnızca bir yorumda açık ve tam olarak tanımlanmış bir senaryo ile düşünülebilir.

 
Renat Fatkhullin :

Diğer sorular, "aslında diğer yorumları kastetmeden" ve tek komutların ölçümüne kaymadan , yalnızca bir yorumda açık ve tam olarak tanımlanmış bir senaryo ile düşünülebilir.

Kaynak kodundaki yorumlar da dahil olmak üzere ayrıntılar için buraya tıklayın.

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

MT5 ve iş başında hız

fxsaber , 2020.11.05 07:42

MQ'dan VPS kullananlar, lütfen aşağıdaki programların sonucunu orada paylaşın.

  1. OnTick/OnBook gecikmelerini yakalayan bir Uzman Danışman .
  2. Eski zamanla keneleri yakalayan Uzman Danışman .
  3. Sleep(1)'in ortalama yürütme süresini ölçen komut dosyası .
 

böyle bir platform deltix var (reklamda söylenmiyor). Geliştiricilerle konuştuğumda (bir kez tahkim için bağlanmak istedim), tekli gecikmeler hakkında aynı şekilde bunun normal olduğunu ve ortalama olarak izlemeniz gerektiğini açıkladılar.

bu böyle, bu arada, kimsenin bahçesinde taş olmadan

 

Tek aykırı değerler kaçınılmaz olarak meydana geldiğinden, Piyasa İzlemenin tamamının bir dizisini ve tüm mevcut pozisyonların/siparişlerin bir dizisini döndüren standart işlevlere sahip olmak mantıklıdır. MarketBookGet'e benzer.

Artık döngülerin çalışması gerekiyor. Bu çok pahalı.

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

MT5 ve iş başında hız

fxsaber , 2020.10.07 12:41

Pratik zorunluluk beni böyle yazmaya zorluyor.

 // Возвращает время Обзора рынка в миллисекундах.
long TimeCurrentMsc()
{
   long Res = 0 ;
  
   MqlTick Tick;
  
   for ( int i = SymbolsTotal ( true ); i >= 0 ; i--) 
  {
     const string Symb = SymbolName (i, true );
    
     if ( SymbolInfoTick (Symb, Tick) && (Tick.time_msc > Res))
      Res = Tick.time_msc;
  }

   return (Res);
}

PS TimeCurrentMsc, tekrarlanan isteklere rağmen nedense MQL5'e dahil edilmedi.

 
Slava :

Hızlanma olmayacak. Hesaplamalarınızı, en azından yaklaşık rakamlarla, çoklu ivmeyi kanıtlayarak sunun.

Kaynaklar için yarış? Kontrolsüz yeni iş parçacığı oluşturma? Mavi çatışmalar dışında mı?

Anlaşılmaz frenler mi istiyorsunuz?

Olay modelinde, tüm olaylar her zaman sırayla formasyona girdi. çiğnendi - çiğnendi.

Asenkron mimaride olay işlemenin hızlandırılması yok mu? Ciddi misin?
Kullanıcı programlarının ve daha spesifik olarak işleyicilerinin işlenmesini hızlandırmak. Bahsettiğimiz şey bu.

Konu kullanımını en aza indirmeye çalıştığınızı anlıyorum. Ancak seçeneklerden biri olarak, her işleyiciyi ayrı bir iş parçacığında çalıştırın.
Kontrolsüz bir iş parçacığı oluşturma değil. Kullanıcı programında yalnızca birkaç işleyici vardır ve bunların her biri program başladığında kendi iş parçacığında başlatılmalıdır.
Ve muteksler veya neyi senkronize ederseniz edin, olayları işleyiciler arasında zaten senkronize edin.

Ama eğer threadler sizin için bir sıkıntı ise o zaman bahsettiğiniz gibi tek thread üzerinde çalışmanıza izin veren bir event modeli var.   Olay İşleme , çalışan görevlerle bir olay döngüsünde.
Olay döngüsü sırayla döner, ancak bu döngünün görevleri paralel olarak işlenir!
Bahsettiğimiz şey budur, programdaki tüm işleyiciler bu olay döngüsünde yürütülür, ardından tüm olaylar eşzamansız olacak ve eş zamanlı olarak gerçek zamanlı olarak ulaşacaktır.
Yani, OnTrade'deki aynı olaylar ve   kitap   eşleşecek.
Peki, olay döngüsünün diğer dillerde nasıl çalıştığıyla ilgilenin.
Olay döngüsü zaten terminaldeyse, bunu programlardaki işleyicilere uygulayın. Bu kadar.
 
Roman :
her işleyiciyi ayrı bir iş parçacığında çalıştırın.

Nafig böyle. Örneğin, farklı iş parçacıklarının dahili değişkenlere okuma/yazma erişimi varsa, MQL programları çok daha karmaşık hale gelecektir.

 
fxsaber :

Nafig böyle. Örneğin, farklı iş parçacıklarının dahili değişkenlere okuma/yazma erişimi varsa, MQL programları çok daha karmaşık hale gelecektir.

MQL programları daha karmaşık hale gelmeyecek, bu sadece geliştiriciler için bir senkronizasyon baş ağrısı. Hangi doğal olarak karar verme arzusu yoktur.
Veya bu model için tasarlanmamış, projenin çıkmaz bir başlangıç mimarisi.
Ve elbette, kimse projeyi yeni bir model için yeniden yazmayacak.
Olay döngüsü modeli , işleyiciler için daha uygundur. Anlatmaya çalıştığım şey bu.
Ve bu model büyük olasılıkla zaten uzun süredir terminalde, sadece işleyicilere uygulanmadı.

 
Roman :

MQL programları daha karmaşık olmayacak...

Pratikle asla kesişmeyecek olan teorileştirmeyi burada bitirmeyi öneriyorum.