MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1795

 
Nerd Trader # :

niye ya? Bu neden yeşil hat için olmuyor? koşullar aynıdır, yalnızca sarı için (fiyat > Satış) ve yeşil için (fiyat < Teklif) tersidir.

Nedense, yeşil ve kırmızı çizgiler yalnızca bir durumda oluşturulur ve imleç hareket ettirildiğinde titremez.

sıfır ve yukarı?

İlginç bir an...

iki satır mı arıyorsunuz

         if ( ObjectFind ( "Buy Stop" ) == window || ObjectFind ( "not allowed" ) == window){

ve birini kaldır

           ObjectDelete (line_name);

Neyi soruyorsun? "satır_adı"nın soyadı nedir?

 
Mihail Matkovskij # :

Mesaj eklendi. İşlevinizi ve benimkini yanlış Grafik Kimliği ile ve nesne alt pencerede oluşturulduğunda test edin. Ve işlevinizin ne döndürdüğünü ve benimkinin neye inandığını görün.

sadece konu dışısın


 
MakarFX # :
Ve eğer

sonra ne?

Hata. Ve sen, doğru, bir nedenden dolayı!

 
Mihail Matkovskij # :

Hata. Ve sen, doğru, bir nedenden dolayı!

"-1" - nesne yok. Nesne olmadığı için - doğru
 
MakarFX # :

sadece konu dışısın


Bir nesnenin varlığının kontrolünün nasıl görünmesi gerektiğini verdim. Ve işlevim çalışmayacak mı? Aksine, daha çok yönlüdür. Bir alt pencere ile çalışmanız gerekiyorsa, fazla bir fark görmeyecektir.

 
Mihail Matkovskij # :

Bir nesnenin varlığının kontrolünün nasıl görünmesi gerektiğini verdim. Ve işlevim çalışmayacak mı? Aksine, daha çok yönlüdür. Bir alt pencere ile çalışmanız gerekiyorsa, fazla bir fark görmeyecektir.

soruyu tekrarlıyorum

Ve eğer
 ObjectFind (chart, name)= -1

sonra ne?

 
MakarFX # :
"-1" - nesne yok. Nesne olmadığı için - doğru

İşleviniz true değerini döndürür ve bir hata oluşursa:

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma

Mihail Matkovskij , 2021.12.06 12:38

Mesaj eklendi. Grafik Kimliği yanlış olduğunda ve nesne alt pencerede oluşturulduğunda işlevinizi ve benimkini test edin. Ve işlevinizin ne döndürdüğünü ve benimkinin ne döndürdüğünü görün. Ve belgeleri dikkatlice okuyun. Tüm linkler ve alıntılar yukarıdadır.


 
   string name = "name" ;

   ObjectCreate ( 1 , name, OBJ_HLINE , 1 , 0 , 0 );

   Print (FindObject( "name" ));

   if (objectExist( 0 , "name" )) Print ( "objectExist Find" );
   else Print ( "objectExist Object not found." );

...

bool objectExist( const long _chartID, const string _name) { return ( ObjectFind (_chartID, _name) >= 0 ); }

bool FindObject( string name)
  {
   if ( ObjectFind ( 0 ,name)) return ( false );
   return ( true );
  }
Ana pencerede yaratmadım, hala doğru (ama Makar benim durumum için sadece ana pencere için yazdı). ObjectExist için >= 0 olduğu açıktır.


"Ad" olmayan başka bir nesne ararsanız, Makar'ın varyantı false döndürür.
 
Mihail Matkovskij # :

Mesaj eklendi. İşlevinizi ve benimkini yanlış Grafik Kimliği ile ve nesne alt pencerede oluşturulduğunda test edin. Ve işlevinizin ne döndürdüğünü ve benimkinin ne döndürdüğünü görün. Ve belgeleri dikkatlice okuyun. Tüm linkler ve alıntılar yukarıdadır.

Michael Matkovskij :

Bir nesnenin varlığının kontrolünün nasıl görünmesi gerektiğini verdim. Ve işlevim çalışmayacak mı? Aksine, daha evrenseldir . Bir alt pencere ile çalışmanız gerekiyorsa, fazla bir fark görmeyecektir.


Ve fonksiyonun evrenselliği hakkında konuşursak, o zaman ...

 bool FindObject( string name, int win)
  {
   if ( ObjectFind (0,name)!=win) return ( false );
   return ( true );
  }
 
MakarFX # :

İlginç bir an...

iki satır mı arıyorsunuz

ve birini kaldır

Neyi soruyorsun? "satır_adı"nın soyadı nedir?

Koşullu olarak doğru olan