MT4(MetaTrader 4)へ購入したカスタムインジケーターを入れた直後に画面が固まったり、「応答なし」になったりする場合、単純にパソコンの性能不足とは限りません。すでにチャート数の削減や表示バー数の制限など一般的な軽量化を行っているのに改善しないのであれば、インジケーター自体の処理負荷、設定値、他のEA・インジケーターとの競合、履歴データ、MT4環境との相性などを切り分ける必要があります。
特に重要なのは、「MT4全体が重い」のか、「その購入インジケーターをチャートへ入れた瞬間だけ固まる」のかを分けて考えることです。後者なら、PCのスペックアップより先にインジケーター側を疑うほうが効率的です。
本記事では、MT4へカスタムインジケーターを入れるとフリーズする場合に、何をどの順番で確認すればよいのかを解説します。すでに基本的な軽量化を試している場合でも確認できるよう、原因の切り分けから販売者へ問い合わせる際の情報まで具体的に整理します。
- MT4が固まる原因は「PCが重い」だけではない
- 最初にやるべきは「そのインジケーターだけ」で動かすこと
- 新しいMT4環境へインジケーターだけ入れて試す
- 「チャートの最大バー数」を減らしても重い場合がある
- インジケーターの設定項目を最小構成にして試す
- 時間足を変えると固まるか確認する
- MT4の「Experts」と「Journal」を必ず確認する
- CPUとメモリ使用率を見れば原因の方向性が分かる
- チャート上のオブジェクトが大量に作られていないか確認する
- DLLや外部ファイルを使用するインジケーターにも注意
- MT4のバージョンとインジケーターの対応状況を確認する
- 販売者へ問い合わせるべきケース
- ソースコードがない購入インジケーターは自分では直せない場合がある
- それでも固まる場合のおすすめ切り分け手順
- まとめ|軽量化済みでも固まるならインジケーター単体の切り分けが最優先
MT4が固まる原因は「PCが重い」だけではない
MetaTrader 4では、複数のチャートやカスタムインジケーター、EAなどを同時に動かすことができます。その一方で、MetaTrader公式ヘルプも、必要なハードウェア性能は実行しているMQL4アプリケーションの負荷や、使用する銘柄・チャート数などによって変わると説明しています。
つまり、高性能なPCを利用していても、インジケーターのプログラム内部で非常に重い計算を繰り返していればMT4は固まります。反対に、軽量なインジケーターだけであれば比較的低いスペックでも問題なく動作することがあります。
例えばインジケーターAを外すとMT4が正常に動き、Aを入れた瞬間に毎回フリーズするのであれば、原因はMT4全体よりもAの処理内容や設定にある可能性が高くなります。
最初にやるべきは「そのインジケーターだけ」で動かすこと
すでに一般的な軽量化をしている場合、最も有効なのが原因の切り分けです。まず新しいチャートを1枚だけ開き、そのチャートには購入したインジケーター以外を一切入れずに動作を確認します。
EA、別のカスタムインジケーター、複雑なテンプレート、チャートオブジェクトなども外します。その状態でも同じように固まるのであれば、購入インジケーター単体で問題が発生している可能性がかなり高くなります。
逆に単体では正常に動くものの、普段使用しているテンプレートへ追加すると固まるなら、複数インジケーターの同時使用やチャート枚数、オブジェクト数などの総合的な負荷が原因と考えられます。
例えば普段10枚のチャートへ5種類ずつインジケーターを入れている場合、見た目上は1つ追加しただけでも、そのインジケーターが各チャートで大量の計算を実行すると負荷は一気に増えます。
新しいMT4環境へインジケーターだけ入れて試す
切り分けをさらに確実にするには、普段使っているMT4とは別に、できるだけ初期状態に近いMT4環境を用意してテストする方法があります。
普段のMT4には長期間利用した履歴データ、テンプレート、プロファイル、カスタムインジケーター、EA、各種設定などが蓄積されています。これらのどれかと購入したインジケーターが組み合わさって問題を起こしている可能性があるためです。
新しい環境でチャートを1枚だけ開き、購入インジケーターだけを導入します。そこで正常に動作するのであれば、元のMT4環境側に原因がある可能性があります。
一方、新規環境でも同じインジケーターを入れた瞬間にフリーズするのであれば、販売者へインジケーター側の問題として相談する価値が高い状態です。
「チャートの最大バー数」を減らしても重い場合がある
MT4には「チャートの最大バー数」や「ヒストリー内の最大バー数」を設定する項目があります。これらを減らすことは、インジケーターの処理対象となる価格データを減らし、負荷を下げる代表的な方法です。
MetaTrader公式ヘルプでも、これらの設定によってチャートに表示・保存する履歴データ量を制御できると説明されています。
ただし、最大バー数を減らせば必ず軽くなるとは限りません。インジケーターのプログラムによっては、毎ティック大量の計算を行ったり、複数時間足・複数通貨ペアのデータを参照したり、チャート上へ大量のオブジェクトを作成したりする場合があります。
そのため、すでにバー数を十分減らしているにもかかわらず固まるなら、「履歴が多すぎる」という原因だけにこだわる必要はありません。
[参照] MetaTrader 4公式ヘルプ「チャートの最大バー数」
インジケーターの設定項目を最小構成にして試す
購入したインジケーターに入力パラメータが多数ある場合、設定次第で処理量が大きく変わることがあります。
例えば「過去何本まで計算するか」「何日前までシグナルを表示するか」「複数時間足を監視するか」「複数通貨ペアを監視するか」「アラートを出すか」「チャート上へライン・矢印・文字を表示するか」といった項目です。
過去10万本のバーを分析する設定と、直近2,000本だけを分析する設定では処理量がまったく違います。また、28通貨ペア×複数時間足を同時監視するインジケーターであれば、チャート1枚でも内部では大量のデータを処理している可能性があります。
まず購入時のマニュアルを確認し、表示本数、監視銘柄、監視時間足、アラート、描画機能などを可能な範囲で最小化します。それで正常に動けば、一つずつ機能を戻すことで重い設定を特定できます。
時間足を変えると固まるか確認する
特定の時間足だけで異常に重くなるインジケーターもあります。そのため、M1、M5、H1、D1など複数の時間足で挙動を比較すると原因の切り分けに役立ちます。
例えばM1では大量のバーを計算するため固まるものの、H1では問題なく動くのであれば、価格データ量やインジケーター内部の計算量が影響している可能性があります。
逆にすべての時間足でチャートへ追加した瞬間にフリーズするなら、単純な履歴量よりも、初期化処理や外部ファイル読み込みなど別の部分を疑ったほうがよいでしょう。
複数時間足分析型のインジケーターでは、表示している時間足とは別の時間足データも取得するため、見た目だけで処理量を判断できない点にも注意が必要です。
MT4の「Experts」と「Journal」を必ず確認する
MT4が固まる場合、画面だけを見て原因を判断するのではなく、ターミナルウィンドウの「Experts」と「Journal」を確認することが重要です。
MT4では「表示」から「ターミナル」を開くか、Ctrl+Tでターミナルウィンドウを表示できます。ExpertsにはEAやMQL4プログラムに関する情報が表示され、Journalにはターミナルの動作に関する記録が残ります。
例えばインジケーターを入れた直後に同じエラーが何千回も繰り返されていれば、そのログ出力そのものが負荷を増やしている可能性があります。また「cannot load」「array out of range」「cannot open file」などのエラーが出ていれば、単なるPC性能不足ではなくプログラムや必要ファイルに問題がある可能性があります。
MT4が完全に固まって画面上で確認できない場合でも、再起動後にログファイルを確認できることがあります。MetaTrader公式ヘルプでは、ExpertsのログがMQL4/Logsフォルダへ保存されることが案内されています。
[参照] MetaTrader 4公式ヘルプ「Experts」
CPUとメモリ使用率を見れば原因の方向性が分かる
MT4が固まった瞬間にWindowsのタスクマネージャーを開き、CPUとメモリの使用状況も確認してみましょう。
インジケーターを入れた直後にMT4のCPU使用率が大きく上昇し、その状態がずっと続く場合、インジケーターが非常に重い計算を続けている可能性があります。
一方、メモリ使用量が急激に増え続ける場合には、大量の価格データやオブジェクトなどを保持している可能性があります。時間の経過とともにメモリ消費が増え続けるのであれば、インジケーター内部の処理に問題がある可能性も考えられます。
「MT4が固まった」という現象だけでなく、「固まったときCPUとメモリがどうなっているか」を記録しておくと、販売者へ相談するときにも有用です。
チャート上のオブジェクトが大量に作られていないか確認する
カスタムインジケーターには、インジケーターバッファだけで描画せず、チャートオブジェクトとして矢印、ライン、テキスト、ボタンなどを大量に生成するタイプがあります。
例えば過去10年間のM1チャートへ、すべての売買シグナルについて矢印と文字を表示するインジケーターなら、非常に多数のオブジェクトが作成される場合があります。
インジケーターの設定に「過去シグナル表示」「Historical Signals」「Bars to Scan」「Max Objects」などの項目があれば、まず小さい値に変更してみます。
表示期間を短くした途端に動作が軽くなるなら、チャート描画や過去データの計算がボトルネックだった可能性が高いでしょう。
DLLや外部ファイルを使用するインジケーターにも注意
購入したインジケーターによっては、EX4ファイル単体ではなくDLL、設定ファイル、ライブラリ、画像など複数のファイルを必要とする場合があります。
必要なファイルを誤ったフォルダへ入れていたり、一部だけコピーし忘れていたりすると、正常に初期化できない可能性があります。またDLLを利用する商品では、マニュアルに従った設定が必要になる場合があります。
この場合、インターネット上の一般的な導入方法だけで判断せず、購入した商品の正式なインストール手順を最初から確認し直すのが安全です。
特に購入インジケーターの場合、認証機能や外部通信を使用する商品もあります。VPN、セキュリティソフト、Windows設定などとの組み合わせによって正常に動作しない場合もあるため、販売者が提示している動作条件を確認しましょう。
MT4のバージョンとインジケーターの対応状況を確認する
インジケーターが以前のMT4環境を前提として作成され、その後十分に更新されていない場合、現在のMT4ビルドとの組み合わせで正常に動作しない可能性もあります。
MT4のバージョンは「ヘルプ」から「バージョン情報」を開いて確認できます。MetaTrader公式ヘルプでも、この画面からターミナルのバージョン情報を確認できると説明されています。
購入ページや販売者の案内に「対応MT4」「対応OS」「最新版へアップデートしてください」といった情報がないか確認します。
特に「購入当初は動いていたが、最近MT4を更新した後から固まるようになった」という場合は、互換性の問題を販売者へ伝えると原因を特定しやすくなります。
[参照] MetaTrader 4公式ヘルプ「バージョン情報」
販売者へ問い合わせるべきケース
有料インジケーターであれば、自分で延々と設定を変更するより販売者へ問い合わせたほうが早いケースがあります。
特に、初期状態に近いMT4でチャート1枚・購入インジケーター1個だけにしても再現するのであれば、販売者へ相談する根拠として十分です。
問い合わせる際は、単に「固まります」と伝えるより、次の情報をまとめて送ると原因を特定してもらいやすくなります。
- MT4のビルド番号
- Windowsのバージョン
- インジケーターのバージョン
- 使用している通貨ペア
- 使用時間足
- インジケーターの設定値
- チャートへ追加してから固まるまでの時間
- Experts・Journalに表示されたエラー
- CPU・メモリ使用率
- 他のインジケーターを外しても再現するか
再現条件まで提示すれば、販売者側でも同じ条件を作ってテストしやすくなります。
ソースコードがない購入インジケーターは自分では直せない場合がある
購入したインジケーターがEX4ファイルだけで提供され、MQ4のソースコードが提供されていない場合、利用者側でプログラムそのものを最適化することは基本的にできません。
例えば内部で全履歴を毎回再計算する処理や、大量のループが入っていたとしても、設定項目が用意されていなければ利用者側から変更できません。
このようなケースではPCを高性能化して症状を緩和できる場合はあっても、本質的な解決はインジケーターの修正版が必要になることがあります。
有料商品で再現性のあるフリーズが発生するなら、販売者へ最新版や修正版の有無を確認し、必要に応じてログと再現条件を提出する方法が合理的です。
それでも固まる場合のおすすめ切り分け手順
一般的な軽量化をすでに実施しているなら、次の順番で確認すると原因をかなり絞り込めます。
- 購入インジケーターを外した状態でMT4が正常か確認する
- 新しいチャート1枚へ購入インジケーターだけを入れる
- 入力パラメータを初期値または最小負荷へ変更する
- 別の時間足・通貨ペアで再現するか試す
- ExpertsとJournalのエラーを確認する
- タスクマネージャーでCPU・メモリを確認する
- 初期状態に近い別MT4環境でも試す
- MT4とインジケーターのバージョンを確認する
- 同じ症状が出るなら販売者へ再現条件とログを送る
この方法なら「PCの問題」「現在のMT4環境の問題」「他インジケーターとの競合」「購入インジケーター固有の問題」を順番に切り分けられます。
特に別のクリーンなMT4でも単体でフリーズする場合は、パソコン全体の軽量化を繰り返すより、販売者へ相談する段階と考えてよいでしょう。
まとめ|軽量化済みでも固まるならインジケーター単体の切り分けが最優先
MT4へ購入したインジケーターを入れると固まる場合、チャート数や最大バー数を減らすなどの一般的な軽量化だけでは解決しないことがあります。
すでに軽量化をほとんど試しているのであれば、次に行うべきなのは購入インジケーターだけを新しいチャートで動かし、単体でもフリーズするか確認することです。
単体で正常なら、他のインジケーター、EA、チャート数、テンプレートなどとの組み合わせが原因候補になります。一方、初期状態に近いMT4へそのインジケーターだけを入れても固まるのであれば、インジケーター自体の処理負荷、設定、互換性、不具合などを疑うべき状況です。
その際はExperts・Journalのログ、CPU・メモリ使用率、MT4のビルド番号、通貨ペア、時間足、設定値を記録しておきます。これらを販売者へ提示すれば、「重いです」という情報だけよりはるかに原因を特定しやすくなります。
有料インジケーターを追加したときだけ再現性をもってMT4が固まるのであれば、PCをさらに軽量化することだけに時間を使わず、クリーン環境で単体テストしたうえで販売者へ修正版や対応状況を確認するのが最も効率的です。
こんにちは!利益の管理人です。このブログは投資する人を増やしたいという思いから開設し運営しています。株式投資をメインに分散投資をしています。

コメント