【開発の裏側80】20の時間足×5,000本で、足の番号を毎回数え直していた。同じ答えを何度も出し直す処理を減らした3つの話

【開発の裏側80】20の時間足×5,000本で、足の番号を毎回数え直していた。同じ答えを何度も出し直す処理を減らした3つの話

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

開発の裏側の80回目です。前回は、20の時間足の線のインジケーターで、マウスを動かすと線が正しい位置に動いていた話でした。
今回は、同じインジケーターで、同じ答えを何度も出し直していた処理を減らした3つの話です。



このインジケーターは、1分足から週足まで20の時間足の高値・安値に線を引き、東京・ロンドン・ニューヨークの取引時間を四角で塗って見せます。



1つ目は、足の番号の数え直しです。

前の版は、過去の足を1本ずつ調べるたびに、その足の番号を毎回自分で数え直してから、高値や安値を取りに行っていました。
20の時間足で、5,000本ずつ。それだけの回数、同じような数え直しが走ります。

直した版では、MTがインジケーターに渡してくれる値の並びを、そのまま読むようにしました。
結果は前の版と同じになることを、並べて確かめています。



2つ目は、3つの市場の取引時間です。

前の版は、足1本ごとに、東京・ロンドン・ニューヨークの3つの市場の時間に入っているかを調べ直していました。5,000本で3市場ぶんです。
取引時間は、1日の中で決まっています。足ごとに調べ直す必要はありません。

直した版では、1日ずつまとめて求めるようにしました。ふだんは、直近の2日分だけを描き直します。



3つ目は、その市場の四角の名前です。

前の版は、四角の名前を、開始時刻を文字にしたもので付けていました。
そして、描き直すたびに、同じ名前の四角を作ろうとしていました。すでにある名前なので、作る命令は失敗します。

直した版では、開始時刻の数値で名前を付け、その名前の四角がすでにあれば、作らずに動かすようにしました。



3つとも、画面の見た目は前の版と同じです。
同じ答えを何度も出し直している処理は、動きとしては正しいので、見ているだけでは気づけません。

インジケーターを軽くしたいときは、毎回の計算の中に、前回と同じ答えになる処理が混ざっていないかを探してみてください。1日に1回で済む計算を、足ごとにしていることがあります。

20の時間足の高値と安値を、1枚のチャートに重ねて見られるインジケーターです。


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