【開発の裏側57】新しく置いたMT4が、業者のサーバーにつながらなかった。実行ファイルだけ写すと、サーバーの一覧が空のままでした

【開発の裏側57】新しく置いたMT4が、業者のサーバーにつながらなかった。実行ファイルだけ写すと、サーバーの一覧が空のままでした

記事
IT・テクノロジー
どうも、FXトレーダー兼システムエンジニアのナオトです。

開発の裏側の56回目は、30本まとめて決済したら、子の口座の決済が12秒遅れた話でした。
今回は、EAを動かすMTを、別のパソコンに新しく置いたときの話です。



EAの成績を公開するために、別のパソコンにMT4とMT5を1つずつ置きました。
ほかのMTと混ざらないよう、持ち運べる形で、フォルダごと独立させます。

このとき、写したのは、実行ファイルとEAと、起動の手順だけでした。
前に使っていた設定やチャートは、余計なものが混ざらないよう、あえて写していません。



MT5は、すぐに業者のサーバーにつながりました。

ところが、MT4はログインできません。
ログを見ると、接続に失敗して、回線不通と出ていました。

ネットは来ています。同じパソコンのMT5はつながっている。
MT4のフォルダを見比べて、原因が分かりました。



MT4は、業者のサーバーの一覧を、設定のフォルダの中の1つのファイルに持っています。
新しく置いたMT4のそのファイルは、19KBでした。前から使っている、同じ業者につながるMT4のほうは、197KBです。

新しいMT4の一覧には、その業者のサーバーが入っていなかった。
実行ファイルだけを写したので、一覧は初めの状態のままだったのです。

ふだんは、業者のサイトからMT4を入れると、その業者のサーバーが一覧に入った状態で始まります。実行ファイルだけを持ってくると、そこが抜けます。

直し方は2つあります。
画面で、新しいブローカーを追加から業者を探してサーバーを選ぶか、つながるMT4から、サーバーの一覧のファイルを写すか。
今回は、つながるMT4の一覧を写し、元のファイルは名前を変えて残しました。これでログインできました。



もう1つ、このときにEAのほうでも見つけたことがあります。

起動したときに、業者のサーバーの時差をログに書く行があります。
その行が、時差を読み直す前の値を書いていました。判定に使う値は、読み直したあとの正しい値なのに、ログだけが古い。

ログを書く場所が、値を読み直す処理より前にあっただけです。順番を入れ替えて直しました。
動きは正しいのに、ログを見た人は、間違った時差で動いていると思ってしまいます。ログは、判定と同じ値を書く必要があります。



設定を写さずにまっさらで置くのは、混ざりを防ぐには良い方法です。
ただ、MT4では、サーバーの一覧も設定の一部でした。新しく置いたら、EAを動かす前に、まず業者のサーバーにつながるかを確かめる必要があります。

EAの設置や、動かす環境づくりのご相談も受けています。


最後までお読みいただき、ありがとうございました。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す