Çaydanlıktan gelen sorular - sayfa 117

 
meneo :

Bu nasıl olabilir? (k değişkeninin hesaplanmasına ve hata ayıklama modundaki tüm değişkenlerin değerlerine bakın)

Evet, çok basit. lparam long (integer) türünde, wdpix ise int (integer) türündedir. Özel lparam/wdpix, uzun (tamsayı) türündedir. lparam < wdpix olduğundan, lparam/wdpix ==0 olur.

Bakınız MQL5 Referansı / Dil Temelleri / Veri Tipleri / Tip Döküm

 
meneo :

grafikteki bitişik çubuklar arasındaki aralıklar nasıl dikkate alınır? çok farklı olabilirler

Bunu görürseniz, servis masasına hatayı yazdığınızdan emin olun.
 
Herkese teşekkürler! )
 
Söyleyin bana, hangi Expert Advisor'ın çalıştığını başka bir pencerede bulmak mümkün mü?
 
meneo :
Söyleyin bana, hangi Expert Advisor'ın çalıştığını başka bir pencerede bulmak mümkün mü?
Doğrudan imkansız gibi (bir şeyi kaçırmadıysam). Ancak kendinizinkileri "yabancılardan" "ayırt etmeyi" öğretebilirsiniz. Projede birden fazla program yer alıyorsa, özel mesajlar aracılığıyla onlar için bir hoşluk alışverişi protokolü yazabilirsiniz. Birbirlerini selamladılar, şapkalarını çıkardılar, ceplerini çıkardılar vb.
 

Hala numaralandırma yapmak mümkün mü?

nasıl böyle?

için (int i = PERIOD_M1 ;i<=PERIOD_D;i++)

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5
 
meneo :

Hala numaralandırma yapmak mümkün mü?

nasıl böyle?

için (int i = PERIOD_M1 ;i<=PERIOD_D;i++)

Yani kesinlikle çalışmayacak.

Buna gelince, denemek zorundasın.

 for ( ENUM_TIMEFRAMES i = PERIOD_M1 ;i<=PERIOD_D;i++) {}

Nedense, "teorik olarak" bir şans olmasına rağmen, işe yaramayacağından şüpheleniyorum. :)

 

Denedim.

 void OnStart ()
  {
//---
   for ( ENUM_TIMEFRAMES i = PERIOD_M1 ;i<=PERIOD_D;i++) { Print ( EnumToString (i));}
  }
//+------------------------------------------------------------------+

Derlemek bile istemiyor.

'ForEnum.mq5' ForEnum.mq5 1 1
'i' - beklenmeyen belirteç ForEnum.mq5 15 25
'i' - bildirilmemiş tanımlayıcı ForEnum.mq5 15 25
' PERIOD_D ' - bildirilmemiş tanımlayıcı ForEnum.mq5 15 42
'i' - EnumToString parametresi bir ForEnum.mq5 numaralandırması olmalıdır 15 77
4 hata(lar), 0 uyarı(lar) 5 1

Ama öyle görünüyor - yasadışı bir şey yok.

 
MetaDriver :

Denedim.

Derlemek bile istemiyor.

Ama öyle görünüyor - yasadışı bir şey yok.


enum ile çalışmak için, muhtemelen en azından aşağıdaki gibi işlevleri eklemeye değer

enum::GetName ve enum:: GetValue

peki, foreach dil yapısı

daha sonra numaralandırma MQL'nin kendisi tarafından otomatikleştirilecektir.

 

Ve bu, kendi başına işe yarıyor.

 #property script_show_inputs

input    ENUM_TIMEFRAMES P = PERIOD_D1 ;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   for ( int i = PERIOD_M1 ;i<=P;i++)   // { Print(EnumToString(ENUM_TIMEFRAMES(i)));}
    {
       string S= EnumToString ( ENUM_TIMEFRAMES (i));
       if ( StringGetCharacter (S, 0 )== 'P' )   

        {{{{ Print (S);  }}}}

    }

  }

Ve karakteristik olan - P'nin beklenmeyen bir belirteç olduğunu veya bildirilmemiş bir tanımlayıcı olduğunu söylemez

Aksine, düzenli bir müşteri olarak, tüm olanaklar tarafından sağlanmaktadır.



Bu garip... ;)