Hatalar, hatalar, sorular - sayfa 325

 
AlexSTAL :
Lanet olsun... Terminalle ilgili o kadar çok örnek var ki... merak etme anne... örneğin, SymbolInfoSample.mq5 betiği
Bazen yolculuğun başında yeni kavramlar tanımlamak yeterlidir. Ardından örnek programları keşfedin.
 
Dosyayı dahil etmek için tam yol nasıl alınır?


iki fonksiyon var

__FILE__ - sadece dosya adını verir

MQL5_PROGRAM_PATH - ortaya çıkan ex5 dosyasının yolunu verir


soru - bir mqh dosyasında nerede olduğunu nasıl öğrenebilirim?

 
MetaEditor'da "Dosyadaki işlevlerin listesi" düğmesi bir liste açar. Aşağı kaydırırsanız, P harfi ile biter ve daha fazla hareket etmez (aşağıya bakan siyah üçgen devre dışı kalır), ancak R harfi için sınıflar vardır. Lütfen düzeltin.
 
-Alexey- :
MetaEditor'da "Dosyadaki işlevlerin listesi" düğmesi bir liste açar. Aşağı kaydırırsanız, P harfi ile biter ve daha fazla hareket etmez (aşağıya bakan siyah üçgen devre dışı kalır), ancak R harfi için sınıflar vardır. Lütfen düzeltin.

Ve en azından listenin yaklaşık boyutu ne? Belki listenin boyutunda bir sınır vardır ...
 

Bu bir hata mı yoksa bulduğum bir özellik mi bilmiyorum. Aşağıdaki kod çalışıyor ancak bir uyarı ifadesi veriyor, boolean değil

 void OnStart ()
  {
//---
   int a= 3 ;
   int b= 3 ;
   int c= 3 ;
//---   
   if (a=b=c= 3 ) Alert ( "a=b=c=3" );
   else Alert ( "Условие не верно" );
//---
  }
 
sergey1294 :

Bu bir hata mı yoksa bulduğum bir özellik mi bilmiyorum. Aşağıdaki kod çalışıyor ancak bir uyarı ifadesi veriyor, boolean değil



Kod neden çalışmamalı?

Tek şey, if işleneni bool'a dönüştürülmez, derleyici bunun için bir uyarı verir , aksi takdirde her şey doğru yazılır.

a, b, c bu arada, if içinde açıkça atandıkları için hiç başlatamazsınız.

3 , a'ya , a , b'ye , b , c'ye atanır ve ancak o zaman true ile kontrol edip Print() yazarız.

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора - Документация по MQL5
 
sergey1294 :

Bunun bir hata mı yoksa bulduğum bir özellik mi olduğunu bilmiyorum. Aşağıdaki kod çalışıyor ancak bir uyarı ifadesi veriyor, boolean değil


büyük ihtimalle öyle

 void OnStart ()
{
//----------------------------------------------------------------------------//
//Work variables
int a= 3 ;
int b= 3 ;
int c= 3 ;
//----------------------------------------------------------------------------//
   if (a&&b&&c== 3 ) Alert ( "a=b=c=3" );
   else Alert ( "Условие не верно" );
//----------------------------------------------------------------------------//
}
 

O zaman küfür etmemek için bu ifadeyi nasıl yazacağımı söyle.

 void OnStart ()
  {
//---
   int a= 1 ;
   int b= 2 ;
   int c= 3 ;
//---   
   if (a<b<c) Alert ( "a<b<c" );
   else Alert ( "Условие не верно" );
//---
  }
 
sergey1294 :

O zaman küfür etmemek için bu ifadeyi nasıl yazacağımı söyle.


 if (a<b&&b<c){ Print ( "" );}

atama işlemleri yaptığınız ilk gönderide birden çok basamaklı atamaya izin veriliyor. Burada çoklu karşılaştırma yapmaya çalışıyorsunuz.

ZY, çıktıda iki karşılaştırma sonucunuz olduğundan, bunların && veya başka bir boole operatörüyle ayrılması gerekir.

 
sergey1294 :

O zaman küfür etmemek için bu ifadeyi nasıl yazacağımı söyle.


öyle öneriyorum

 //----------------------------------------------------------------------------//
//Work variables
int a= 1 ;
int b= 2 ;
int c= 3 ;
//----------------------------------------------------------------------------//
   if (a<b&&b<c) Alert ( "a<b<c" );
   else Alert ( "Условие не верно" );
//----------------------------------------------------------------------------//

Nikolay öne geçti :)

Ukrayna :

ZY, çıktıda iki karşılaştırma sonucunuz olduğundan, bunların && veya başka bir boole operatörüyle ayrılması gerekir.

Bu durumda, yalnızca &&.