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

 
Alexander Laur :
Görevi tanımlayabilirsiniz. Komut dosyası tüm çubuklarla ne yapmalı? Sanırım sorunu kafadan çözmeye çalışıyorsun. Çözülmesi gereken sorunu görmeden herhangi bir tavsiyede bulunmak zordur.

Scriptim var, işte TOR https://www.mql5.com/p/21/234411 , ancak işlem sırasında bellek yetersizliğinden dolayı zorluklar oluyor .... daha doğrusu kısa bir script işleminden sonra bitiyor .

 
Alexander Laur :
Sayfa yasak. Bir senaryonuz olması harika, ancak sorunu çözmez. Senaryo ne işe yarar?
Komut dosyası, fiyata göre göstergenin konumunu analiz eder. Birçok kriter vardır - amaç, göstergenin bir destek veya direnç bölgesi olduğu gösterge için en uygun ayarları seçmektir. Komut dosyası, hareketli ortalama ve numaralandırma parametreleri gibi herhangi bir göstergeyi bağlamanıza izin verir.
 
Alexander Laur :

Renat size tek bir yol olduğunu söyledi - göstergenin hesaplanan kısmını senaryoya aktarmak.

Bunu anladım, ancak işi zorlaştırıyor ve masraflarımı önemli ölçüde artırıyor. Aracı (komut dosyası) evrensel olmayan hale getirir.

Alexander Laur :

Yine de mazoşizme girebilir ve hesaplanan parametre aralığını alt aralıklara bölebilirsiniz. Ve her alt aralıktaki parametreleri değiştirerek betiği çalıştırın. Zaman alıcı, anlıyorum, ama ne yapmalı?

Şimdi çözümün bir komut dosyasıyla bir grafiği açma, üzerindeki bazı göstergeleri hesaplama, grafiği bir komut dosyasıyla kapatma ve yeni bir grafik açma sürecini otomatikleştirmek olabileceğini düşünüyorum - bu hafızayı temizlemenize izin verir mi?

Alexander Laur :

İkinci seçenek 5-ku'ya geçmek. Yani, 5. göstergede optimal parametreler aranır ve ardından 4. göstergelerde optimal parametreler değiştirilir. 5-ke'de göstergelerin yüklenmesini ve boşaltılmasını yönetmek mümkündür. Ancak yükleme/boşaltma işlemleri oldukça kaynak yoğundur.

Pahalı işlemler yokluklarından daha iyidir ve anladığım kadarıyla ilk beşte daha fazla bellek kullanılabilir, ancak dört için yazılmış göstergelere ihtiyacım var, çünkü dörtte işlem yapıyorum...

Bir göstergeyi beşe dönüştürmek için evrensel bir mekanizma bilmiyorum, ancak MT geliştiricilerinin derlemeden sonra bile göstergeleri birbiriyle uyumlu hale getirmeleri mümkün olsa da ...

 
Alexander Laur :

Grafiğe gösterge ekleme komutunu bulamadım. Grafiği silerek, elbette, belleği boşaltacaksınız. Ancak grafiğin kapanmasıyla birlikte grafikteki tüm göstergeler de kapanacaktır.

Yeni çizelgeleri açma komutu var ama bu yeni açılan çizelgede gösterge asma komutu yok. Dolayısıyla bu durumda da gerçek otomasyon çalışmayacaktır.

Ama iCustom'a ne dersiniz, bunun üzerinden gösterge diyoruz - bu bir grafik eklemekle eşdeğerdir - aslında, grafiği çizelgeye koymuyorum.
 
Alexander Laur :

Bir göstergeyi iCustom() aracılığıyla çağırmak, bir grafiğe grafik eklemiyor.

Grafiği çizelgeye koymazsanız, hafızayı boşaltmak için hangi çizelgeyi öldüreceksiniz?

Vakit kaybetme, Renat'a güven.

Belki de yanılıyorum. Hadi tekrar yapalım:

1. iCustom işlevini kullanarak göstergeyi çağıran ve grafik arabelleklerini belleğe kaydeden bir komut dosyası vardır.

2. iCustom işlevinin birden çok kez çağrılması - sonuç, bir RAM doldurma ve göstergeden sıfırların döndürülmesidir.

