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
Evet, işlevlerin açıklamasını sonuna kadar okudum ve herhangi bir şüphe varsa, forumları da karıştıracağım. Oruç kavramı herkes için farklıdır. Dinamikler, tanım gereği, bellek sürekli olarak yeniden tahsis edildiğinden daha yavaştır. İkinci eksi parçalanmadır, bazen dinamiklerde bir hata yaparsınız ve ardından terminali kapatmak için yeterli hafıza yoktur :)))
Ping'in bununla hiçbir ilgisi yok, ilk indirmeden sonra zaten veri tabanından keneler veriliyor, teorik olarak tabii :) Bana bu şekilde öğretildi - program donanım tabanı tarafından değil, optimizasyon ile hızlandırılmalı - bu zaten makinede Ve fark nedir, ne tür bir bağlantı - biri bugün, diğeri yarın - algoritmaya bağlı değildir.
BCS'ye ek olarak Otkritie, Alpari vb. her yerde nüanslar var. Şimdi benim görevim, ticaret veya serbest meslek değil, keneler üzerinde matematik yapmak.
Görme engelliler için bir kez daha:
yardımdan
Функция CopyTicksRange () предназначена для запроса тиков из строго указанного диапазона, например, за конкретный день истории.
yardımdan
CopyTicksRange () işlevi, örneğin tarihte belirli bir gün için kesin olarak belirtilen bir aralıktan keneler istemek için tasarlanmıştır .
CopyTicksRange() işlevi, kesin olarak belirtilen "2021.01.29 23:57:00:000, 2021.01.31 23:59:00:000" aralığından tik alınmasına izin vermez. Tamamen farklı bir aralıktaki keneleri döndürür.
Lütfen bu iddia için ölçüm sağlayın. Muharebe danışmanlarında performans konularına büyük rol veriyorum.
İşte bir örnek kod. Acele yazdım, hatalar olabilir. Aşağıdaki seçenekler için ölçümler:
1) dizi gerektiği gibi genişlediğinde en çirkini
2) biraz optimize edilmiş - amaçlanan kısma genişletildiğinde
3) biraz daha optimize edilmiş - birkaç porsiyon marjı ile genişler
4) açıkça her zaman sıfır olacak olan statik bellek
Dünyadaki her şey için dinamik olarak büyük miktarda bellek ayırırsanız, hızın statikte olduğu gibi olacağı açıktır, ancak bu nadiren olur.
Dinamik olarak genişleyen dizilerde en kötü şey, süreçte hepsini silip süpürecek olan bellek parçalanmasıdır. Eh, bir sonraki genişleme için sürekli büyüyen zaman - çünkü. yüksek oranda parçalanmış bellekte uygun bir parçayı aramak daha uzun sürer
mikrosaniye ile sonuçlanır. Sonlara doğru ilk sütundaki gerekli süredeki keskin artış, büyük olasılıkla terminalin muhtemelen küçük bloklardaki diziler için bellek ayırmasından, bizim için biraz optimize etmesinden kaynaklanmaktadır. Ancak dizi bloktan daha büyük olduğunda, aptalca ilk uygun boş parçayı aramaya başlar. Çok daha fazla büküldüm, orada çok uzuyor ... birkaç saniye. Ve sadece yaklaşık 1.000.000 hücre vardı
İşte bir örnek kod. Acele yazdım, hatalar olabilir. Aşağıdaki seçenekler için ölçümler:
1) dizi gerektiği gibi genişlediğinde en çirkini
2) biraz optimize edilmiş - amaçlanan kısma genişletildiğinde
3) biraz daha optimize edilmiş - birkaç porsiyon marjı ile genişler
4) açıkça her zaman sıfır olacak olan statik bellek
Dünyadaki her şey için dinamik olarak büyük miktarda bellek ayırırsanız, hızın statikte olduğu gibi olacağı açıktır, ancak bu nadiren olur.
Dinamik olarak genişleyen dizilerde en kötü şey, süreçte hepsini silip süpürecek olan bellek parçalanmasıdır. Eh, bir sonraki genişleme için sürekli büyüyen zaman - çünkü. yüksek oranda parçalanmış bellekte uygun bir parçayı aramak daha uzun sürer
mikrosaniye ile sonuçlanır. Sonlara doğru ilk sütundaki gerekli süredeki keskin artış, büyük olasılıkla terminalin muhtemelen küçük bloklardaki diziler için bellek ayırmasından, bizim için biraz optimize etmesinden kaynaklanmaktadır. Ancak dizi bloktan daha büyük olduğunda, aptalca ilk uygun boş parçayı aramaya başlar. Çok daha fazla büküldüm, orada çok uzuyor ... birkaç saniye. Ve sadece yaklaşık 1.000.000 hücre vardı
Ve ben böyle anladım
Gerçek biraz düzeltildi
Ve dizileri başlatırsanız
sonra bu yüzden
iki yıldır test ediliyor!
İşte inatçı! Yukarıda yazılanları okuyun - CopyTicks de buggy gibi. Çarpık bir işlevi çalıştırmanın yollarını aramayı veya çarpık geçici çözümler aramayı seviyorsanız, müdahale etmeyin - bununla ilgili değil
İki yıl boyunca, işlev istediğiniz gibi çalışmazsa ve bunu bilen geliştiriciler düzeltmezse, buna hata denilmediğini anlamak mümkün oldu ...
Parmaklarınızı açın, havalı eğitimli programcılar………
INT_MAX = 2147483647
aslında hemen INT_MAX * sizeof (double) bir bellek parçası aldınız ve ardından statik olarak çalışıyorsunuz
daha sonra yazabilirsiniz:
çift d[ INT_MAX]; - senin için aynı olacak
fark yalnızca ArraySize () işlevinin çalışmasında olacaktır ve bellek hemen sonuna kadar yakalanacaktır.
Düzeltildi, bugün beta olacak.
burada çok teşekkürler. Gidip neşeyle gaza geleceğim :) geçici çözüm çok kaynak gerektiriyordu
Düzeltildi, bugün beta olacak.