Hatalar, hatalar, sorular - sayfa 1178

 
svds75 :
Hayır, manuel olarak ayarlamam gerekiyor, ancak programlı olarak kontrol etmem gerekiyor.
O zaman görünürlük bayrağını okumanız ve mantıklı bir & sabiti yapmanız gerekir.
 

Bunun gibi:

   long cf= ObjectGetInteger ( 0 , "name" , OBJPROP_TIMEFRAMES );
   Alert (((cf& OBJ_PERIOD_H1 )== OBJ_PERIOD_H1) || cf==0);
H1'deki görünürlük bayrağı ayarlanmışsa, bu doğru olacaktır.
 
Integer :
O zaman görünürlük bayrağını okumanız ve mantıklı bir & sabiti yapmanız gerekir.

Eğer demek istiyorsan:

 ObjectGetInteger ( 0 , "line" , OBJPROP_TIMEFRAMES , OBJ_PERIOD_W1 & OBJ_PERIOD_MN1 ,res);

Veya

 ObjectGetInteger ( 0 , "line" , OBJPROP_TIMEFRAMES , OBJ_PERIOD_W1 && OBJ_PERIOD_MN1 ,res);
Aynısı.
 
svds75 :

Eğer demek istiyorsan:

Veya

Aynısı.
Değil. Numaralandırma ile get yapmak gerekli değildir. Sadece alın ve ardından gerekli zaman çerçevesinin bayrağının ayarlanıp ayarlanmadığını görün. Yukarıda bir örnek var.
 
svds75 :

Eğer demek istiyorsan:

Veya

Aynısı.

Hatanız burada bool(res). res herhangi bir ekranda her zaman 1'den büyüktür, res'de ne döndürüldüğüne bakın, bu nedenle bool(res) yalnızca res=0 olduğunda 0 veya false döndürür

Tür dönüştürme ve karşılaştırmayı dikkatsizce kullanıyorsunuz

OBJ_NO_PERIODS

0

Nesne herhangi bir zaman diliminde gösterilmiyor

OBJ_PERIOD_M1

0x00000001

Nesne 1 dakikalık grafiklerde çizilir

OBJ_PERIOD_M2

0x00000002

Nesne 2 dakikalık grafiklerde çizilir

OBJ_PERIOD_M3

0x00000004

Nesne 3 dakikalık grafiklerde çizilir

OBJ_PERIOD_M4

0x00000008

Nesne 4 dakikalık grafiklerde çizilir

OBJ_PERIOD_M5

0x00000010

Nesne 5 dakikalık grafiklerde çizilir

OBJ_PERIOD_M6

0x00000020

Nesne 6 dakikalık grafiklerde çizilir

OBJ_PERIOD_M10

0x00000040

Nesne 10 dakikalık grafiklerde çizilir

OBJ_PERIOD_M12

0x00000080

Nesne 12 dakikalık grafiklerde çizilir

OBJ_PERIOD_M15

0x000000100

Nesne 15 dakikalık grafiklerde çizilir

OBJ_PERIOD_M20

0x000000200

Nesne 20 dakikalık grafiklerde çizilir

OBJ_PERIOD_M30

0x00000400

Nesne 30 dakikalık grafiklerde çizilir

OBJ_PERIOD_H1

0x00000800

Nesne 1 saatlik grafiklerde çizilir

OBJ_PERIOD_H2

0x00001000

Nesne 2 saatlik grafiklerde çizilir

OBJ_PERIOD_H3

0x00002000

Nesne 3 saatlik grafiklerde çizilir

OBJ_PERIOD_H4

0x00004000

Nesne 4 saatlik grafiklerde çizilir

OBJ_PERIOD_H6

0x00008000

Nesne 6 saatlik grafiklerde çizilir

OBJ_PERIOD_H8

0x00010000

Nesne 8 saatlik grafiklerde çizilir

OBJ_PERIOD_H12

0x00020000

Nesne 12 saatlik grafiklerde çizilir

OBJ_PERIOD_D1

0x00040000

Nesne günlük grafiklerde çizilir

OBJ_PERIOD_W1

0x00080000

Nesne haftalık grafiklerde çizilir

OBJ_PERIOD_MN1

0x00100000

Nesne aylık grafiklerde çizilir

OBJ_ALL_PERIODS

0x001fffff

Nesne tüm zaman dilimlerinde çizilir

 
Integer :

Bunun gibi:

H1'deki görünürlük bayrağı ayarlanmışsa, bu doğru olacaktır.
Teşekkür ederim.
 
meat :

Bir önceki yazımın devamında. Bilimsel dürtme yöntemini kullanarak, bir hataya yol açan sorunlu bir yer bulmayı başardım.

İşlevi olan böyle bir kütüphanemiz var:

Ve işte ana dosya:

Ortaya çıkan danışman çalışmıyor, günlük şunu gösteriyor: "EX5 yüklemesi başarısız oldu"

Gönderdiğiniz için teşekkürler, düzeltildi.
 

Tünaydın. Danışmanı OnInit işlevinde döngüye aldım ve görünüşe göre bu nedenle, danışman kapatıldığında ve zaman çerçevesi değiştiğinde terminal kilitleniyor (frenlerden sonra zaman çerçevesi değişmiyor). İşte soru şu: Sebep fiksasyon mu? Eğer öyleyse, algoritmayı OnTiick'e taşırsam sorun çözülür mü? Değilse, ne yardımcı olacak?

Not: Döngüde bir Uyku işlevi vardır, bu nedenle terminal aşırı yüklenmez. Giriş alanları bir döngü içinde okunur.  

 
king20 :

Tünaydın. Danışmanı OnInit işlevinde döngüye aldım ve görünüşe göre bu nedenle, danışman kapatıldığında ve zaman çerçevesi değiştiğinde terminal kilitleniyor (frenlerden sonra zaman çerçevesi değişmiyor). İşte soru şu: Sebep fiksasyon mu? Eğer öyleyse, algoritmayı OnTiick'e taşırsam sorun çözülür mü? Değilse, ne yardımcı olacak?

Not: Döngüde bir Uyku işlevi vardır, bu nedenle terminal aşırı yüklenmez. Giriş alanları bir döngü içinde okunur.  

Sabit sürücüyü biçimlendirin.
 
king20 :

Tünaydın. Danışmanı OnInit işlevinde döngüye aldım ve görünüşe göre bu nedenle, danışman kapatıldığında ve zaman çerçevesi değiştiğinde terminal kilitleniyor (frenlerden sonra zaman çerçevesi değişmiyor). İşte soru şu: Buna takıntı mı sebep oluyor? Eğer öyleyse, algoritmayı OnTiick'e taşırsam sorun çözülür mü? Değilse, ne yardımcı olacak?

Not: Döngüde bir Uyku işlevi vardır, bu nedenle terminal aşırı yüklenmez. Giriş alanları bir döngü içinde okunur.  

OnInit - yalnızca başlatma için kullanılır. Tüm hesaplamaların daha fazla yapılması gerekir - OnTick, OnTimer, vb.

Giriş alanındaki değişikliği bilmeniz gerekiyorsa bunun için standart bir kütüphane var: https://www.mql5.com/ru/docs/standardlibrary/controls/cedit

Документация по MQL5: Стандартная библиотека / Классы для создания панелей и диалогов / CEdit
Документация по MQL5: Стандартная библиотека / Классы для создания панелей и диалогов / CEdit
  • www.mql5.com
Стандартная библиотека / Классы для создания панелей и диалогов / CEdit - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5