MQL5で、ulong ticket_num = -1;は、ダメ!

お盆明けからほぼ毎日出勤しているお館様がいうには、
ここ数日少し暑さがやわらいだそうで。。。
エアコン依存のわたしにはあんまり関係なかったりしますが、
涼しくなるのは良いことです。

MT5で動かしている自作EAの動きがおかしかった理由。
たくさんあるのですが、一番やっちゃダメだったのが、
ulong ticket_num = -1;
です。
うちの自作EAたちはMT4から移住中で、お館様が、
なるべくMQL4と同じ文章でEAを作れるようにと
いろいろと用意してくれています。
特に発注する時の手順がMQL4とMQL5で全然違うのが
わたしには理解できなくって、MQL4と同じ書き方で発注できる
ようにしてもらっています。
じつは、そこで悲劇が・・・(-_-;)
MQL4で取引を発注するときに、発注を失敗したら
int(=整数)のチケット番号ticket_numを-1にしていたので、
同じしくみをMQL5でも作ってもらってました。
、、、で、MQL5では、チケット番号をulongというデータで
やりとりするらしいので、わたしは、
ulong ticket_num = -1;
と書いていたのですが、これがものすごい災害の
原因になっていました。
これを書いていると、
if(ticket_num <= 0)という"ticket_numが0以下だったら"という
文章をまったく無視!
というか、そもそも動かないはずの発注も動いていたという
とんでもないことに・・・
わたしがMQL5で作ったEAが、妙に取引が多かったのは
どうやらこれが原因だったみたいです。
ちなみに、
ulong ticket_num = 0;
と書き直すと、このおかしなことはまったく起きなくなったので、
ほかの理由もあるかもですが、ほぼこれが主犯とおもってます。
ちなみに、コンパイルボタンを押したときには、
何にもエラーもメッセージも出てこないので気づきませんでした。

でも、お館様に見てもらうと、ほぼ数秒で見つかったという・・・
でもでも、原因を作ったのもお館様なんですけれどね。
プログラミングって難しい( ´Д`)=3 フゥ

この記事へのコメント
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 

 Copyright ©トラの親 うちのトラの子の年収は? All rights reserved. 

 / Template by 無料ブログ テンプレート カスタマイズ