MT4でEA作成を勉強中です。
if文の条件で詰まっているので助けてください。
変数の宣言で
double hensu_A1 ←値は何でもいいです
double hensu_B1 ←値は何でもいいです
double hensu_A2 ←値は何でもいいです
double hensu_B2 ←値は何でもいいです
double hensu_C ←0.00
としていたとします。
if文の中で、
if ( hensu_A1 < hensu_B1 && hensu_A2 < hensu_B2)
とした時はちゃんと機能しました。
また、
if ( hensu_A1 + 0 < hensu_B1 && hensu_A2 + 0 < hensu_B2)
としても機能しました。
しかし、上の式の「0」を「hensu_C」に置き換えて
if ( hensu_A1 + hensu_C < hensu_B1 && hensu_A2 + hensu_C < hensu_B2)
とすると、機能しない(計算結果が正しくてもtrueを返さない)ようで困っています。
「hensu_C」の中身は0.00を入れてあるので、計算結果は同じになるはずです。
条件文の書き方が間違っているのでしょうか。
判る方おられましたら教えて頂けると助かります。
No.2ベストアンサー
- 回答日時:
うーん、MT4がわからないが、他言語でありがちな
「初期化してないから初期値0を期待してたら、実は値がNullだったので演算結果もNull」じゃないですか?
hensu_Cは、本当に0.00ですか?
回答ありがとうございます。
初期化はしているのですが、本当に0かどうかを確かめるために
毎回「hensu_C」の表示をさせてみたところ「0.01」と表示されました。
しばらく調べてやっとわかったのですが、MT4のインプット(動かす時に値を変更するところ)に
以前0.01を入れていると、プログラムの中で毎回0.00を代入していてもそちらが優先されるようでした。
まだこの仕様がよくは判っていませんが、「0が入っていなかった」が真相でした。
ありがとうございました。
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))
だとどうなりますか?
この回答への補足
回答ありがとうございます。
ご提案頂いたように()でくくってみましたがだめでした。
というか、最初はもっと条件が複雑だったので、細かくカッコでも囲っていたのです。
しかし正常に動いていないようなので、条件をどんどんと簡略化してチェックしていき、
最終的に質問で書いた部分がダメだということが判ったのです…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- 統計学 個別の期待値は小さいけど集計すると期待値は大きくなる場合とは? 4 2022/06/14 08:27
- Excel(エクセル) excel2013 色付きセルの値合計 3 2023/02/28 11:48
- Excel(エクセル) エクセルの数式について教えて下さい。 8 2023/05/27 12:17
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語で、繰り返し文の中で、0....
-
テイラー展開(C言語)
-
プログラムでの数字につく”f”の...
-
C言語の型による処理速度の違い
-
関数におけるif文とreturn文に...
-
(C,C++言語)関数の引数は自動キ...
-
C言語 関数プロトタイプ宣言の...
-
long doubleの有効桁数を教えて...
-
listに構造体を格納
-
3次方程式の求解プログラム(...
-
カウントアップタイマ
-
信頼区間の1.96や1.65ってどこ...
-
プログラミング初心者です。 Py...
-
2÷3などの余りについて
-
「Aに対するBの割合」と「Aに対...
-
ラップ関数とはどんなものですか?
-
複数桁10進数の*桁目だけを抽出...
-
UWSCにてある一定の動作を無限...
-
2の補数を計算するプログラム
-
(int *)の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C言語を実行すると-infが出てき...
-
c言語で、繰り返し文の中で、0....
-
C 開放してるのにエラー(doubl...
-
doubleの変数にintとintの割り...
-
至急です! マクロ定義で #defi...
-
C言語 関数プロトタイプ宣言の...
-
float型とdouble型の変数の違い...
-
C言語の型による処理速度の違い
-
int とdoubleの比較
-
関数におけるif文とreturn文に...
-
Cで3乗根を求める方法
-
c言語のコンパイルエラー canno...
-
2次方程式の解を求めるプログ...
-
浮動小数点の定数
-
doubleは常に%lfとするべきなのか
-
-1.#IND00と出てしまうのですが...
-
C言語のpow関数の不具合
-
difftime()について
-
C++で外積
おすすめ情報