MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1044

 
Galim_V :

Sorunuma basit bir yazılım çözümü var mı?

Orada!


 
Yevhenii Levchenko :

Orada!


Cevapladığınız için teşekkürler. Evet, takasın mevcut değerini öğreneceğiz. Ve dünün değeriyle karşılaştırmanın sonucuna ihtiyacım var.

 
Galim_V :

Cevapladığınız için teşekkürler. Evet, takasın mevcut değerini öğreneceğiz. Ve dünün değeriyle karşılaştırmanın sonucuna ihtiyacım var.

Dünün değerini bir değişkende saklayın ve karşılaştırın! :)

 
Yevhenii Levchenko :

Dünün değerini bir değişkende saklayın ve karşılaştırın! :)

Terminali yeniden başlatırken kaydedilecek mi? Yoksa bir terminal global değişkeninden mi bahsediyorsunuz?

 
Galim_V :

Terminali yeniden başlatırken kaydedilecek mi? Yoksa bir terminal global değişkeninden mi bahsediyorsunuz?

Hayır, kurtarılmayacaklar. Kaydetmek için global bir değişkene veya bir dosyadan kaydetmeye ihtiyacınız vardır.
 
Yevhenii Levchenko :
Hayır, kurtarılmayacaklar. Kaydetmek için global bir değişkene veya bir dosyadan kaydetmeye ihtiyacınız vardır.

Bir bilgi paneli yaptım ama kaynak kodunu kaybettim. Aynı zamanda, herhangi bir kayıttan kaçındı, muhbirlerin işlevlerini kullandı. Her şeyi geri yüklemeye ve bu sorunu takas ile eklemeye karar verdim. Bu nedenle bir soru da sordu. Takas, terminalin kendisinin yazdığı tarihte iz bırakır mı? Ancak kayıttan başka bir seçenek yoksa, dosyalarla ve global olanla çalışmadığı için bir ipucu almak istiyorum. 20 enstrüman için günde bir kez karşılaştırmanız gerektiği göz önüne alındığında. Zaman için teşekkürler.

 
Galim_V :

Bir bilgi paneli yaptım ama kaynak kodunu kaybettim. Aynı zamanda, herhangi bir kayıttan kaçındı, muhbirlerin işlevlerini kullandı. Her şeyi geri yüklemeye ve bu sorunu takas ile eklemeye karar verdim. Bu nedenle bir soru da sordu. Takas, terminalin kendisinin yazdığı tarihte iz bırakır mı? Ancak kayıttan başka bir seçenek yoksa, dosyalarla ve global olanla çalışmadığı için bir ipucu almak istiyorum. 20 enstrüman için günde bir kez karşılaştırmanız gerektiği göz önüne alındığında. Zaman için teşekkürler.

Global bir değişken kullanmak daha kolaydır ... Dosyalarla ilgili daha fazla sorun...
 

MT5'teki göstergeyi bitirdi (MT4'ten çevrildi). Dün bunun hakkında yazdım. Benim için iyi çalıştı ama müşteri için kötü. Anladığım kadarıyla, gösterge programlı olarak diğer göstergeleri eklediğinde veya kaldırdığında sorunlar başladı. IndicatorRelease fonksiyonunda günah işliyorum... Deinitialization sırasında, göstergeler (mevcut olan hariç) ChartIndicatorDelete aracılığıyla grafikten kaldırılır, ardından tutamaç IndicatorRelease aracılığıyla serbest bırakılır. Yardım diyor ki:

 IndicatorRelease ()

Удаляет хэндл индикатора и освобождает расчетную часть индикатора, если ею больше никто не пользуется.
Функция позволяет удалять хэндл индикатора, если он больше не нужен, и таким образом позволяет экономить память. Удаление хендла производится сразу, 
удаление расчетной части индикатора производится через некоторое небольшое время (если обращений к ней больше нет). 

Başlatma sırasında, tutamaçlar geri oluşturulur. Ve OnCalculate'deki ilk hesaplama sırasında göstergeler tekrar grafiğe eklenir. Bir tür gecikme eklemek için OnDeinit'e 1000 geçiş için boş bir döngü ekledim. Bu karardan emin değilim. Daha önce benim için iyi çalıştı (terminal bugün bir kez asılı kalmasına rağmen) ve müşteri bugün normal şekilde çalışmaya başladı (en azından şimdilik).

MT4'teki algoritma iyi çalışıyor (asla orada asılı kalmadı). MT5 arasındaki fark, göstergelerin programlı olarak eklenmesidir (ve bunları kullanmak için göstergelerin hesaplanan değerlerinin sürekli kopyalanması gerekir). Oysa MT4'te görselleştirme için arabellekler basitçe kopyalandı (hareketler ve zikzak... göstergelerin "yazılım eklenmesi" gibi).

Söyleyin bana, sorun tutamaçların silinmesi ve yeniden oluşturulması ile ilgili olabilir mi (parametreleri değiştirirken, başlatmadan kaldırma ve başlatma hemen birbirini takip eder ...)? Böyle bir gösterge için bir tutamaç olup olmadığını programlı olarak kontrol edebilir miyim?

 

Normalleştirmeden sonra hala normalleştirilmemiş değerler alıyorum - MQL5

up    = NormalizeDouble ((up == 0 ? 1 * point : up), _Digits );
down  = NormalizeDouble ((down == 0 ? 1 * point : down), _Digits );
sum   = NormalizeDouble ((sum == 0 ? 1 * point : sum), _Digits );
minus = NormalizeDouble ((minus == 0 ? 1 * point : minus), _Digits );
if (index <= 65 && index >= 55 ) Print (index, " " ,up, " " ,down, " " ,sum, " " ,minus);

En olumsuz 1e-05, Ne yapmalı?

 

MT5 windows 10 X64'te göstergeyi çağırarak sorunu nasıl çözeceğimi söyle, bunu şu şekilde yapıyorum:

#resource "\\Göstergeler\\Göstergem.ex5"

handle=iCustom(NULL,0,"\\Göstergeler\\Göstergem");

Eskiden #resource olmadan çalışıyordu, sonra #resource ile çalışmaya başladı, şimdi çalışmıyor, 4804 hatası yazıyor