Servis masası. Şikayetler, öneriler. - sayfa 6

 
Ilya Malev :
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.
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.
 
Alexey Kozitsyn :

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?

Biliyorum. Zaman[Bar-1]
 
Alexey Kozitsyn :

... MT4'ten MT5'e ve tam tersi programların taşınabilirliği.

C 4 ila 5 - anlaşılabilir. Aksine, pek değil.

 
Alexey Kozitsyn :
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.

 
Vasyl Nosal :
Uzun zamandır hakemlik bekliyorum. 3. hafta (2. haftanın beklemesi istendi, tamam).
Ey yüce moderatörler, soruna bakın :)
 
Алексей Тарабанов :
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.

Gerçekten söyleyecek bir şeyin var mı?
 

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.

 
Alexey Kozitsyn :

İ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.

Sorununuzu göstergede zaten MT5'te karşıladım, bir OnTimer döngüsünden çıkmadan, başka bir sembol/dönemdeki zaman dizilerini kontrol ediyorum (mevcut olan değil) - işlev, oluşturulduğunu ve doğru sayıda çubuk verdiğini söylüyor. Bundan hemen sonra, başka bir gösterge oluşturma işlevi çağırıyorum - içinde, zaten aynı OnTimer çağrısından ayrılmadan çağrıldı, zaman serisi boşaltmayı başarıyor ve SeriesInfoInteger zaten sıfırları döndürüyor. Her şeyin keneler alınmadan kendi kendine inşa edilmesi için ek bir döngüsel kontrol oluşturmam gerekiyordu.
 
Vasyl Nosal :
Ey yüce moderatörler, soruna bakın :)
Yakında tahkim değerlendirmesinin 4. haftası devam edecek...devam edecek :))))))