3. Terminal bellekle çalışabilmelidir, değil mi? Önbelleği temizlemek, anladığım kadarıyla, verilere ihtiyaç yoksa mümkündür, ancak veri grafiği silinirse gerekli değildir.

4. Grafiği silin ve 1. adımda daha fazla hesaplama yapmak için RAM'i boşaltın.

nerede yanılıyorum?


PS Anladığım kadarıyla, veriler hesaplamanın yapıldığı tabloya bağlı - bunun için hangi alıntıların kullanıldığı önemli değil.

 
-Aleks- :

Belki de yanılıyorum. Hadi tekrar yapalım:

1. iCustom işlevini kullanarak göstergeyi çağıran ve grafik arabelleklerini belleğe kaydeden bir komut dosyası vardır.

2. iCustom işlevinin birden çok kez çağrılması - sonuç, bir RAM doldurma ve göstergeden sıfırların döndürülmesidir.

3. Terminal bellekle çalışabilmelidir, değil mi? Önbelleği temizlemek, anladığım kadarıyla, verilere ihtiyaç yoksa mümkündür, ancak veri grafiği silinirse gerekli değildir.

4. Grafiği silin ve 1. adımda daha fazla hesaplama için RAM'i boşaltın.

nerede hatalıyım?


PS Anladığım kadarıyla, veriler hesaplamanın yapıldığı tabloya bağlı - bunun için hangi alıntıların kullanıldığı önemli değil.

3. paragrafta.

Terminal, kapandıktan sonra bir süre için zaman serilerini ve göstergeleri bir önbellekte tutar, böylece yeniden eriştiğinizde her şeyi bir kerede yeniden hesaplamanız gerekmez.

 
Andrey Khatimlianskii :

3. paragrafta.

Terminal, kapandıktan sonra bir süre için zaman serileri ve göstergelerin bir önbelleğini tutar, böylece yeniden eriştiğinizde her şeyi bir kerede yeniden hesaplamanız gerekmez.

Ama bu "bazı" zaman nedir? Belki kaynakları serbest bırakmak için daha fazla kriter/yöntem vardır (önbelleği bellekten silmek)?
 
-Aleks- :
Ama bu "bazı" zaman nedir? Belki kaynakları serbest bırakmak için daha fazla kriter/yöntem vardır (önbelleği bellekten silmek)?

Hayır, Renat zaten cevap verdi.

MT5'te, göstergeleri kaynak olarak kullanan bir Expert Advisor kaldırılırsa önbellek temizlenir. Onlar. Bir uzmanla bir tablo yükleyebilir, bir parça okuyabilir ve grafiği kapatabilirsiniz . Ama yine de çok hızlı değil.

MT4'ü bilmiyorum.

 
Andrey Khatimlianskii :

Hayır, Renat zaten cevap verdi.

MT5'te, göstergeleri kaynak olarak kullanan bir Expert Advisor kaldırılırsa önbellek temizlenir. Onlar. Bir uzmanla bir tablo yükleyebilir, bir parça okuyabilir ve grafiği kapatabilirsiniz . Ama yine de çok hızlı değil.

MT4'ü bilmiyorum.

Komut dosyası çalıştırıldıktan sonra bellek serbest bırakılır - bir gerçek. Bu, göstergeden alınan verileri hesaplama belleğinin boşaltıldığı anlamına gelir, ancak bu özellikle grafik arabellekleri için geçerli değildir, değil mi?

Ve verileri bir grafik arabelleği aracılığıyla değil, bir şekilde farklı bir şekilde yayınlarsanız - örneğin küresel değişkenler aracılığıyla (orada bir arabellek oluşturulabilir mi bilmiyorum), o zaman bellek eksikliğinin etkisi aşılabilir mi?

 
İşte bir deney
1. Grafiği açıyorum ve "Görev Yöneticisi" - 215692 kb bellek kullanılıyor
2. Bir gösterge uyguluyorum - 219612 kb bellek dolu (3920 kb artış)
3. Göstergeyi siliyorum - 217984 kb bellek dolu (1628 kb serbest bırakıldı)
Ve 2292 kb yayınlanmamış belleğin geri kalanı, anladığım kadarıyla önbelleğe mi gitti?
Tampon çok fazla veri almıyor mu - saate göre Şubat 2013 tarihi.
Neden: