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
Tüm göstergeler bir zamanlayıcı ile, hatta bir zamanlayıcı olmadan bile tek bir iş parçacığına sahip olduğundan, yine de bir döngüde çalışmayacaktır. Ya da ben senin fikrini yanlış anladım.
MT5'e benzer şekilde geçmişi indirmek ve kontrol etmek için: https://www.mql5.com/en/docs/series/timeseries_access
Soruyu tekrarlıyorum, eski mql4'ü kullanarak bu tarihi nasıl alacağınızı biliyor musunuz?
... MT4'ten MT5'e ve tam tersi programların taşınabilirliği.
C 4 ila 5 - anlaşılabilir. Aksine, pek değil.
Diyelim ki bir gösterge var1. Gösterge2'yi çağırır. Gösterge2, bazı semboller/TF'ler için veriden yoksundur. Bu verileri gösterge1'e iletir ve gerekli veriler ondan zaten zamanlayıcıya yüklenir. Gerekli tüm verilerin yüklendiğine dair onay geldikten sonra, gösterge 2 için verileri tekrar indirmeye çalışırız ve gerekli tüm veriler alınır alınmaz gösterge 1'i hesaplarız.
Bellek 5 kez tahsis edilir. Aynı komutların adres alanı altında.
Bellek adres alanı verilerinin agresif bir şekilde serbest bırakılması hakkında ne ağlıyorsunuz? Orada, en azından, kapsamlar mevcuttur.
Uzun zamandır hakemlik bekliyorum. 3. hafta (2. haftanın beklemesi istendi, tamam).
Biliyorum. Zaman[Bar-1]
haklı değilsin Verdiğiniz yapının ilk tarihi serverda değil, grafikte vereceğini aşağıda yazmıştım zaten.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Servis masası. Şikayetler, öneriler.
Alexey Kozitsyn , 2015.10.30 16:42
iTime( _Symbol, period, Bars( _Symbol, period )-1 ) yapısını kullanarak, grafikteki ilk uygun mumun zamanını alabilirsiniz.
Ancak sunucudaki ilk mumun zamanını almak için hangi yapıyı yazacağımı düşünmedim.
SeriesInfoInteger ile her şey basittir: SeriesInfoInteger( _Symbol, nokta, SERIES_SERVER_FIRSTDATE );
Bellek 5 kez tahsis edilir. Aynı komutların adres alanı altında.
Bellek adres alanı verilerinin agresif bir şekilde serbest bırakılması hakkında ne ağlıyorsunuz? Orada, en azından, kapsamlar mevcuttur.
Genel olarak konuşursak, iCustom ile bahsettiğim soruna büyük olasılıkla normal bir çözüm var.
Belirli bir sembol/tf üzerinde belirtilen parametrelere sahip bazı göstergelerin tanıtıcısı MT5'te zaten yüklüyse, başka bir yerden çağrıldığında, anladığım kadarıyla aynı gösterge yeniden hesaplanmaz, ancak mevcut tanıtıcı kullanılır. .
Eh, OnTimer çağrısı iCustom'u çağırmadan önce ilk "yuvalama düzeyinde" çalıştığından, tüm göstergelerin sıralı hesaplanmasını bekleyebilirsiniz. , vb. herhangi bir iç içe yerleştirme düzeyine kadar, tutamaçlarını yalnızca içlerinde kullanılan tüm göstergeler ve zaman serileri zaten hesaplandığında oluşturur. Ardından, "Güncelle" düğmesine olan ihtiyaç büyük olasılıkla ortadan kalkar. Ne yazık ki bunu bir hafta önce fark etmemiştim...
not OnTimer'ı kullanırken, terminalin kendisi tarafından çağrılan OnCalculate, 0'dan farklı bir değer döndürene kadar gösterge arabelleklerinin grafikte ve veri penceresinde görüntülenmeyeceğini hesaba katmanız gerekir. Ve terminal ayrıca OnCalculate'i yalnızca bir kez çağırır. Init'ten hemen sonra, zaman serileri ve göstergeler henüz oluşturulmadığında. Ontimer'den OnCalculate'i çağırırken, hangi değeri döndürürse döndürsün, ilk dönüş 0 ise, bir sonraki tik gelene veya "Yenile" tıklanana kadar gösterge grafikte görüntülenmez.
İkinci sorun da benzer türden. Gösterge TF MN1'de bulunur. TF M5 ile SeriesInfoInteger() işlevi aracılığıyla veri almaya çalışıyorum. İşlev bir süre doğru değerleri döndürür ve bundan sonra bunu yapmayı bırakır ve sıfırları döndürmeye başlar.
Ey yüce moderatörler, soruna bakın :)