Hatalar, hatalar, sorular - sayfa 2120

 
fxsaber :

Dar görünmüyor. Henüz halka açık değil gibi görünüyor.

Kendi reklamınızı, forumunuzu ve başka bir şeyi analiz etmenin dahili bir ürünü olabilir.
 
Комбинатор :
Kendi reklamınızı, forumunuzu ve başka bir şeyi analiz etmenin dahili bir ürünü olabilir.

Açıklama bir şekilde zayıf bir şekilde yalnızca dahili kullanıma karşılık gelir.

 

?

 void OnStart ()
{
         int a = 0 , b = 0 ; //Результат:
         Print (( ++a) + ( ++a)); //3
         Print ((b+= 1 ) + (b+= 1 )); //4
}

Sonuç: 3 4

Fark ne?

 
A100 :

?

Sonuç: 3 4

Fark ne?

Elbette bir fark var. İlk durumda, önce ++a, sonra +, sonra ++a gelir.

İkincisi b+=1, sonra b+=1, sonra b+b'dir.

 
Yeni başlayan birine, MQL4'ün başlarında, bir EA'da bir koşul yazarken, bunun basitçe kapanış fiyatının belirlenmesiyle olduğunu söyleyin Kapat[0] , örneğin, bir mum çubuğu hareketli ortalamanın üzerinde kapanır, sonra bir emir açılır, yazarız MA<Close[0] koşulu ve tüm sipariş açılır. Ancak MQL5'te (Fort için) çalışmıyor, tutamaçlar aracılığıyla farklı göstergeler karşılaştırılabilir ve basit bir mum çubuğu analizine tepki vermez. Belki de bu mumların (yüksek, alçak, açık, kapalı) bir yerde ilan edilmesi gerekiyor? Sadece MT4 için koşula hemen Kapat[0] yazdım ve sistem bunun mevcut çubuğun kapanış fiyatı olduğunu anladı.
 
VadimR :
Yeni başlayan birine, MQL4'ün başlarında, bir EA'da bir koşul yazarken, bunun basitçe kapanış fiyatının belirlenmesiyle olduğunu söyleyin Kapat[0] , örneğin, bir mum çubuğu hareketli ortalamanın üzerinde kapanır, sonra bir emir açılır, yazarız MA<Close[0] koşulu ve tüm sipariş açılır. Ancak MQL5'te (FOTS için) çalışmıyor, tutamaçlar aracılığıyla farklı göstergeler karşılaştırılabilir ve basit bir mum çubuğu analizine tepki vermez. Belki de bu mumların (yüksek, alçak, açık, kapalı) bir yerde ilan edilmesi gerekiyor? Sadece MT4 için koşula hemen Kapat[0] yazdım ve sistem bunun mevcut çubuğun kapanış fiyatı olduğunu anladı.

CopyXXXX işlevlerini kullanın

 
fxsaber :

Elbette bir fark var.

İkincisi b+=1, sonra b+=1, sonra b+b'dir.

Bu mantıktan hareketle,

 void OnStart ()
{
         int c = 0 ;     //Результат:
         Print ( c     + (c+= 1 )); //1
}

Önce c+=1, sonra c+c ve sonuç 1+1= 2. Ve sonuç = 1

 
A100 :

Bu mantıktan hareketle,

Önce c+=1, sonra c+c ve sonuç 1+1= 2. Ve sonuç = 1

Bu sadece scriptte düzgün çalışmaz, Expert Advisor'da normaldir.

Önceki örneği kastediyorum.

 
A100 :

Bu mantığı takip edersek,

Önce c+=1, sonra c+c ve sonuç 1+1= 2. Ve sonuç = 1

mantığını anlayamadın

 Print ((c+= 0 ) + (c+= 1 )); //2
 Print ((c+= 1 ) + c); //2
 
fxsaber :

mantığını anlayamadın

Mantığı yakalamadıysam, sonuç neden https://www.mql5.com/ru/forum/1111/page2140#comment_6484866 C99\C++'da her iki durumda da aynı?

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.02.05
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы