yürütme ilkesini döndürür. - sayfa 7

 
Şimdi kodu kontrol ettim. 1234==2 yanlıştır. Gerçekten de rakamlar karşılaştırılıyor. O zaman bu yazı nedir? Ve o zaman, hem fok hem de ioc mevcutsa, bu işlevin üçlü döndüremeyeceği ortaya çıkıyor?
 SymbolInfoInteger (symbol, SYMBOL_FILLING_MODE );
 
Ivan_Invanov :

1234==2 yanlış ise bu kod bozuktur.

bitsel bir işlemle kontrol etmek yalnızca şu soruyu yanıtlayabilir: Şu veya bu doldurma politikasını uygulamak mümkün mü?


Bunlar bitsel işlemlerdir ve hayal ettiğiniz gibi biraz kontrol edilmezler. Spesifik olarak, bu çizgi

 if ((filling& SYMBOL_FILLING_FOK )== SYMBOL_FILLING_FOK )

şöyle bir şey okur:

Değişken (dolgu SYMBOL_FILLING_FOK bitleri tarafından kaydırılır) SYMBOL_FILLING_FOK değerine eşitse

Kendi kendimi yetiştirmişsem, daha deneyimli olanlardan biri beni doğru bir şekilde oluşturmadı.
 
Dmitry Fedoseev :

Hayır, yanılmadılar. Çelişki de yoktur. Sadece anlamadığınız ve inatla anlamak istemediğiniz bir şey var.

Hayır, anlamak istiyorum. Lütfen tekrar açıklayın.
 
Alexey Viktorov :

Bunlar bitsel işlemlerdir ve hayal ettiğiniz gibi biraz kontrol edilmezler. Spesifik olarak, bu çizgi

şöyle bir şey okur:

Değişken (dolgu SYMBOL_FILLING_FOK bitleri tarafından kaydırılır) SYMBOL_FILLING_FOK değerine eşitse

Kendi kendimi yetiştirmişsem, daha deneyimli olanlardan biri beni doğru şekilde oluşturmadı.
Evet ya da hayır. Operatör tektir.
 
Ivan_Invanov :
Hayır, anlamak istiyorum. Lütfen tekrar açıklayın.

Evet, her zaman beşte mahvolan açıkladı. Kendinizle başlamalısınız - bir şeyi anlamadığınızı ve dünyada birinin yanılmadığını ve özellikle referansta olduğunu kabul etmek için.

 
Dmitry Fedoseev :

Evet, her zaman beşte mahvolan açıkladı. Kendinizle başlamalısınız - bir şeyi anlamadığınızı ve dünyada birinin yanılmadığını ve özellikle referansta olduğunu kabul etmek için.

Belki yardımda hata yoktur ama anlaşılmaz bir şekilde yazılmıştır (belki sadece benim için). Dediğim gibi, kodu kontrol ettim ve şimdi bu soru ortadan kalktı. Bu iş parçacığında bana işlevin söylendiği söylendi

 SymbolInfoInteger (symbol, SYMBOL_FILLING_MODE );

dönebilir 3.

3 döndürürse, bu kod çalışmaz, değil mi?

 bool CTrade::SetTypeFillingBySymbol( const string symbol)
  {
//--- get possible filling policy types by symbol
   uint filling=( uint ) SymbolInfoInteger (symbol, SYMBOL_FILLING_MODE );
   if ((filling& SYMBOL_FILLING_FOK )== SYMBOL_FILLING_FOK )
     {
      m_type_filling= ORDER_FILLING_FOK ;
       return ( true );
     }
   if ((filling& SYMBOL_FILLING_IOC )== SYMBOL_FILLING_IOC )
     {
      m_type_filling= ORDER_FILLING_IOC ;
       return ( true );
     }
//---
   return ( false );
  }
 
Ivan_Invanov :

Belki yardımda hata yoktur ama anlaşılmaz bir şekilde yazılmıştır (belki sadece benim için). Dediğim gibi, kodu kontrol ettim ve şimdi bu soru ortadan kalktı. Bu iş parçacığında bana işlevin söylendiği söylendi

dönebilir 3.

3 döndürürse, bu kod çalışmaz, değil mi?

SymbolInfoInteger (symbol,SYMBOL_FILLING_MODE) 3 değerini döndürürse kod true değerini döndürür

 
Ivan_Invanov :

Belki yardımda hata yoktur ama anlaşılmaz bir şekilde yazılmıştır (belki sadece benim için). Dediğim gibi, kodu kontrol ettim ve şimdi bu soru ortadan kalktı. Bu iş parçacığında bana işlevin söylendiği söylendi

dönebilir 3.

3 döndürürse, bu kod çalışmaz, değil mi?

Konunuzun ikinci sayfasında ne yazdığını tekrar göstermeye çalışıyorum

bitsel bir işlemle kontrol etmek yalnızca şu soruyu yanıtlayabilir: Şu veya bu doldurma politikasını uygulamak mümkün mü?


yazılanları dikkatlice okumaya çalışın. İşlev SymbolInfoInteger(sembol,SYMBOL_FILLING_MODE);

  • SYMBOL_FILLING_FOK'a karşılık gelen 1 döndürebilir
  • SYMBOL_FILLING_IOC'a karşılık gelen 2 döndürebilir
  • ve SYMBOL_FILLING_FOK + SYMBOL_FILLING_IOC'nin SUM'una karşılık gelen 3 döndürebilir

SYMBOL_FILLING_FOK ve SYMBOL_FILLING_IOC Bayraklarının Değerlerini Yazdırın

Sadece yaz

 Print ( SYMBOL_FILLING_FOK );
Print ( SYMBOL_FILLING_IOC );

Ne göreceksin?

 
Dmitry Fedoseev :

SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE) 3 değerini döndürürse kod true değerini döndürür

teşekkürler şimdi bağlacı yanlış yaptığımı fark ettim.
 
Cevaplar için herkese teşekkürler. Herşeyi anladım. Mantıksal işlemlerde bir hata yaptım, bu yüzden bu karışıklık ortaya çıktı. Benimle olduğun için teşekkürler)