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

 
MrBrooklin :

Evet, "Stilizasyon"dan sonra açma ve kapama braketleri dikey olarak birleşiyor, ancak çatı kaplama keçelerinin vurgulanmasını anlamıyorum, nedir, çatı kaplama keçelerini görmüyorum. Şu anda programlamadaki beceri seviyesi sıfıra yakın.

Saygılarımla, Vladimir.

vurgulama, yanan bir parantezdir, işlev başlığından sonraki ilk, alttakiyle birlikte yanmalıdır, yani. her braketin bir çifti olmalıdır, vurgulanırlar, değilse, yeterli kapatma braketi yoktur

 
Fast235 :

vurgulama, yanan bir parantezdir, işlev başlığından sonraki ilk, alttakiyle birlikte yanmalıdır, yani. her braketin bir çifti olmalıdır, vurgulanırlar, değilse, yeterli kapatma braketi yoktur

İpucu için teşekkürler. Ekranımda vurgulanmadıkları, ancak kalınlıkta öne çıktıkları ortaya çıktı. Evet, tüm parantezler mevcuttur. Şimdi, fonksiyonları olan bloğu alt OnStart braketinin ötesine taşıdım ve hatalar ortadan kalktı. Yardımın için teşekkürler!

Saygılarımla, Vladimir.

 
MrBrooklin :

İpucu için teşekkürler. Ekranımda vurgulanmadıkları, ancak kalınlıkta öne çıktıkları ortaya çıktı. Evet, tüm parantezler mevcuttur. Şimdi, fonksiyonları olan bloğu alt OnStart braketinin ötesine taşıdım ve hatalar ortadan kalktı. Yardımın için teşekkürler!

Saygılarımla, Vladimir.

Tüm işlevler global kapsamda bildirilir, yani. parantezleriyle sınırlanan diğer işlevlerin alanı dışında.
 
Реter Konow :
Tüm işlevler global kapsamda bildirilir, yani. parantezleriyle sınırlanan diğer işlevlerin alanı dışında.

Sevgili Peter, bize kendi sözde biçimlendirme dilinizi () nasıl yarattığınızı söyleyin, yeni başlayanlar için faydalı olacak ve burada çok önemli olan mantıksal düşüncenin gelişimi için buna ihtiyacım var.

belki çok yemiştir, ağaca tırmanmıştır
 
MrBrooklin :

Herkese iyi akşamlar!

Sevgili programlama uzmanları, lütfen derleyicinin verdiği " işlev bildirimlerine yalnızca global kapsamda, ad alanında veya sınıf kapsamında izin verilir" hatasının ne anlama geldiğini söyleyin ve daha kesin olmak gerekirse, ilgileniyorum ad alanı nedir ve komut dosyasında nerede olmalıdır?

Soru, "Enough_Time" ve "Enough_Patience" için fonksiyon kodu yazmakla ilgilidir.

Saygılarımla, Vladimir.

Global kapsam, kapsam dışı fonksiyonlar. ve nerede olursa olsun, fonksiyonlar arasında yapabilirsiniz, umarım nerede başladıklarını ve bittiğini anlarsınız, sonunda global kapsamda yapabileceğiniz her şeyi yapabilir, global değişkenleri , özellikleri veya başka bir şeyi bildirebilirsiniz. Global kapsamda bildirilen değişkenler kelimenin tam anlamıyla her yerde görülebilir. Yerel alan, fonksiyonun kapanış küme parantezinin başından sonuna kadar olan alandır. Yerel kapsamda bildirilen değişkenler yalnızca onun içinde görünür.

Kodun yukarıdan aşağıya ve soldan sağa okunduğu unutulmamalıdır. Dize derleyici yeniden düzenlenmez. Buna göre, kural değişkeni her zaman referansının üstünde veya solunda bildirilir. Ve sadece sizin bölgenizde. Değişkenler farklı yerel kapsamlarda aynı ada sahip olabilir. Ve bu arada, döngüler ve bunlar da kendi alanlarıyla işlevlerse)

 
Valeriy Yastremskiy :

Global kapsam, kapsam dışı fonksiyonlar. ve nerede olursa olsun, fonksiyonlar arasında yapabilirsiniz, umarım nerede başladıklarını ve bittiğini anlarsınız, sonunda global kapsamda yapabileceğiniz her şeyi yapabilir, global değişkenleri , özellikleri veya başka bir şeyi bildirebilirsiniz. Global kapsamda bildirilen değişkenler kelimenin tam anlamıyla her yerde görülebilir. Yerel kapsam, işlevin kapanış küme parantezinin başından sonuna kadar olan alandır. Yerel kapsamda bildirilen değişkenler yalnızca onun içinde görünür.

