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

 

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

MakarFX , 2021.12.06 12:14

 bool FindObject( string name)
  {
   if ( ObjectFind ( 0 ,name)) return ( false );
   return ( true );
  }

Ve bir hata durumunda, işleviniz ne döndürecek, doğru mu?!

 
Mihail Matkovskij # :

Ve bir hata durumunda, işleviniz ne döndürecek, doğru mu?!

Ne hatası? Örnek vermek.
 
MakarFX # :

Evet, bu işe yaramalı.

 
Nerd Trader # :

mülkiyet yoluyla renk değişimi hakkında? Böyle bir seçeneğim var, bunun neden işe yaramadığını anlamam gerekiyor.

Çalışır ancak herhangi bir OnChartEven'e tepki verir, yani. sil->fiyatla "0" oluştur-> imlece hareket et. Bu nedenle titreme

 
Nerd Trader # :

mülkiyet yoluyla renk değişimi hakkında? Böyle bir seçeneğim var, bunun neden işe yaramadığını anlamam gerekiyor.

Numara. Bu, nesnelerin titrememesi ve görünmemesi / kaybolmaması, yanık ve yüzde gibi zıplamamasıdır. hiç ses çıkarmadı...

Peki, sorun ne, ana penceredeki nesne "0" olduğunda, işleviniz false döndürür? anı açıkla   >=   0... veya sıfıra eşit

dikkatle izleyin

 if (ObjectFind (chart, name) >= 0)

Koşul hangi değerler aralığında gerçek olacak?

 
MakarFX # :
Ne hatası? Örnek vermek.

Genellikle doğru olan nedir? 0 olmayan her şey (yukarıda bahsetmiştim). Ve yalnızca koşul 0 değeriyle false döndürdüğünde true olur. Nesne bodrumdadır (ObjectFind(ch, name) > 0) - false. Ancak hata (-1) doğrudur.

İşte doğru olanı:

 bool objectExist( const long _chartID, const string _name) { return ( ObjectFind (_chartID, _name) >= 0 ); } // чётко определим условие существования объекта!
 
Mihail Matkovskij # :

Numara. Bu, nesnelerin titrememesi ve görünmemesi / kaybolmaması, yanık ve yüzde gibi zıplamamasıdır. hiç ses çıkarmadı...

dikkatle izleyin

Koşul hangi değerler aralığında gerçek olacak?

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

sonra ne?

 
MakarFX # :

Çalışır ancak herhangi bir OnChartEven'e tepki verir, yani. sil->fiyatla "0" oluştur-> imlece hareket et. Bu nedenle titreme

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.


Michael Matkovskij :

Numara. Bu, nesnelerin titrememesi ve görünmemesi / kaybolmaması, yanık ve yüzde gibi zıplamamasıdır. hiç ses çıkarmadı...

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


Michael Matkovskij :

dikkatle izleyin

İşlev hangi değerler aralığında true değerini döndürür?

sıfır ve yukarı?
 
Mihail Matkovskij # :

Genellikle doğru olan nedir? 0 olmayan her şey (yukarıda bahsetmiştim). Ve yalnızca koşul 0 değeriyle false döndürdüğünde true değerine sahip olursunuz .

tekrar dikkatlice bak

 
MakarFX # :

tekrar dikkatlice bak

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.