![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Gerçek zamanlı çekirdek bir şekilde yardımcı olabilir mi?
Açıkça daha fazla çekirdek yükleyin ve durumu tek çekirdek indirmelerinin %100'üne getirmeyin.
Peri masallarına inanmayın, işlemciler ve iş parçacığı zamanlayıcılar hayal ettiğiniz gibi çalışmıyor.
Son sürümlerde, bir kene akışı almak teorik olarak bile etkilemez. Pratikte, SymbolInfoTick zaten önbellekle çalışıyor , ancak bireysel vatandaşlar kara kedi aramaya devam ediyor.
Ve testte %80 bile yok. 4 çekirdek üzerinde 6 ajan var, yani. %100 garantilidir.
Tek soru, sisteminin görev zamanlayıcısının bu durumla nasıl başa çıktığıdır. Aynı zamanda, suçlanacak olanın terminalin uygulanması olduğu yönünde açıklamalar yapılıyor.
Onlar. bilgisayar ölçüsüzce yüklendiğinde, kelimenin tam anlamıyla her şey yavaşladığında yapay olarak bir durum yaratılır ve ardından "ah, bak, neden terminalin bazen orada geciktiği" tarzında ifadeler yapılır.
Gözlerimizi kapatalım, bu koşullarda bile "yaklaşık %0,01" - ayrıntıların canı cehenneme! "Hastanedeki ortalama sıcaklık kimseyi rahatsız etmiyor", "gecikmeler ticaret sırasında sorun yaratıyor" ve "HFT istiyoruz" demeniz yeterli.
Ayrıca, elbette, HFT'nin eski bir ofis masaüstünde veya ölü bir sanal makinede 20 uzmanın içinde olmasını istiyoruz.
Uygulamasında PS PositionSelectByTicket(), erişim senkronizasyonu ile koşulsuz olarak paylaşılan bir kaynağa erişime sahiptir. Ve her aramada pozisyonu seçmezseniz, eski fiyatı okuyorsunuz. SymbolInfoDouble aracılığıyla bir "anlık görüntü" yapmak daha kolaydı.
Teşekkür ederim
sorum ortaya çıktı çünkü yarım yıl önce kodu optimize ettim ve sistem işlevlerinin hızını test ettim, yarım yıl önce SymbolInfoDouble SymbolInfoTick'ten daha yavaştı
ama genel olarak, muhtemelen doğruyu söylüyorsunuz, bugün özellikle çok çekirdekli işlemcilerin önbelleği hakkında birkaç makaleyi google'da arattım (uzun zamandır bu bilgiyle ilgilenmiyordum),
işte kısa bir makale https://i2hard.ru/publications/25666/
Sonuç olarak, ALU'nun yalnızca çok küçük olan L1 önbelleğinden veri almasıdır ve işlemciyi sonuna kadar yüklerseniz, o zaman gerçekten - test bir işletim sistemi testi + hız testine dönüşecektir . işlemci önbelleği (yükler, tahminler L1 + L3 verileri), ancak kodun (uygulamanın) performans testinde değil
fxsaber , görev yöneticisinde aracılar için düşük bir öncelik ve MT5 için yüksek bir öncelik ayarlarsanız ne olur?
Tüm işletim sistemi programları / iş parçacıkları için belirli bir CPU iş parçacığı biçiminde bir kaynağın tahsisini engelleyecek bir yardımcı program bulamıyorum, aksi takdirde MT5 için bir iş parçacığı rezerve etmek ve diğer programlar için işgalini otomatik olarak engellemek mümkün olurdu, bu teorik olarak gecikmeleri azaltabilir.
Son sürümlerde, bir kene akışı almak teorik olarak bile etkilemez. Pratikte, SymbolInfoTick zaten önbellekle çalışıyor , ancak bireysel vatandaşlar kara kedi aramaya devam ediyor.
Bireysel bir vatandaş aldı geniş pantolonlardan Aynı koşullar altında koltuk değneğinin standart işlevden daha hızlı çalıştığını gösteren paha biçilmez kargo MQL kodunun bir kopyası .
Ama işlevinizin iyi olduğunu iddia ediyorsunuz, sadece kullanım şartlarında kısıtlamalar var.
Ve testte %80 bile yok. 4 çekirdek üzerinde 6 ajan var, yani. %100 garantilidir.
Tek soru, sisteminin görev zamanlayıcısının bu durumla nasıl başa çıktığıdır. Aynı zamanda, suçlanacak olanın terminalin uygulanması olduğu yönünde açıklamalar yapılıyor.
Onlar. bilgisayar ölçüsüzce yüklendiğinde, kelimenin tam anlamıyla her şey yavaşladığında yapay olarak bir durum yaratılır ve ardından "ah, bak, neden terminalin bazen orada geciktiği" tarzında ifadeler yapılır.
6/8 - hiçbir şey yavaşlamaz. Tarayıcılar, derleme, hata ayıklama vb. herhangi bir fren ipucu olmadan paralel pulluk.
Ama şimdi Ajan'ın sadece 4/8'ini bırakarak her şeyi bilerek kapattım. İşlevinizin frenlerinde durum değişmedi.
Ayrıca, elbette, HFT'nin eski bir ofis masaüstünde veya ölü bir sanal makinede 20 uzmanın içinde olmasını istiyoruz.
Hızlı bir araba kullanıldı. Ve sadece 6 çizelge zaten fren yaptı.
Uygulamasında PS PositionSelectByTicket(), erişim senkronizasyonu ile koşulsuz olarak paylaşılan bir kaynağa erişime sahiptir. Ve her aramada pozisyonu seçmezseniz, eski fiyatı okuyorsunuz. SymbolInfoDouble aracılığıyla bir "anlık görüntü" yapmak daha kolaydı.
Ve bunu kullanıyorum.
Terminalde sorunlar olduğunda muharebe performansında hangi hızdan bahsedebiliriz.
Uzman Danışman, tüm finansal araçları tarar ve belirli bir model arar.
Bir finansal araca çarpar ve sımsıkı sarılır!!!
Yardımdan gelen kod, sadece adımları, problemli fin aracını ve zamanlayıcıyı koydum:
İşin sonucu:
Komut dosyasının yürütülmesinin sonunu beklemedim.
Terminalde bu tür hatalar olduğu sürece, herhangi bir savaş performansından söz edilemez !!!
Bir finansal araç piyasaya girdiğinde, en azından tüm özelliklerinin ve tarihin başlangıç tarihinin onun tarafından çekilmesi bekleniyordu. Sunucuda geçmiş yoksa, o zaman
SeriesInfoInteger(symbol,period,SERIES_FIRSTDATE,first_date)
Anında NULL döndürmeli, yürütme süresi neden 18446744073475877138 ?
Belki ne bilmiyorum? CopyXXX işlevleri de 16-29 saniye donar!!!
Bir komisyoncunun 3000-6000 finansal enstrümanı olması normal değildir.
Belki ne bilmiyorum? CopyXXX işlevleri de 16-29 saniye donar!!!
Bir komisyoncunun 3000-6000 finansal enstrümanı olması normal değildir.
Barlar kötüdür. Bu nedenle, lütfen onlar hakkında başka bir başlıkta yayınlayın.
Barlar kötüdür. Bu nedenle, lütfen onlar hakkında başka bir başlıkta yayınlayın.
Belki bir finansal enstrümanı programlı olarak nasıl seçeceğinizi ve yüzyıllarca takılıp kalmayacağınızı biliyorsunuzdur?
Belki bir finansal enstrümanı programlı olarak nasıl seçeceğinizi ve yüzyıllarca takılıp kalmayacağınızı biliyorsunuzdur?
Bu sorunla karşılaşmadım.
fxsaber , görev yöneticisinde aracılar için düşük bir öncelik ve MT5 için yüksek bir öncelik ayarlarsanız ne olur?
Tüm işletim sistemi programları / iş parçacıkları için belirli bir CPU iş parçacığı biçiminde bir kaynağın tahsisini engelleyecek bir yardımcı program bulamıyorum, aksi takdirde MT5 için bir iş parçacığı rezerve etmek ve diğer programlar için işgalini otomatik olarak engellemek mümkün olurdu, bu teorik olarak gecikmeleri azaltabilir.
Tüm Aracılar için en düşük önceliği ayarlayın.
yardımcı olmuyor
Tehdit Sonuç, çalışan danışman sayısından etkilenir.
Sevgili geliştiriciler, MQL_MEMORY_USED'in nasıl hesaplandığını bize anlatır mısınız?
Tüm EA değişkenlerinin kapladığı belleği hesapladım.
Bu %10'dan az. Doğru anlarsam, MQL_MEMORY_USED, Geçmiş önbelleğini ve CopyTicks önbelleğini içerir. Ama yine de çok daha az sürmelidir.
Aynı zamanda, paralel danışman birkaç kat daha az yer. Prensip aynı olmasına rağmen.
Genel olarak, bu değere neler dahildir?
Not: Şablonu danışmanla birlikte kaydettim ve aynı grafiğe uygulayarak yeniden başlatmaya neden oldum. Öyle oldu.
Bellek tüketimi neredeyse büyüklük sırasına göre değişti. Bunun ne anlama geldiğini açıklamak zor.