は、実行ポリシーを返します。 - ページ 3 12345678 新しいコメント Alexey Viktorov 2020.07.19 13:52 #21 Ivan_Invanov:はい、2進数の扱い方は理解しています。このコードから、例えば、関数が3を返すと出てきます。(11&1)==1 ; 11==01 いや、それは嘘だ、うまくいかなかったんだ。 書いていて思ったのですが、もしかしたら操作を勘違いしていたのかもしれませんね。 10進数の値を2進数に変換して、ビット単位の演算を行うということです。== は、第1項と第2項が等しいとき、真となる。これでよいのでしょうか? これは、独学で勉強した私にはわからないことです。ただ、調べ方と得られるものがわかっているだけです。(11&1)==1は、11がフラグ1+2+8からしか構成されないので、1が集合に含まれるため、真となる。 返却されるものを確認するreturn(1|2|8); Ivan_Invanov 2020.07.19 19:57 #22 Alexey Viktorov: これは、独学で勉強した私にはわからないことです。ただ、調べ方と得られるものがわかっているだけです。(11&1)==1は、11がフラグ1+2+8からしか構成できないので、1が集合に含まれるため、真となる。 返却されるものを確認する これはバイナリで書いたものです、指定するのを忘れていました。関数が3を返した場合に書いたコードに値を代入して、FOKと比較しました。バイナリーはこのように書かれています。(0b11 & 0b1)==0b1 ;括弧内の結果 0b11 は 0b11==0b1 ;という表現になるが、私見では偽になる。すべてがうまくいくためには、それが真実でなければならない。まあ、このサンプルがヘルプに載っているのだから、そうなのだろう。何か勘違いしていたようです。今、Cのヘルプと、その前のmqlのヘルプを見ました。同じようです。非常に間抜けな質問をしていたら申し訳ないのですが、回答してくださった皆様、ありがとうございました。 Ivan_Invanov 2020.07.19 20:25 #23 mqlのヘルプには、trueという値は 0以外の任意の値であると書かれているので、それが答えになるのでしょう。そして、平等、Cの平等で。等式ではなく、比較した項が0より大きければ、その値は真であることが判明したのです。そうですね。かなり不明瞭に書かれていますね。演算子「==」についてです。 Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool www.mql5.com Внутреннее представление – целое число размером 1 байт. Необходимо отметить, что в логических выражениях допустимо использовать вместо типа bool другие целые или... Dmitry Fedoseev 2020.07.19 20:51 #24 ビット単位の演算で、P O B I T O R T 演算です。ビットで動作します。例えば、1 は 00000001 です。2は00000010です。フラグは、1、2、4、8などしかありません。要するに、1ビットがビジー状態なのです。 また、フラグのセットは、例えば00000101のように、任意のビットを占有することができます。このセットには、フラグ00000001と00000100が含まれています。 そして、あるフラグがフラグのセットに含まれているかどうかを調べるには、フラグとセットのビット単位の「アンド」を行い、フラグを残せば、それはセットに入っていることを意味するのです。 (00000101&00000100) ==00000100- true.これは、セット00000101の中にフラグ00000101があることを意味します。 Ivan_Invanov 2020.07.19 20:58 #25 Dmitry Fedoseev:ビット単位の演算で、P O B I T O R T 演算です。ビットで動作します。例えば、1 は 00000001 です。2は00000010です。フラグは、1、2、4、8などしかありません。要するに、1ビットがビジー状態なのです。また、フラグのセットは、例えば00000101のように、任意のビットを占有することができます。このセットには、フラグ00000001と00000100が含まれています。 そして、あるフラグがフラグのセットに含まれているかどうかを調べるには、フラグとセットのビット単位の「アンド」を行い、フラグを残せば、それはセットに入っていることを意味するのです。(00000101&00000100) ==00000100- true.これは、セット00000101の中にフラグ00000101があることを意味します。(正項1==正項2)であるが、正項1は正項2と等しくないというのは本当だろうか?ヘルプによると、truthは0以外の任意の値であり、その後、コードが動作するので、そう判明したのです。 Ivan_Invanov 2020.07.19 21:04 #26 Ivan_Invanov: (正項1==正項2)であるが、正項1は正項2と等しくないというのは本当だろうか?ヘルプによると、truthは0以外の任意の値であり、その後、コードが動作するので、そう判明したのです。 私が戸惑うのは、次に平等という言葉が書かれていることです。 Dmitry Fedoseev 2020.07.19 21:09 #27 参考文献はどこですか?具体的にはどこで、何を? Ivan_Invanov 2020.07.19 21:13 #28 Dmitry Fedoseev: リファレンスのどの場所にあるのでしょうか?まさに、どこで、何を? これは矛盾しているように思います。aとbが等しい場合ではなく、aとbがゼロから異なる場合に真となる。まあ、矛盾というか、はっきり書いてないんですけどね。わかったような気がします、ありがとうございます。 ファイル: 1111.jpg 29 kb Ivan_Invanov 2020.07.21 11:17 #29 ENUM_SYMBOL_TRADE_EXECUTION 型が書いてないし、ヘルプのヘッダーもごっちゃになっている(文字列用に書かれたようで、その後言及されずに整数の話をし始めた)。3つのオプションをすべて試しましたが、毎回コンパイラーエラーが発生します。どうしたんですか? long execution = (long) SymbolInfoInteger(_Symbol, ENUM_SYMBOL_TRADE_EXECUTION); string execution = (string) SymbolInfoString(_Symbol, ENUM_SYMBOL_TRADE_EXECUTION); double execution = (double) SymbolInfoDouble(_Symbol, ENUM_SYMBOL_TRADE_EXECUTION); prostotrader 2020.07.21 12:44 #30 Ivan_Invanov: ENUM_SYMBOL_TRADE_EXECUTION 型が書いてないし、ヘルプのヘッダもごっちゃになっている(文字列用に書かれたようで、その後、言及せずに整数について話し始めた) .3つのオプションをすべて試しましたが、毎回コンパイラーエラーが発生します。どうしたんですか? この方法でやるしかない。 //--- Check trade execution mode ENUM_SYMBOL_TRADE_EXECUTION market_info = ENUM_SYMBOL_TRADE_EXECUTION(SymbolInfoInteger(Symbol(), SYMBOL_TRADE_EXEMODE)); if((market_info & SYMBOL_TRADE_EXECUTION_EXCHANGE) != SYMBOL_TRADE_EXECUTION_EXCHANGE) { MessageBox("Символ " + Symbol() + " не поддерживает TRADE EXECUTION EXCHANGE режим!", "Ошибка", MB_OK | MB_ICONHAND); return(false); } 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
はい、2進数の扱い方は理解しています。
このコードから、例えば、関数が3を返すと出てきます。
(11&1)==1 ; 11==01 いや、それは嘘だ、うまくいかなかったんだ。
書いていて思ったのですが、もしかしたら操作を勘違いしていたのかもしれませんね。
10進数の値を2進数に変換して、ビット単位の演算を行うということです。
== は、第1項と第2項が等しいとき、真となる。これでよいのでしょうか?
返却されるものを確認する
これは、独学で勉強した私にはわからないことです。ただ、調べ方と得られるものがわかっているだけです。(11&1)==1は、11がフラグ1+2+8からしか構成できないので、1が集合に含まれるため、真となる。
返却されるものを確認する
ビット単位の演算で、P O B I T O R T 演算です。ビットで動作します。例えば、1 は 00000001 です。2は00000010です。フラグは、1、2、4、8などしかありません。要するに、1ビットがビジー状態なのです。
また、フラグのセットは、例えば00000101のように、任意のビットを占有することができます。このセットには、フラグ00000001と00000100が含まれています。 そして、あるフラグがフラグのセットに含まれているかどうかを調べるには、フラグとセットのビット単位の「アンド」を行い、フラグを残せば、それはセットに入っていることを意味するのです。
(00000101&00000100) ==00000100- true.これは、セット00000101の中にフラグ00000101があることを意味します。
ビット単位の演算で、P O B I T O R T 演算です。ビットで動作します。例えば、1 は 00000001 です。2は00000010です。フラグは、1、2、4、8などしかありません。要するに、1ビットがビジー状態なのです。
また、フラグのセットは、例えば00000101のように、任意のビットを占有することができます。このセットには、フラグ00000001と00000100が含まれています。 そして、あるフラグがフラグのセットに含まれているかどうかを調べるには、フラグとセットのビット単位の「アンド」を行い、フラグを残せば、それはセットに入っていることを意味するのです。
(00000101&00000100) ==00000100- true.これは、セット00000101の中にフラグ00000101があることを意味します。
(正項1==正項2)であるが、正項1は正項2と等しくないというのは本当だろうか?ヘルプによると、truthは0以外の任意の値であり、その後、コードが動作するので、そう判明したのです。
リファレンスのどの場所にあるのでしょうか?まさに、どこで、何を?
これは矛盾しているように思います。aとbが等しい場合ではなく、aとbがゼロから異なる場合に真となる。まあ、矛盾というか、はっきり書いてないんですけどね。わかったような気がします、ありがとうございます。
ENUM_SYMBOL_TRADE_EXECUTION 型が書いてないし、ヘルプのヘッダもごっちゃになっている(文字列用に書かれたようで、その後、言及せずに整数について話し始めた) .3つのオプションをすべて試しましたが、毎回コンパイラーエラーが発生します。どうしたんですか?
この方法でやるしかない。