![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
Belki daha hızlı bir seçenek vardır. Ama bir adım sola doğru hesaplamanız gerekiyor ve mantık önemli ölçüde değişmek zorunda kalabilir. Genel olarak kolay değil.
Önbelleğe alma değil, bu bir dizin. İşte önbelleğe alma (kodun bir parçası):
Kod aceleyle yazılmış ve ArrayResize sık sık göz önüne alındığında iyileştirilmesi gereken bir şey var, ancak yalnızca Closed'a göre sıralanmış önbelleği güncelliyor. Daha sonra aramak isterseniz - dizininizi kullanın. Ancak her seferinde yalnızca küçük bir parçayı güncellemeniz gerekir.
Neden " 12 * 3600 " orada olduğunu hatırlamıyorum, tüm işlemler bana verilmemiş gibi görünüyor.
Önbelleğe alma değil, bir dizin.
Dikkatlice oku.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MT5 ve iş başında hız
fxsaber , 2020.08.28 21:10
Pure MQL5, kısmi (yalnızca HistorySelectByPosition) önbelleğe alma işleminden 100 kat daha yavaştır.
İşte önbelleğe alma (kodun bir parçası):
Kod aceleyle yazılmıştı ve ArrayResize'ın sık kullanıldığı göz önüne alındığında iyileştirilmesi gereken bir şey var, ancak yalnızca Closed'a göre sıralanmış önbelleği güncelliyor. Daha sonra aramak isterseniz - dizininizi kullanın. Ancak her seferinde yalnızca küçük bir parçayı güncellemeniz gerekir.
Bu, gerçek şakalar olmadan tarihin önden korunmasının bir örneğidir. MT4Orders'ta bile, kısmi önbelleğe alma, beş saniyelik bir marjla yapılır...
Neden " 12 * 3600 " orada olduğunu hatırlamıyorum, tüm işlemler bana verilmemiş gibi görünüyor.
Her zaman INT_MAX olarak ayarlayın.
Mimari olarak tam önbelleğe alma yapmak için - iyi düşünmelisiniz. Birçok tuzak var.
Aslında, orada karmaşık bir şey yok. Örneğin, geçmişe dönük olarak görünebilecek tüm siparişler için (bu arada çok garip) bir saat rezervi ile seçim yapabilirsiniz.
Bu, gerçek şakalar olmadan tarihin önden korunmasının bir örneğidir. MT4Orders'ta bile, kısmi önbelleğe alma, beş saniyelik bir marjla yapılır...
Her zaman INT_MAX olarak ayarlayın.
Geçişin amacını anlamıyorum. Geçerli bir zaman damgası varmış gibi, ona göre almak istiyorum ve var olmayan bir zaman belirtmeniz garip. Mantıklı bir açıklama istiyorum.
Bu arada nakitim 10k+ işlemli gerçek hesaplarda çalışıyor.
Ve şimdiye kadar koddaki ana frenler ağ fonksiyonlarıdır.
En son beta 2588'de , HistorySelect işlevi çok iyi önbelleğe alır ve hemen hemen her zaman (ilk sefer hariç) ücretsizdir.
Büyük olasılıkla, sürümden önce bir dizi iyileştirme yapacağız.
Daha önce açıkladığım gibi, MT5'te, MT4'te olduğu gibi, her olaydan önce her uzman için otomatik olarak piyasa anlık görüntüleri oluşturmak için ek bir maliyet yoktur. Bu, gecikmeleri azaltır ve robotların daha hızlı çalışmasına olanak tanır. Her geliştirici tam olarak ihtiyaç duyduğu şeyi talep eder.
Bu nedenle, "tüm geçmiş üzerinde HistorySelect'i çağırın ve ardından hemen bir HistorySelectByPosition seçimi yapın" yaklaşımının önceden oluşturulmuş geçmiş önbelleklerini öldüreceğini açıkça anlamanız gerekir. Bu ayağından bir atış.
Yayınlandıktan sonra, algoritmik ticaretin basitleştirilmesi ve hızlandırılması için yeni ve daha verimli MQL5 işlevleri ve açık yerel sipariş/anlaşma veri yapıları eklemek için birçok çalışmaya başlayacağız.
En son beta 2588'de , HistorySelect işlevi çok iyi önbelleğe alır ve hemen hemen her zaman (ilk sefer hariç) ücretsizdir.
Sonuç.
Her kene bir sorun vardır.
ZY Yüklü Win10, LatencyMon her şeyin yolunda olduğunu gösteriyor.
Yayınlandıktan sonra, algoritmik ticaretin basitleştirilmesi ve hızlandırılması için yeni ve daha verimli MQL5 işlevleri ve açık yerel sipariş/anlaşma veri yapıları eklemek için birçok çalışmaya başlayacağız.
MqlDeal, MqlOrder ve MqlPosition harika olurdu. Hatta daha da kolaylaşabilir.
Şu anda vakaların %99'unda yalnızca HistorySelect(0, INT_MAX ) kullanmanız gerektiğini görüyorum. Diğer seçenekleri kullanmamaya çalışın.
Tarihte yüz binlerce siparişim varsa, son dakikalar için geçmişi almaktan da daha hızlı olur mu?
Peki, o zaman ne, tüm bu hikayeyi mi gözden geçireyim yoksa ne? Bu biraz saçmalık.
Tarihte yüz binlerce siparişim varsa, son dakikalar için geçmişi almaktan da daha hızlı olur mu?
Savaş robotlarında sadece 0- INT_MAX seçeneğini bıraktım. Frenler fark etmeyi bıraktı.