どうも、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の設置や、動かす環境づくりのご相談も受けています。
最後までお読みいただき、ありがとうございました。