MQL5'in Geleceği - MQL5+ ve hatta MQL6 - sayfa 8

 
Karputov Vladimir :

Birkaç TF'de eşzamanlı testin ne olduğunu bilmiyorum, ancak en azından testten sonra diğer TF'lere geçememeniz gerçeği vızıltı değil. Görsel testler sırasında geçiş yapmak harika olurdu.
 

Gelecek... peki, peki. "Teşekkür ederim, komşu" (c)



 
Optimizasyon yaparken, geçişin sonucunu "Sonuç" sütununda görüntülenen sayılarda değil, yüzde olarak görmek istiyorum. Evet ve geriye dönük testte "Net kar" sonucunun yanında % olarak karı belirtmek güzel olurdu.
 
Rinat Tukaev :
Optimizasyon yaparken, geçişin sonucunu "Sonuç" sütununda görüntülenen sayılarda değil, yüzde olarak görmek istiyorum. Evet ve geriye dönük testte "Net kar" sonucunun yanında % olarak karı belirtmek güzel olurdu.
Formülünüzü OnTester() olay işleyicisine ekleyin ve ihtiyacınız olan sonucu görün.
 
Yury Reshetov :
Formülünüzü OnTester() olay işleyicisine ekleyin ve ihtiyacınız olan sonucu görün.
Teşekkür ederim! bilmiyordum)
 
MQL4 ve MQL5'te, global program değişkenlerinin eklentilerdeki değişkenler ve parametrelerle çakışmamasını sağlamayı öneriyorum. Ardından, Expert Advisor'da nokta değişkenini bildirdim ve şöyle bir sürü mesaj okudum: "'nokta' bildirimi, 153 ChartObject.mqh 154 39 satırındaki 'expert.mq4' dosyasındaki global bildirimi gizler". Sonuçta, bu bir tür korku, bir modülde, programda, başka bir modülün parametrelerinde bulunan bir değişkeni bildiremezsiniz. Bu, ChartObject.mqh'de açıkça belirtilmemişse, ChartObject.mqh modülünün neden Uzman Danışmanım olan Expert.mq4'ü görmesi gerekiyor?
 
Mihail Matkovskij :
MQL4 ve MQL5'te, global program değişkenlerinin eklentilerdeki değişkenler ve parametrelerle çakışmamasını sağlamayı öneriyorum. Ardından, Expert Advisor'da nokta değişkenini bildirdim ve şöyle bir sürü mesaj okudum: "'nokta' bildirimi, 153 ChartObject.mqh 154 39 satırındaki 'expert.mq4' dosyasındaki global bildirimi gizler". Sonuçta, bu bir tür korku, bir modülde, programda, başka bir modülün parametrelerinde bulunan bir değişkeni bildiremezsiniz. Bu, ChartObject.mqh'de açıkça belirtilmemişse, ChartObject.mqh modülünün neden Uzman Danışmanım olan Expert.mq4'ü görmesi gerekiyor?
Belli ki sana yardım edecek
 #property strict
 
Igor Volodin :
Belli ki sana yardım edecek
Evet, Expert Advisor'da bu satır var ama ChartObject.mqh modülünde yok. Bu nedenle tüm standart modülleri yeniden yazmayacağım...
 
Mihail Matkovskij :
Evet, Expert Advisor'da bu satır var ama ChartObject.mqh modülünde yok. Bu nedenle tüm standart modülleri yeniden yazmayacağım...


Anladım. O zaman global değişkenler yaratmayın. Onlarsız yapmak oldukça mümkündür. Aksi takdirde, herhangi bir eşleşme için, örneğin çok yaygın bir ad:

 int i;

global olarak ilan edilenlerin üzerine yerel olarak ilan edilenler yazılacaktır. Ne hakkında uyarılıyorsunuz.

Bir eklentinin kendi kapsamı yoktur, bir modül değildir, ancak include yazdığınız yere eklenecek bir kod parçası düşünün.

 
Igor Volodin :


Anladım. O zaman global değişkenler yaratmayın. Onlarsız yapmak oldukça mümkündür.

Yani, nasıl yaratılmaz? Herhangi bir programlama dilinde, global değişkenler serbestçe kullanılır ve bu normaldir, ancak burada derleyici yemin eder. Ve hata kritik olmasa da, yine de elverişsizdir.

 double point = MarketInfo(EA_Symbol(), MODE_POINT);

Puan değişkeni 1 puanın fiyatını bildirir ve standart Puanın yerine geçer. MarketInfo(EA_Symbol(), MODE_POINT) işlevi, herhangi bir enstrümanın 1 puanının fiyatını verir. Ayrıca, nokta değişkeni, elbette küresel bir değişkense, bir danışmanın gövdesinde herhangi bir işlevde kullanılabilir. Bu tür durumların belirli rahatsızlıklara neden olduğunu ve oldukça sık olduğunu kabul edin (elbette, MQL'de programlama deneyiminiz yoksa). Ve atlanabilmelerine rağmen, soru şu ki, diğer modern PL'lerde bu tür sorunlar yoksa neden?