Özel bir gösterge kullanırken Uzman Danışmanı hızlandırma teorisi (işlev - iCustom) - sayfa 2

 
komposter :

Ve gösterge 5-arabellek ise, ilk iCustom araması tüm arabellekleri hesaplayacaktır, sonraki aramalar ve diğer arabelleklere yönelik istekler yalnızca hazır bilgileri okuyacaktır (hesaplama için yeni verilerin görünümüne kadar).

Onlar. gösterge program tarafından en az bir kez çağrıldıysa, yalnızca istenen arabellek hakkında değil, aynı zamanda göstergeye dahil olan tüm bilgiler hakkında bilgi aldı mı? Veya mesele şu ki, diğer arabelleklerin hesaplanması bellekte bulunacak ve bu nedenle yeniden hesaplama olmayacak - program tarafından daha önce açıkça çağrılmamış olsa bile veriler RAM'den çekilecek (program (EA) göstergeden verileri depolamak için açıkça bellek ayırmadı). Göstergeye her erişildiğinde yeniden hesaplandığını okurdum - öyle değil mi?

kompost :

Gerçekten ağır bir göstergeniz varsa, kendi önbellek sisteminizi oluşturun, böylece ilk çalıştırmada veriler hesaplanır ve dosyaya yazılır ve sonraki çalıştırmalarda sadece okunur. Bunu yaptım, çok daha hızlı çıkıyor.

Ancak vakaların% 95'inde tüm bunlar gerekli değildir, test cihazı zaten yeterince hızlıdır ve 5-ke'de bulutu da bağlayabilirsiniz.

İyi şanlar!

Bir sabit sürücüden okuma daha mı hızlı olacak, yoksa hesaplanmış gösterge verileriyle bellekte bir sanal disk mi yaptınız?

Pekala, sadece beş tane hayal ediyorum, şimdiye kadar sadece dört tane sipariş etmek için fikirleri uyguluyorum.

İyi şanslar dilekleriniz için teşekkürler!

 
komposter :

Gerçekten ağır bir göstergeniz varsa, kendi önbellek sisteminizi oluşturun, böylece ilk çalıştırmada veriler hesaplanır ve dosyaya yazılır ve sonraki çalıştırmalarda sadece okunur. Bunu yaptım, çok daha hızlı çıkıyor.

Ancak vakaların% 95'inde tüm bunlar gerekli değildir, test cihazı zaten yeterince hızlıdır ve 5-ke'de bulutu da bağlayabilirsiniz.

İyi şanlar!

Gösterge hakkında değil, danışman hakkında, ancak konu yakın. Scalper'ım oldukça fazla sayılır, her türlü filtre, dönüşüm. Hemen Matlab'da model için böyle bir önbellek yaptım, önce tüm matematik hesaplandı ve bir .mat dosyasına döküldü ve ardından bu veriler kullanılarak strateji çalıştırıldı. Şimdi ellerim aynı şeyi MQL4 test cihazı için yapmak için can atıyor, aksi halde optimizasyon gerçekçi değil.
 
-Aleks- :

Onlar. gösterge program tarafından en az bir kez çağrıldıysa, yalnızca istenen arabellek hakkında değil, aynı zamanda göstergeye dahil olan tüm bilgiler hakkında bilgi aldı mı? Veya mesele şu ki, diğer arabelleklerin hesaplanması bellekte bulunacak ve bu nedenle yeniden hesaplama olmayacak - program tarafından daha önce açıkça çağrılmamış olsa bile veriler RAM'den çekilecek (program (EA) göstergeden verileri depolamak için açıkça bellek ayırmadı). Göstergeye her erişildiğinde yeniden hesaplandığını okurdum - öyle değil mi?

Gösterge yalnızca bir arabellek hesaplayamaz, herhangi bir aramada içindeki her şeyi sayar. Hesaplamaları parametrelerle sınırlayamazsanız, bu başka bir konu.

Yeniden hesaplama her aramada gerçekleşir, ancak genellikle yalnızca 0. çubuk yeniden hesaplanır. Ve danışman da doğru yazılmışsa, bu aramalar her tikte gerçekleşmez.

-Aleks- :

Bir sabit sürücüden okuma daha mı hızlı olacak, yoksa hesaplanmış gösterge verileriyle bellekte bir sanal disk mi yaptınız?

Normal bir diskten okuyorum, ancak her çubuktaki gösterge değerlerini değil, "zaman;sinyal" satırında, bu tür verilere çok daha az ihtiyaç var.

Herhangi bir gösterge için evrensel bir çözüm olması pek olası değildir, küresel bir görevden başlamanız gerekir.

-Aleks- :

Pekala, sadece beş tane hayal ediyorum, şimdiye kadar sadece dört tane sipariş etmek için fikirleri uyguluyorum.