Kodun yukarıdan aşağıya ve soldan sağa okunduğu unutulmamalıdır. Dize derleyici yeniden düzenlenmez. Buna göre, kural değişkeni her zaman referansının üstünde veya solunda bildirilir. Ve sadece sizin bölgenizde. Değişkenler farklı yerel kapsamlarda aynı ada sahip olabilir. Ve bu arada, döngüler ve bunlar da kendi alanlarıyla işlevlerse)

Bir kitap yazmam gerekiyor. hepimiz için birlikte

 
Реter Konow :
Tüm işlevler global kapsamda bildirilir, yani. parantezleriyle sınırlanan diğer işlevlerin alanı dışında.

Teşekkürler Peter! Bu sorunu çözmem için bana zaten yardım edildi.

MQL5 programlama dilini öğrenmeye devam ediyorum ve bugün bu konunun katılımcılarından bir görevin devamı olan script kodunu gönderiyorum. Komut dosyası tüm modlarda test edildi. Her şey olması gerektiği gibi çalışıyor. Başlamak için giriş parametrelerini minimuma ayarladım.

Saygılarımla, Vladimir.

 //+------------------------------------------------------------------+
//|                                                Learning_MQL5.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"
//---
#property script_show_inputs
//--- Зададим входные параметры скрипта 
input ushort Период_обучения= 500 ; //Полный период обучения в днях
input ushort Прошло_дней= 10 ;       //Сколько дней прошло с начала обучения
input bool    Терпение= true ;       //Терпение (true - достаточно; false - не достаточно)
//--- Зададим глобальные переменные
ushort Достаточность_времени;
bool Достаточность_терпения;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   if (Достаточно_времени()== 0 && Достаточно_терпения()== true )
     {
       Print ( "Я выучу язык MQL5!" );
     }
   else
     {
       Print ( "Я не выучу язык MQL5!" );
     }
  }
//--- Создадим функцию Достаточно_времени
ushort Достаточно_времени()
  {
   Достаточность_времени=(Период_обучения-Прошло_дней);
   return (Достаточность_времени);
  }
//--- Создадим функцию Достаточно_терпения
bool Достаточно_терпения()
  {
   Достаточность_терпения=Терпение;
   return (Достаточность_терпения);
  }
//+------------------------------------------------------------------+
 
MrBrooklin :

Teşekkürler Peter! Bu sorunu çözmem için bana zaten yardım edildi.

MQL5 programlama dilini öğrenmeye devam ediyorum ve bugün bu konunun katılımcılarından bir görevin devamı olan script kodunu gönderiyorum. Komut dosyası tüm modlarda test edildi. Her şey olması gerektiği gibi çalışıyor. Başlamak için giriş parametrelerini minimuma ayarladım.

Saygılarımla, Vladimir.

Yapısal olarak, fonksiyonlar doğru yazılmıştır, ancak mantık topaldır. Tüm kodu dikkatlice inceleyin.

Enough_time() işlevinin sonucu, mantıksal olan koşul olan sıfırdan büyük olmalıdır.
 
MrBrooklin :

Teşekkürler Peter! Bu sorunu çözmek için bana zaten yardım edildi.

MQL5 programlama dilini öğrenmeye devam ediyorum ve bugün bu konunun katılımcılarından bir görevin devamı olan script kodunu gönderiyorum. Komut dosyası tüm modlarda test edildi. Her şey olması gerektiği gibi çalışıyor. Başlamak için giriş parametrelerini minimuma ayarladım.

Saygılarımla, Vladimir.

Komut dosyanızın ne yaptığını açıklayın (yazın). Ve ilk yapmak her zaman daha iyidir. Hedef neden. Hedefe ulaşmak için görevler nelerdir. Sorunlar, çözüm algoritmaları ve daha fazla kod nasıl çözülür. Ve bu arada, görev bölümü ayrıştırmadır)

 
Fast235 :

Bir kitap yazmam gerekiyor. hepimiz için birlikte

Bu gecikmiş bir soru. MQL4 programlama dili için öğretici, şimdi MQL5 dili için Sergey Kovalev tarafından yazılmıştır, böyle asil bir işi yapması için bir uzmanın daha teşvik edilmesi gerekir.

Saygılarımla, Vladimir.

Neden: