- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MQL4での条件文の書き方)
MQL4での条件文の書き方
このQ&Aのポイント
- MQL4で条件文を書く際、正しく機能しない場合があります。特に変数を使用した条件文では注意が必要です。
- 変数の値と数値を比較する場合、変数の前に直接数値を置くと正常に機能します。
- しかし、変数の値と変数を足し算して比較する場合、正常に機能しないことがあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
うーん、MT4がわからないが、他言語でありがちな 「初期化してないから初期値0を期待してたら、実は値がNullだったので演算結果もNull」じゃないですか? hensu_Cは、本当に0.00ですか?
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.1
MT4を使ったことないけど > if ( hensu_A1 + hensu_C < hensu_B1 && hensu_A2 + hensu_C < hensu_B2) if ( ((hensu_A1 + hensu_C) < hensu_B1) && ((hensu_A2 + hensu_C) < hensu_B2)) だとどうなりますか?
質問者
お礼
解決しました、ありがとうございました。
質問者
補足
回答ありがとうございます。 ご提案頂いたように()でくくってみましたがだめでした。 というか、最初はもっと条件が複雑だったので、細かくカッコでも囲っていたのです。 しかし正常に動いていないようなので、条件をどんどんと簡略化してチェックしていき、 最終的に質問で書いた部分がダメだということが判ったのです…
お礼
回答ありがとうございます。 初期化はしているのですが、本当に0かどうかを確かめるために 毎回「hensu_C」の表示をさせてみたところ「0.01」と表示されました。 しばらく調べてやっとわかったのですが、MT4のインプット(動かす時に値を変更するところ)に 以前0.01を入れていると、プログラムの中で毎回0.00を代入していてもそちらが優先されるようでした。 まだこの仕様がよくは判っていませんが、「0が入っていなかった」が真相でした。 ありがとうございました。