【開発裏話】MQL5フォーラムで多かった内の1つ「MTFツールが重い問題」の話
前回は、MQL5フォーラムで目にした「インジケーターを入れると動作が重くなる」という世界共通の悩みと、
それを解決するための「引き算の設計思想」についてお話ししました。
そして第一弾として、快適な動作感をワンコインで体験していただく『Trade_Toolbox_Lite -日本時間&セッション』をご紹介しました。
今回は、フォーラムの中でも特に悲鳴が多く上がっていた「あのツール」のお話です。
フォーラムで頻発していた「MTF(マルチタイムフレーム)を入れると激重になる」という報告
トレードの環境認識において、下位足チャート上に上位足のローソク足を表示させる「MTFツール」は非常に人気の高いインジケーターです。
しかし、MQL5フォーラムのスレッドを調べていると、実に多くのトレーダーが以下のような不満を訴えていました。
「MTFローソク足を入れた途端、チャートの更新が一瞬カクつくようになった」
「複数通貨ペアのチャートに適用したらMT5自体がフリーズした」
「他の注文EAやインジケーターの処理と干渉して誤作動を起こす」
最新のMT5は、本来データを読み込むスピードが非常に高速です。
にもかかわらず、なぜMTFツールを入れると重くなってしまうのでしょうか?
理由はシンプルで、「一度に大量のデータを一気に読み込み、大量の図形を描き直そうとして、処理の順番待ち(渋滞)が起きてしまうから」です。
どれだけ処理速度が速いMT5でも、過去何千本分もの膨大なデータを一回で処理しようとすると、レジの行列のように処理が詰まってフリーズの原因になってしまいます。
思考の転換:「過去すべてのデータ」ではなく「必要な数本だけ」に絞り込む引き算
そこで私が選択したのは、無駄な処理を一切排除する「引き算の設計」でした。
一般的なMTFツールは、過去何千本もの上位足データを一括で読み込んで描画しようとするため、MT5の高速処理をもってしてもデータの処理待ち(渋滞)が発生してしまいます。
しかし、画面上の表示範囲を考えてみても、最大50本(1時間足なら約2日分)もあれば一般的なモニター画面を十分にカバーできます。
そこで『Trade_Toolbox_MTF_Candle』では、以下の設計を徹底しました。
描画本数を「直近N本(1〜50本)」に必要な分だけ絞り込み
過去の膨大なデータを一気に読み込まず、設定した本数分だけをサクッと処理するため、データ処理の渋滞が一切起きません。
変化があった足だけをサッと描き替える「差分更新」
毎Tickごとにすべての図形を作り直すのではなく、値動きがあった部分だけを最小限で更新する無駄のない仕組みにしています。
MQL5専用設計&チャートごとの独立管理
MT4からの無理な変換コードではなく、MT5の仕組みに合わせた専用設計。複数チャートで同時に動かしても、処理同士がぶつかり合って重くなるのを防ぎます。
おわりに(まずはワンコインでその軽さを体感してください)
「上位足を重ね表示したいけれど、チャートが重くなるのは困る…」と諦めていた方にこそ、ぜひ使っていただきたいツールです。
この『MTFキャンドル』も、シリーズの快適な動作環境を気軽に試していただくためのワンコイン(500円)で提供しています。
第一弾の日本時間インジと同様、まずはワンコインでMQL5専用設計の軽快さを体感してみてください。
実際に使って、感じてみてください
ここまで書いてきたように、私が大切にしているのは「機能が動くこと」だけではなく、実際のトレード環境で使ったときの感触です。
とはいえ、文章だけでは分からない部分も多いと思います。
そこで、Trade Toolboxシリーズには、
無料で試せるもの
お試し版でじっくり確認できるもの
正式な有料版
を用意しています。
「実際に自分の環境で使うとどうなのか?」
そこを一番確かめていただきたいと思っています。
気になるものがあれば、まずは無理に購入せず、無料版やお試し版から実際に触ってみてください。
そして、もし実際に使っていただけたら、
「ここが便利だった」
「ここはもう少しこうしてほしい」
「思っていたより軽かった」
「こういう使い方をしている」
など、率直な感想をレビューで教えていただけると嬉しいです。
良い評価だけをお願いしたいわけではありません。
実際に使った方の率直な声が、今後の開発にとって一番参考になります。
「こんなところを見ているんだ」と、私自身が気付かされることもあります。
これからも、トレードの邪魔をせず、少しでも使いやすい環境を作れるように改良していきます。
Trade Toolboxシリーズ
▼ 無料版・お試し版・有料版はこちらからご覧いただけます。
気になるものがあれば、まずは商品ページの内容や対応環境をご確認ください。
そして、実際に使ってみて「これは使える」と感じたものがあれば、そのときに正式版を選んでいただければと思います。
最後まで読んでいただき、ありがとうございました。