Ve bu boşuna, şimdi her iki platform için de tek bir dosyada kod yazabilirsiniz, farklılıklar sadece ticaret bölümünde ve zaman serileriyle (göstergeler dahil) çalışırken.

Bulut gerçekten güçlü bir şey.

 
VDev :
Gösterge hakkında değil, danışman hakkında, ancak konu yakın. Scalper'ım oldukça fazla sayılır, her türlü filtre, dönüşüm. Hemen Matlab'da model için böyle bir önbellek yaptım, önce tüm matematik hesaplandı ve bir .mat dosyasına döküldü ve ardından bu veriler kullanılarak strateji çalıştırıldı. Şimdi ellerim aynı şeyi MQL4 test cihazı için yapmak için can atıyor, aksi halde optimizasyon gerçekçi değil.

Ayrı bir gösterge için bir önbelleğe sahip olmak pek mantıklı değil, ayrıca danışmanda ihtiyaç duyulan verilerden başladım.

Kabaca söylemek gerekirse, hazır sinyaller kaydedildi ve ardından yalnızca girişler ve konum takibi okundu ve gerçekleştirildi.

 
komposter :

Gösterge yalnızca bir arabellek hesaplayamaz, herhangi bir aramada içindeki her şeyi sayar. Hesaplamaları parametrelerle sınırlayamazsanız, bu başka bir konu.

Yeniden hesaplama her aramada gerçekleşir, ancak genellikle yalnızca 0. çubuk yeniden hesaplanır. Ve danışman da doğru yazılmışsa, bu aramalar her tikte gerçekleşmez.

Sonunda, çok fazla arabellek içeren bir göstergeye erişirseniz ve bunlardan birinden hepsi hakkında bilgi alırsanız, bu göstergeyi defalarca hesaplamaktan daha hızlı ve bellek açısından daha verimli olacaktır. farklı tamponlarından bilgiye mi ihtiyacınız var?


Ve yine de, belki birileri bir deney yapacak, aksi takdirde fikir gitmeme izin vermiyor!? Yoksa yenilik araştırması sadece bir ücret karşılığında mı ilginç?

 
Göstergenin OnCalculate() işlevi yalnızca yeni bir fiyat üzerinden iCustom() ilk kez çağrıldığında çağrılır. iCustom()'a yapılan sonraki çağrılar, OnCalculate() işlevini çalıştırmadan yalnızca verileri alır. Fiyatın değiştiğini, bir sonraki iCustom() çağrısının onCalculate() öğesini tetiklediğini , sonraki çağrıların yalnızca veri aldığını vb., fiyat değişene kadar vb. (şu anda deneysel olarak test edilmiştir).
 
-Aleks- :

Sonunda, çok fazla arabellek içeren bir göstergeye erişirseniz ve bunlardan birinden hepsi hakkında bilgi alırsanız, bu göstergeyi defalarca hesaplamaktan daha hızlı ve bellek açısından daha verimli olacaktır. farklı tamponlarından bilgiye mi ihtiyacınız var?

5 arabellek için 1 gösterge veya 1 arabellek için 5 gösterge - yaklaşık olarak aynı.
Sadece 2 tampondan bilgiye ihtiyacınız varsa, 5 tamponlu bir gösterge yerine 1 tamponlu 2 gösterge çağırmak daha karlı olacaktır. Ancak 2 tamponlu bir göstergeden daha karlı değil.


-Aleks- :

Ve yine de, belki birileri bir deney yapacak, aksi takdirde fikir gitmeme izin vermiyor!? Yoksa yenilik araştırması sadece bir ücret karşılığında mı ilginç?

kompost :

Bu yaklaşım, göstergenin bellek tüketimini azaltacaktır (önceki ve sonraki arabellek sayısındaki farkın yaklaşık katı), ancak işlemci üzerindeki yükü artıracaktır (hem "birleştirme" hem de "çözümleme" sürekli yapılmalıdır).

Bir bellek sınırıyla karşılaşmazsanız (ve mevcut hacimlerde bu pek olası değildir), yalnızca bir yavaşlama olacaktır.

 

Sanki beni anlamıyorlar! :)

Ama anlıyorum ki, büyük olasılıkla bunu anlamıyorum.

Kodda özel bir gösterge çağırdığımızı varsayalım - bu göstergenin arabelleğini belirtmemiz gerekiyor, ardından kodun devamında özel göstergeyi ilk kez aynı adla, ancak farklı bir arabellekle tekrar çağırıyoruz.

Soru: Gösterge iki kez mi yoksa sadece bir kez mi hesaplanacak?

 
-Aleks- :

...

Soru Gösterge iki kez mi yoksa sadece bir kez mi hesaplanacak?

Bir kere.
 
Integer :
Bir kere.
Yani, gerekli göstergelerin karmakarışıklığı, göstergeleri ayrı ayrı kullanmaktan daha hızlı çalışacak - yani teklifler hakkındaki bilgiler daha az talep edilecek mi?
Neden: