【開発の裏側64】同じ通貨ペアのチャートを2枚開くと、ボックスの保存が混ざった。ほかのチャートに手を出していた3つの話

【開発の裏側64】同じ通貨ペアのチャートを2枚開くと、ボックスの保存が混ざった。ほかのチャートに手を出していた3つの話

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

開発の裏側の64回目です。前回は、ダウ理論のインジケーターを作り直したとき、説明と中身がずれていた3つの話でした。
今回は、ボックスのインジケーターを作り直したときの点検から、ほかのチャートに手を出していた3つを書きます。



このインジケーターは、何度も止められた価格帯をボックスとして描き、そのときのボックスを保存しておけます。あとから、前に意識されていたボックスと今を見比べるためです。

作り直す前の版を1行ずつ読むと、設定と保存したボックスを、通貨ペアの名前ごとに覚えていました。



1つ目は、ここです。

たとえば、ドル円の1時間足と、ドル円の15分足のチャートを並べて、両方にこのインジケーターを入れたとします。
覚える場所が通貨ペアごとなので、2枚のチャートが同じ場所を読み書きします。片方で保存したボックスや変えた設定が、もう片方に混ざりました。

私のインジケーターとEAは、チャートどうしでデータを共有しない、という決まりで作っています。1枚のチャートの操作が、別のチャートを黙って変えないようにするためです。
そこで、設定はチャートごとに、保存したボックスはチャートと通貨ペアの組ごとに覚えるよう直しました。



2つ目は、保存のしかたです。

前の版は、保存したボックスを、MTのグローバル変数に入れていました。グローバル変数は、MTの中のすべてのチャートとプログラムから見える置き場です。
ボックス1つにつき6個、最大で700個近く書いていました。

数が多いだけでなく、ほかのインジケーターやEAと同じ置き場を使います。MTの画面のグローバル変数の一覧も、それで埋まります。
直した版では、チャートと通貨ペアの組ごとに、ファイルを1つ書くようにしました。MTを再起動しても残り、ほかのプログラムの置き場には触りません。



3つ目は、起動のときの片づけです。

前の版は、起動するたびに、位置が左上の0,0にある文字のラベルを、チャートからすべて消していました。
名前で見分けていないので、ほかのインジケーターのラベルまで消えます。

この片づけは、まるごと消しました。



3つとも、1枚のチャートで1つだけ動かしているときには、何も起きません。
同じ通貨ペアを2枚開く、ほかのインジケーターと一緒に使う、という、実際の使い方になって初めて出てきます。

作るときは、自分の書いたものが、どこまで届くかを確かめてみてください。覚える場所の名前に何が入っているか、消す部品をどう見分けているか。そこに、ほかのチャートへはみ出す入口があります。

ボックスを自動で見つけて描き、保存して、あとから見比べられるインジケーターです。


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