MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 525

 
Vladislav Andruschenko:
値なしで rost を指定した場合、デフォルトは false です。

私の投稿 どのような関係があるのか説明してもらえますか?まったく理解できない。

 
novichok2018:

私の投稿 どのような関係があるのか説明してもらえますか?だって、まったく理解できないんだもん。

と聞かれましたね。真に等しくない条件はすべて入るのでしょうか。 チェックが2つしかないのですね。しかし、チェックが真でなければ、チェックは偽となる。2行目は重要ではありません。なぜなら、rost = bool は2つの値しか取れず、デフォルトでは false になっているからです。
 
novichok2018:

こんにちは。

mcl4構文に関する質問:このようなフラグを設定した場合。

とすると、if(!rost)条件は、rost=falseの条件だけをキャッチするのか、それともrost=trueに該当しない条件すべてをキャッチするのか?

ありがとうございます。

ただ、"rost "を初期化するのを忘れないでください。このフラグメントでは、cl2=cl1 または cl2=op1 の場合、"rost" は何でもよい。
 
Vladislav Andruschenko:
と聞かれましたね。真でない条件はすべて引っかかるのでしょうか。 チェックが2つしかないのですね。しかし、チェックが真でなければ、チェックは偽となる。2行目は、rost = boolで2つの値しか取れず、デフォルトはfalseなので問題ないです。

つまり、真条件に該当しない条件はすべて自動的に偽になるので、if(!rost)のエントリは、条件(op1>cl2 && cl1<cl2)と条件(op1<cl2 && cl1>cl2)の両方を捉えることになりますよね?

 
Maxim Kuznetsov:
rost "を初期化することだけは忘れないでください。

どうやって?

 
novichok2018:

つまり、真条件に該当しない条件はすべて自動的に偽になるので、if(!rost)のエントリは、条件(op1>cl2 && cl1<cl2)と条件(op1<cl2 && cl1>cl2)の両方を捉えることになりますよね?

はい。
rostが値なしで宣言された場合、常にグローバルレベルでの最後の値と等しくなります。

具体的な答えを出すには、あまりにも少ないデータと不完全なコードが指定されました。
 
novichok2018:

どうやって?

Bool rost=false。
 
Vladislav Andruschenko:
Bool rost=false。

ただ、rost !=trueの条件をすべてrostに取り込んでしまうという事態は避けたい。そこで、Bool rost=falseをグローバルレベルで起動せず、onTick()をfalse用とtrue用に分けて起動しました。おそらく、混乱を避けるために、if(rost) と if(!rost) ではなく if(rost==true) と if(rost==false) と条件を設定した方が良いのでしょうか。

あるいは、「!」の条件を制限する別のフラを導入する。

 
novichok2018:

ただ、rost !=trueの条件をすべてrostに取り込んでしまうという事態は避けたい。そこで、Bool rost=falseをグローバルレベルで起動せず、onTick()をfalse用とtrue用に分けて起動しました。おそらく、混乱を避けるために、if(rost) や if(!rost) ではなく、 if(rost==true) や if(rost==false) という条件を設定した方が良いのでしょう?

全く同じ内容のエントリーです。

 
Artyom Trishkin:

全く同じ内容のエントリーです。

この対応は、私の場合if(!rost)if(rost==false) が同じでないことを示しているだけです。なぜならfalseの条件が別に あるからです。