Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 948

 

Lütfen aşağıdaki yapının nasıl görüneceğini bana bildirin:

1) Yeni bir onay işareti oluşturuldu - bir koşul karşılandı, örneğin, bu onay işaretine desenin bir göstergesi çizilecek ve bir uyarı gönderilecek

2) Yukarıdaki koşul yerine getirildikten sonra, yukarıdaki eylemin aynı eyleminin birçok tekrarının yürütülmesini aşağıdaki süreye eşit bir süreye kadar durdurmak gerekir:

 TimeCurrent () <= (time[index] + PeriodSeconds ( PERIOD_CURRENT ))

3) Çubuk bir sonrakine geçer geçmez, durumu yukarıda açıklanan bir sonraki zaman periyoduna kadar yeniden başlatın.

Böyle bir tasarım gerçek mi?

 
clickaider :

Lütfen aşağıdaki yapının nasıl görüneceğini bana bildirin:

1) Yeni bir onay işareti oluşturuldu - bir koşul karşılandı, örneğin, bu onay işaretine desenin bir göstergesi çizilecek ve bir uyarı gönderilecek

2) Yukarıdaki koşul yerine getirildikten sonra, yukarıdaki eylemin aynı eyleminin birçok tekrarının yürütülmesini aşağıdaki süreye eşit bir süreye kadar durdurmak gerekir:

3) Çubuk bir sonrakine geçer geçmez, durumu yukarıda açıklanan bir sonraki zaman periyoduna kadar yeniden başlatın.

Böyle bir tasarım gerçek mi?

Mantığın çoğunu zaten kendin yazdın.

 
Artyom Trishkin :

Zaten hemen hemen tüm mantığı kendiniz yazmışsınız..

Mantık doğru olabilir, ancak doğru işlevselliği seçmek bir sorundur. Lütfen sorunu çözmek için hangi işlevlerin veya yapı örneklerinin uygulanacağını önerebilir misiniz, çünkü burada neredeyse çıkmazdayım.

 
clickaider :

Mantık doğru olabilir, ancak doğru işlevselliği seçmek bir sorundur. Lütfen sorunu çözmek için hangi işlevlerin veya yapı örneklerinin uygulanacağını önerebilir misiniz, çünkü burada neredeyse çıkmazdayım.

  1. Yeni bir onay işareti oluşturuldu - bir koşul karşılandı, örneğin, bu onay işaretine desenin bir göstergesi çizilecek ve bir uyarı verilecek.
    1. Sonraki iki paragrafta bu koşulu işlemek için bayrağı ayarlayarak bir koşul almak için bir fonksiyona ihtiyacımız var.
    2. Bir desen çizme işlevine ihtiyacınız var
    3. Uyarı göndermek için bir işleve ihtiyacınız var (bir işlev olması gerekmez - yalnızca uyarı, yalnızca e-posta ve yalnızca push için standart işlevler vardır)
  2. Yukarıdaki koşul yerine getirildikten sonra, yukarıdaki eylemin aynı eyleminin birçok tekrarının yürütülmesini, aşağıdakilere eşit bir süreye kadar durdurmak gerekir ...
    1. 1. noktadan itibaren yukarıdaki üç eylemin zaten tamamlanmış olduğuna dair bir işaret varsa, o zaman hiçbir şey yapmayın - 3. maddeye gidin, aksi takdirde - 1. maddeye gidin
  3. Çubuk bir sonrakine geçer geçmez, durumu yukarıda açıklanan bir sonraki zaman periyoduna kadar yeniden başlatın.
    1. Yeni bir çubuk algılama işlevine ihtiyacımız var. Yeni bir çubuk belirlenir belirlenmez, 1. noktaya gideriz. Aksi takdirde, 2. adıma gidin.
 

Lütfen yardım et.

bir numaralandırma listem var

 enum ENUM_Target_NAME 
  {
   arr_Buy,
   arr_Sell,
   arr_Svod,
   arr_Regr,
   arr_200,
   arr_100,
   Target_25_iD,
   Target_50_iD,
  };
input ENUM_Target_NAME Target=ENUM_Target_NAME( 5 );

Değerlerin string türünde olmasına ihtiyacım var, yani. metin ol, bu yaklaşım yardımcı olmuyor

( string )Target

Listeden sadece değişken değerinin numarasını alıyorum, ancak metin gerekli - listedeki gerçek isim, örneğin "arr_100".

Nasıl yapılır?

 
Aleksey Vyazmikin :

Lütfen yardım et.

bir numaralandırma listem var

Değerlerin string türünde olmasına ihtiyacım var, yani. metin ol, bu yaklaşım yardımcı olmuyor

Listeden sadece değişken değerinin numarasını alıyorum, ancak metne ihtiyacım var - listedeki gerçek isim, örneğin "arr_100".

Nasıl yapılır?

EnumToString()

 
Artyom Trishkin :

EnumToString()

Teşekkür ederim!

 
Nauris Zukas :

Bu <> sembolleri ne anlama geliyor?

Bu bir şablon yöntemidir. İçerisindeki parametrenin tipi, bu parantezlerde geçen tipe göre eşleştirilecektir. Tip, program derleme aşamasında statik olarak belirlenir. Bununla ilgili daha fazla bilgiyi "işlev ve sınıf şablonlarında" okuyabilirsiniz: https://www.mql5.com/ru/docs/basis/oop/templates

Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
Nauris Zukas :

Tünaydın! Kaynakta veri işleme ve depolama için .mqh yaptım. Her şey çalışıyor, ancak bir nüans var, göstergeyi derlerseniz, .mqh sıfırlanır ve tüm süreç depolama için yeniden düzenlenir. Amaç, kaynakta veri olduğu sürece sıfırlanmamasıdır. Hata nerede, nasıl düzeltilir?

Kaynaklar, statik (kalıcı) değişmez verileri barındırmak üzere tasarlanmıştır. Göreviniz için verileri içeren bir dosya yüklemeniz, göstergenin belleğindeki bu verileri değiştirmeniz ve verilerin yeni sürümünü bir dosyaya kaydetmeniz gerekir, böylece göstergeyi yeniden yükledikten ve yeniden derledikten sonra yeni veriler yükleyebilirsiniz. Bunun için kaynaklar yardımcı olmayacaktır.

 
Vasiliy Sokolov :

Kaynaklar, statik (kalıcı) değişmez verileri barındırmak üzere tasarlanmıştır. Göreviniz için verileri içeren bir dosya yüklemeniz, göstergenin belleğindeki bu verileri değiştirmeniz ve verilerin yeni sürümünü bir dosyaya kaydetmeniz gerekir, böylece göstergeyi yeniden yükledikten ve yeniden derledikten sonra yeni veriler yükleyebilirsiniz. Bunun için kaynaklar yardımcı olmayacaktır.

Tamam teşekkürler!