は、実行ポリシーを返します。 - ページ 7

 
今、コードを確認しました。1234==2が偽。確かに、数値は比較されている。では、銘板は?そして、この関数は、fokとiocの両方がある場合、トリプレットを返すことができないことがわかりましたか?
SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
 
Ivan_Invanov:

1234==2 が false の場合、このコードは動作しません。

ビット単位の チェックでは、「このフィル・ポリシーを適用できるか」という質問にのみ答えることができます。


これらはビット単位の演算で、思い通りにチェックされないのです。まさにこのライン

if((filling&SYMBOL_FILLING_FOK)==SYMBOL_FILLING_FOK)

はこのように読みます。

変数が(SYMBOL_FILLING_FOKビットでシフトされた場合)SYMBOL_FILLING_FOKに等しい場合。

独学でやっていると、経験豊富な人に添削してもらうことになります。
 
Dmitry Fedoseev:

いや、間違ってはいない。矛盾もありません。ただ、理解できないことがあり、頑なに理解しようとしない。

いいえ、理解したいのです。もう一度説明してください。
 
Alexey Viktorov:

これらはビット演算であり、あなたが考えるほど有効ではありません。具体的には、次のような行です。

はこのように読みます。

変数(SYMBOL_FILLING_FOKビットで埋められる)がSYMBOL_FILLING_FOKと等しい場合。

独学でやっていると、経験豊富な人に添削してもらうことになる。
正しいか、間違っているか。カメラマンがそうなんです。
 
Ivan_Invanov:
いいえ、理解したいのです。もう一度説明してください。

全ては5回説明されました。あなたは自分自身から始める必要があります - あなたは何かを理解していないことを認める、世界ではありません誰かが間違っていると、特に参考にされています。

 
Dmitry Fedoseev:

5回以上説明されていますね。あなたは自分自身から始める必要があります - あなたは何かを理解していないことを認める、世界ではありません誰かが間違っていると、特に証明書で。

参考文献に間違いはないのでしょうが、(私に限ってかもしれませんが)わかりにくい書き方をしています。やはり、コードを確認したところ、今は問題が落ちています。このスレッドで教えていただいた、機能

SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);

は3を返すことができます。

もし、3が返ってきたら、このようなコードは動作しませんよね?

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:

ヘルプに間違いはないのでしょうが、はっきり書いてありません(私に限ってかもしれませんが)。やはり、コードで確認したところ、現在は問題が解消されています。このスレッドで教えていただいた、機能

は3を返すことができます。

もし、3が返ってきたら、このコードは使えませんよね?

SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE)が3を返す場合、コードは真を返す。

 
Ivan_Invanov:

ヘルプに間違いはないのでしょうが、はっきり書いてありません(私に限ってかもしれませんが)。やはり、コードで確認したところ、現在は問題が解消されています。このスレッドで教えていただいた、機能

は3を返すことができます。

もし、3が返ってきたら、この手のコードは使えないですよね?

あなたのトピックの2ページ目に書いたことをもう一度紹介しようと思っているんです。

ビット単位の チェックでは、「このフィル・ポリシーを適用できるか」という質問にのみ答えることができます。


書いてあることをよく読むようにした方がいい。SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE)関数です。

  • は、SYMBOL_FILLING_FOK に対応する 1 を返すことができる。
  • は、SYMBOL_FILLING_IOC に相当する 2 を返すことができる。
  • は、SYMBOL_FILLING_FOK +SYMBOL_FILLING_IOC 合計 である 3 を返すことができる。

SYMBOL_FILLING_FOK及びSYMBOL_FILLING_IOC フラグを表示する。

単に書く

Print(SYMBOL_FILLING_FOK);
Print(SYMBOL_FILLING_IOC);

何を見るか¿¿¿¿。

 
Dmitry Fedoseev:

SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE)が3を返す場合、コードは真を返す。

ありがとうございます。今になって、接続詞を間違えていたことに気がつきました。
 
皆様、ご返信ありがとうございました。すべて解決しました。論理演算を間違えて しまったので、混乱が生じたのです。いじってくれてありがとう)