Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Tamam, yeniden ifade edeceğim. İşlemcinin saat hızına bağlı olarak mql içinde bu kabaca mümkündür.
Peki ya PWM? - sabit frekans ve değişken görev döngüsü darbe sinyali.
Kalıcılık sağlamaz mı?
Başlamak için WinAPI Uyku işlevinin ne olduğunu ve gerçekte ne yaptığını okuyun.
PS Windows gerçek zamanlı bir sistem değil
Başlamak için WinAPI Uyku işlevinin ne olduğunu ve gerçekte ne yaptığını okuyun.
PS Windows gerçek zamanlı bir sistem değil
Hmm, sormaktan utanıyorum, WinAPI Sleep'in bununla ne ilgisi var?
Bir mikro saniye kaymasından bahsettiğimizde
İşlemciniz için ayrı ayrı zamanlayıcının frekansını belirleyebilir ve tekrar sayısını hesaplayabilirsiniz.
Yani, kendi MicrosecondCount'unuzu mql olarak yazabilirsiniz, ama ne anlamı var? Standart olan yeterli.
Hmm, sormaktan utanıyorum, WinAPI Sleep'in bununla ne ilgisi var?
Bir mikro saniye kaymasından bahsettiğimizde
İşlemciniz için ayrı ayrı zamanlayıcının frekansını belirleyebilir ve tekrar sayısını hesaplayabilirsiniz.
Yani, kendi MicrosecondCount'unuzu mql olarak yazabilirsiniz, ama ne anlamı var? Standart olan yeterli.
Bağlam anahtarı olmadan bekleyen uykusu, çekirdeğini %100 tüketir.
Bu korkunç bir programlama tekniği. Allah korusun böyle bir kod piyasaya sızacak.
Bağlam anahtarı olmadan bekleyen uykusu, çekirdeğini %100 tüketecektir.
Korkunç bir programlama tekniği. Allah korusun böyle bir kod piyasaya sızacak.
Ve kimse bu hardcore'u inkar etmedi ))
Bir bağlam değiştirme örneği gösterirseniz, geliştirilebilir mi?
Yalnızca 2 çekirdekli, 4 iş parçacığı ayrılmış VirtualBox'ta µsSLEEP(µsRange) için CPU kullanımı.
Madenciler daha kötü yanar))
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Kitaplıklar: Sıra
fxsaber , 2020.10.13 12:54
Çoğu VPS'yi öldürecek bir EA örneği.Farklı sembollerden oluşan birkaç çizelgede başlatıyoruz. Bu eylemi otomatikleştirmek için bu betiği inAmount = 5 ile kullandım.
Sonuç.
Bu altı Uzman Danışmanı çalıştırmak için Terminal tarafından 4 Gb'den fazla bellek gerekliydi. Bunun yalnızca başlatma için gerekli olduğunu, ancak bu Uzman Danışmanların çalışması için gerekli olmadığını unutmayın. İçinde Uzman Danışmanların asılı olduğu bir Terminal başlattığınızı hayal edin. Dürüst ücretsiz 4 Gb RAM yoksa - neredeyse bir felaket.
Şimdi kaynak koddaki bu satırın yorumunu kaldıracağız.
Böylece, Expert Advisors'ın sıralı başlatılmasını sağlar.
Sonuca bakıyoruz (yeniden derlemeden sonra).
Expert Advisors'ın piyasaya sürülmesiyle, Terminal'in bellek tüketimini 2,5 Gb'den fazla azaltmak mümkün oldu. Bir VPS felaketi (ve zayıf ev makineleri) olasılığı büyük ölçüde azaltıldı.
Her iki fırlatma da dinamik olarak böyle görünüyor.
Sıralı başlatma, genel başlatmayı zaman içinde uzattı, ancak Terminal'i büyük RAM tüketiminden korumayı başardı.
Üst ve alt grafikler, paralel başlatma (yüksek sol tepe) ve ardışık altı başlatma (altı orta tepe) sürecini açıkça göstermektedir.
Tehdit Deneyler sırasında, Uyku ile ilgili hoş olmayan bir nüans ortaya çıktı - kaynağa bakın.
CopyTicks'i kullandıktan sonra belleğin zorla boşaltılmasına bir şekilde izin vermenizi rica ediyorum. Böyle Uyku koltuk değneği yaratmamak için.
Lütfen belirli bir aralıktaki kenelerin geçmişini sorgulamak için bellek tüketimi açısından en ucuz yolu önerin.
bence ucuz değil, hafızayı hızlı bir şekilde boşaltmanın bir yolunu arıyorsunuz
kontrol etmek için bir seçenek olarak:
- dinamik bir MqlTick Ticks[] dizisini bir sınıfa sarın ve yeni (yani aynı zamanda dinamik bir nesne) aracılığıyla bir nesne oluşturun, gerekmediğinde silin
- aynı, ancak bir yapıyla, ancak yerel kapsamda (bir işlev veya yerel bir blok { } - veya bir yinelemeli bir döngü? ), yapılar sınıflar gibi çalışmaz - EA kodunun çoğunu şu şekilde yeniden yazdı: sınıflardan uzaklaşmak ve veri yapılarını değiştirmek, optimizasyon hızını önemli ölçüde artırdı - belki öznel olarak - belki yeni yapılar daha hızlı çalışır
- yıkıcıya ArrayFree() eklemeyi deneyin
bence ucuz değil, hafızayı hızlı bir şekilde boşaltmanın bir yolunu arıyorsunuz
Terminal belleği serbest bırakmaz. MQL değişkenlerinin bununla hiçbir ilgisi yoktur.
Terminal belleği serbest bırakmaz. MQL değişkenlerinin bununla hiçbir ilgisi yoktur.
ve boyutu ayarlamak için zorlarsanız = 1 ?
ve eğer yaparsan
ve eğer
CopyTicks'i çağırdıktan sonra, Terminal tüm verileri birkaç saniyeliğine hafızasında tutar. Birisi kene geçmişinin bir parçasını yeniden okumak isterse diye.
Onlar. Terminal tarafından tüketilen bellek miktarı hiçbir şekilde MQL değişkenlerinin boyutlarına bağlı değildir.
Görev, Terminal'i boş belleği zorlamaya zorlamaktır.