MQL5 dilini sıfırdan kendi kendine öğrenme - sayfa 31

 
Valeriy Yastremskiy :

Mantıksaldır, dize değil, çünkü aralarında ben.))))

Yani sorunuzu tam anlayamadım. "... bu değişken ne tür ..." diye sorduğun anı kaçırdım. Öğrenim görünüyorum. Bahşiş için teşekkürler!

Saygılarımla, Vladimir.

 
Igor Makanu :

bu, yukarıda yazılandan tamamen farklı bir durumdur ve buradaki nokta görsel bir fark değildir.

ve "VE" nin sol kısmının ve sağ kısmının aynı anda yürütülmesinde

Merhaba Igor! Ben zaten neyin yanlış olduğunu anladım. Bahşiş için teşekkürler!

Saygılarımla, Vladimir.

 
MrBrooklin :

Merhaba Igor! Ben zaten neyin yanlış olduğunu anladım. Bahşiş için teşekkürler!

Saygılarımla, Vladimir.

dün Vasily Sokolov, dili öğrenme konusunda tavsiyelerde bulundu ve asıl vurgu, işlevlerin çalışmasını anlamaktı.

doğru ve pratik - geliştirmeyi hızlandırır, görevin bloklara bölünmesine izin verir, kodun yeniden kullanılmasına izin verir....

ancak, IMHO, önce mantıksal koşulların nasıl işleneceğini öğrenmeniz gerekir, sadece hazır özel işlevleri bulmanız veya MQL'den standart işlevleri kullanmanız an meselesidir

ancak mantıksal koşulları doğru bir şekilde oluşturmak ve aslında aynı şey olan görevi resmileştirmek için - bu daha önemlidir


mantıksal hatalar en kötüsü, her şey işe yarayacak, ama nasıl ve ne zaman ve nerede yavaşlayacak ... ama daha sonra bulamayacaksın)))


Peki, konuya göre, koşullar hakkında ise, tüm tematik forumlar bu soru ve cevapla dolu olmasına rağmen, 2x MA'nın kesişimi için koşulu yazın, ancak çoğu zaman bir kişi için bu kadar basit bir sorunun olmayabilir. mantıksal koşullar biçiminde resmileştirilmesi çok kolay;)


UPD: Merhaba! Unuttun!

 

Valery ve Igor'a bir kez daha, bool veri türünün nasıl çalıştığını bu kadar basit bir örnekle tam olarak anlamama ve anlamama yardımcı oldukları için teşekkür etmek istiyorum.

Saygılarımla, Vladimir.

 
Igor Makanu :
... peki, konuya göre, eğer koşullar hakkındaysa, tüm tematik forumlar bu soru ve cevapla dolu olmasına rağmen, 2x MA'nın kesişimi için koşulu yazın, ancak genellikle bir kişi için bu kadar basit bir soru olur mantıksal koşullar şeklinde formüle etmek o kadar kolay olmayabilir ;)...

Kesinlikle deneyeceğim, ama biraz sonra. Griple karantinada oturuyorum ve kafamın yeni bilgileri iyi sindiremediğini hissediyorum.

Saygılarımla, Vladimir.

 
Aliaksandr Hryshyn :
Güvenlik Sorusu:
"yeterli zaman" - derleyici uyarısı olmaması için bu değişken ne tür olabilir?

Beyler saçmalamayın. Brooklyn'i bir kenara koyma. Tiplere güvenmeyin.

 //+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
string a= "достаточно времени" ;
string b= "достаточно терпения" ;
//---
   if (a!=b)
     {
       Print ( "я выучу язык MQL 5" );
     }
  }

Kod harika çalışıyor. Çünkü çekirdek düzeyinde, dizeler eşitse true, aksi takdirde false döndüren bir dize karşılaştırma işlevi tanımlanır . Bir != b yazdığımızda, iki dizeyi değişmez != aracılığıyla karşılaştırma işlevi çağrılır. Bu arada, kullanıcı kendi özel türleri için bir karşılaştırma işlevi tanımlayabilir ve daha sonra benzer şekilde çalışırlar. Onlar. bu türlerle ilgili değil, yine işlevlerle ilgili .

Ancak kod, doğru şekilde yürütülmesine rağmen dahili olarak tutarsızdır. Gerçekte yazar, "yeterli zaman varsa" ve "yeterli sabır" sonucunun "MQL 5 öğreneceğim" olacağını ifade etmek istemiştir. Ama aslında, bir dil öğrenmek için bir değerin mutlaka bir diğerine eşit olması gerekmediği ortaya çıktı.

 
Vasiliy Sokolov :

Beyler saçmalamayın. Brooklyn'i bir kenara koyma. Tiplere güvenmeyin.

Kod harika çalışıyor. Çünkü çekirdek düzeyinde, dizeler eşitse true, aksi takdirde false döndüren bir dize karşılaştırma işlevi tanımlanır . Bir != b yazdığımızda, iki dizeyi değişmez != aracılığıyla karşılaştırma işlevi çağrılır. Bu arada, kullanıcı kendi özel türleri için bir karşılaştırma işlevi tanımlayabilir ve daha sonra benzer şekilde çalışırlar. Onlar. bu türlerle ilgili değil, yine işlevlerle ilgili .

Ancak kod, doğru şekilde yürütülmesine rağmen dahili olarak tutarsızdır. Gerçekte yazar, "yeterli zaman varsa" ve "yeterli sabır" sonucunun "MQL 5 öğreneceğim" olacağını ifade etmek istemiştir. Ama aslında, bir dil öğrenmek için bir değerin mutlaka bir diğerine eşit olması gerekmediği ortaya çıktı.

Merhaba Vasili! Desteğiniz ve net açıklamanız için teşekkür ederiz! Yine de bilgilerini benimle paylaşan herkese teşekkürler . Özellikle bu aşamada benim için çok önemliler!

Saygılarımla, Vladimir.

 
MrBrooklin :

Merhaba Vasili! Desteğiniz ve net açıklamanız için teşekkür ederiz! Yine de bilgilerini benimle paylaşan herkese teşekkürler . Özellikle bu aşamada benim için çok önemliler!

İyileş. sonra devam edelim.

 
Vasiliy Sokolov :

İyileş. sonra devam edelim.

Teşekkür ederim!

Saygılarımla, Vladimir.

 
Vasiliy Sokolov :
"... Ancak, kod, doğru yürütülmesine rağmen, kendi içinde tutarsızdır. Gerçekte yazar, "yeterli zaman varsa" ve "yeterli sabır" olursa, sonucun "olacağını ifade etmek istemiştir. MQL 5 dilini öğreneceğim." Ama aslında bir dil öğrenmek için bir değerin diğerine eşit olmaması gerektiği ortaya çıktı."

İlk önce betiğin şu versiyonu vardı:

 //+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
string a= "достаточно времени" ;
string b= "достаточно терпения" ;
//---
   if (a!=b && b!=a)
     {
       Print ( "я выучу язык MQL 5" );
     }
  }
//+------------------------------------------------------------------+

hangi mantıksal "VE" kullandı. Sonra baktım durumda, " MQL5 dilini öğreneceğim" ifadesini yazdırmak için bir a!=b ifadesi yeterli olacaktır. Kısacası, Valery ve Igor'un bana önerdiği konunun özüne girmedim.

Saygılarımla, Vladimir.

Neden: