Tool version: O!kurra Capital Defense EA 2.00
この章の哲学。 O!kurraに関する「問題」のほとんどは、ツールの不具合ではなく、設定されたとおりに正確に動作している構成です — ただ、あなたが期待したのとは違うだけです。だからこそ、どの症状についてもまずこう問いかけます:これは本当に障害なのか、それとも設計された動作なのか? 驚くほど多くの場合、後者です。
マニュアルと現実が食い違う? 診断の途中で、マニュアル、チャットボットの回答、EAの実際の動作が異なることに気づいたら — [email protected] に報告してください(第1.9章)。ツールは動的に進化しており、そうした報告はドキュメントをコードと一致させ続けるのに役立ちます。
目次
21.1 診断の進め方 — 普遍的な原則 21.2 インストールと起動 21.3 ライセンス(キー+オンライン認証) 21.4 シグナルが出ない 21.5 待機注文(pending order)が約定しない 21.6 ポジション管理(BE / Trailing) 21.7 BEaが予想外の動きをする 21.8 口座のガーディアン(DPL / EG / Basket Max Loss / PT) 21.9 Trading Hours 21.10 Cross-button Triggers 21.11 EAパネル 21.12 パフォーマンス
21.1 診断の進め方 — 普遍的な原則
個別の症状に飛びつく前に — ほとんどのケースを解決するいくつかの原則です。
ログから始めます。 MetaTraderのExpertsタブ(Ctrl+T → Expertsタブ)はEAのメッセージを表示します — 初期化から、シグナルが拒否された理由、取引エラーまで。ほとんどの問題はログに痕跡を残します。 赤い行、アラート、ブロックしているフィルターの警告 — ここが最初に見るべき場所です。
パネルを確認します。 Status Blockは現在の状態を示し、インフォモード**[B/G/S/T/C/H]**(第8章)は「内部」を覗かせてくれます — フィルターの状態(G)、取引時間(T)、トリガーマップ(C)。適切なモードを見れば問題がすぐに分かることも多いです。
T. LevelsとT. Historyをオンにします。 可視化(第19章)は、EAがどこで、どのような文脈でポジションを建て、閉じたのかを示します。直感に反する動作も、チャート上では明白になることが多いです。
変数は一つずつ取り除きます。 何かが動かないときは — 最小構成まで減らし(ボタン1つ、デフォルト値)、問題が消えるかを確認し、それから構成要素を一つずつ戻していきます。古典的な二分法 — これは常に有効です。
EAを再起動し、それからMT5を再起動します。 問題の一部は、再読み込みで消える状態です。まずEAをチャートから削除して再度乗せます。それで解決しなければ — プラットフォーム全体を再起動します。
安定した.setを保持します。 動作する構成は必ず保存してください(第7章)。現在の構成が奇妙な挙動を始めたら、最後の安定版と比較して差分を見つけます。
すべてはデモで。 最初のテストは常にデモ口座で — 一部の挙動はブローカーと口座タイプに依存します。
何をしても解決しないとき — サポートに連絡します。 okurra.com にアクセスしてください。報告には次を含めます:銘柄と時間足、問題の説明、問題が起きた時点のExpertsタブのキャプチャ、パネルとチャートのスクリーンショット。文脈が多いほど、診断は速くなります。
21.2 インストールと起動
ツールがNavigatorに表示されない
症状: ファイルをコピーし、MT5を開いたが、Navigator(Ctrl+N)にO!kurraがない(EAはExpert Advisorsの下、パネル/インジケーターはIndicatorsの下)。
- ファイルの場所が違う。 EAは
MQL5\Experts\(推奨サブフォルダMQL5\Experts\OKU\)に、インジケーターはMQL5\Indicators\OKU\に置く必要があります。File → Open Data Folderからフォルダを開き、パスを確認してください(第3章)。 - 更新されていない。 ファイルを貼り付けた後、Navigator → Refreshを右クリックするか、MT5を再起動します。
- 転送中にファイルが破損。 okurra.comから再度ダウンロードして貼り付けます。
エラー560 — “newer unsupported version”(ターミナルが古すぎる)
症状: ツールがチャートに読み込まれない(乗せた直後に消える、またはまったく起動しない)、そしてJournal / Expertsタブにエラー560または*”‘…ex5’ has newer unsupported version, please update your client terminal”*というメッセージが表示される。典型的なタイミング:ファイルを新しいリリースに差し替えた直後。
- 原因: このリリースの
.ex5ファイルは、あなたのターミナルより新しいMetaTraderビルドでコンパイルされています。これはプラットフォームの制限であり — ファイルの破損でも設定ミスでもありません。必要な最小ビルドはokurra.comのダウンロードボタンの横に記載されています。自分のターミナルのビルドはHelp → Aboutで確認できます。 - 解決策: MetaTrader 5を更新します — ブローカーは常に最新ビルドを提供しています。通常は自動更新を有効にした状態でターミナルを閉じて起動し直せば十分です。更新後はプラットフォームを再起動し、Navigatorを確認します。
- 動作していたインストールを上書きしてしまった場合(古すぎるターミナルに新しいリリースのファイルを上書き)— 新しいファイルと一緒に、これまでの設定も動作しなくなります(古いファイルが置き換えられたため)。最も速い復旧はプラットフォームの更新です。あるいは前のリリースのファイルを再度インストールしてください — サポート対象は現行リリースとその1つ前(N-1)です。
起動後にEAパネルが表示されない
症状: EAは起動した(チャート隅にスマイルマーク)が、パネルがない。
- パネルがチャート領域の外にある。 モニター解像度の変更後や以前のドラッグにより、パネルが表示範囲外に出ることがあります。EAを削除して再度乗せれば — デフォルト位置に戻ります。
- Inputsでコントロールパネルが無効になっている。 コントロールパネル(ボタン、アクション、ステータス)の表示は
Show interactive control panelフィールド(パラメータUI_ShowControlPanel、グループInteractive Control Panel)が制御します。注意:これはShow info panel(Global_ShowStatsPanel)とは別のスイッチです — そちらは**拡張インフォパネル[i]**のみを制御し、コントロールパネルではありません。以前のプリセットが前者をオフにしていないか確認してください。 - すべてのセクションが非表示。 パネルのセクションをすべて隠すと、バーだけが残ります。少なくともStrategy Buttonsを有効にしてください(第8章)。
ポジションを建てようとするとエラーが出る
症状: ExpertsにMT5のコード付きの赤いエラー(reject、invalid priceなど)。
- Algo Tradingが無効。 MT5ツールバーの緑のAlgo Tradingボタンがオンである必要があります。EAをチャートに乗せるときはCommonタブでAllow Algorithmic Tradingにチェックを入れます。
- 口座が自動売買を許可していない。 一部の口座(特定のprop/demo)はアルゴを禁止しています。ブローカーに確認してください。
- 資金(証拠金)が不足。 最小ロットでも証拠金が必要です。口座のequityを確認してください。
- サフィックス付きの銘柄。 ゴールドはXAUUSD、XAUUSDm、XAUUSD.rなどとして存在することがあります。自分が正確にどの銘柄で作業しているのかを確認してください。
21.3 ライセンス(キー+オンライン認証)
O!kurraはOKUR-XXXX-XXXX-XXXX-XXXX形式のライセンスキーを使用し、okurra.comへの接続を通じてオンラインで認証します(第3章)。キーはEAのInputsに入力します。認証はバックグラウンドで(数分ごとに)動作し、短いネットワーク断は許容されます。
有効なライセンスがないというアラート/EAが新規ポジションを生成しない
症状: EAは起動するが、新しいシグナルを出さない。ログにライセンスに関するメッセージが出る。
- WebRequestのホワイトリストを確認します。 Tools → Options → Expert Advisors → Allow WebRequest for listed URL に
https://okurra.comが含まれている必要があります。これがないとEAはキーを検証できません(第3章)。 - キーを確認します。 正確に入力されているか(形式は
OKUR-...)、スペースが入っていないか、まだ有効か。 - EAのサブスクリプションを確認します — okurra.com で、有効になっているか、支払いが完了しているか。サブスクリプションの対象はEAのみです(第3章)。すべてのインジケーター — 各パネル(OkurraButton/OkurraGlobal)とコンパニオン — は無料で、ライセンスは適用されません。
- インターネット接続を確認します。 検証には okurra.com へのアクセスが必要です。
- コンピューターの時計は検証をブロックしません。 オンライン検証は時計に敏感ではありません — タイムゾーンの誤設定やマシンの時計のずれによって有効なライセンスが拒否されることはありません(時刻ゲートは2026-07-25にサーバーから削除されました。本マニュアルの以前の版では有効なものとして記述されていました)。あるコンピューターではEAが動作するのに別のコンピューターでは動作しない場合 — 多くはVPSです — 動作しないマシンで順に確認してください: WebRequestのホワイトリスト(項目1)、そのマシンのMT5口座番号が okurra.com のパネルでキーに割り当てられているか(項目3)、そしてそのマシンにインターネット接続があるか(項目4)。時計を正しく設定しておくことはいずれにしても有益ですが(ログやレポートが整います)、検証を決めるのは時計ではありません。
- 修正後はEAを再起動して検証を再試行させます。
穏やかな終息 — 障害ではありません。 サブスクリプションが期限切れになっても、EAは一夜にしてポジションを切ったりしません。ブロックされるのは新しいシグナルだけで、既存のポジションは引き続き監視されます — SL/TPに到達し、Break EvenとTrailingは動作し、手動での決済や反対シグナルへの反応も機能します。待機注文(将来の建玉)は削除されます。例外はarmされたBEa防御下にあるバスケットで — 防御はバスケットをゼロまで閉じるまでポジションを追加し続けることがあります(第12章)。バスケットが閉じた後、EAは徐々に何もしない状態になります。これは意図された、穏やかなメカニズムです(第3章)。
デモについての注記。 学習/デモモードではライセンスが無効化されていることがあります — その場合、この章はあなたには当てはまりません。ここでは製品版の状態を説明します。
リリースにも独自の有効期限があります。 サブスクリプションとは別に、配布されるツールのすべてのバージョンには有効期限が組み込まれています。EAはそれを稼働中に1日1回チェックします(起動時のみではありません)。期限を過ぎると、サブスクリプション失効時と同じ穏やかな管理モードに入ります — 新しいポジションは開かず、ペンディング注文を削除しますが、開いているポジションは予定された決済まで管理を続けます(BEa防御がバスケットを決済しきることがあります)。インジケーターとパネルは期限後にアラートを表示し、自らチャートから外れます。解決策:okurra.comから最新リリースをダウンロードしてください。
21.4 シグナルが出ない
ボタンは有効(色付き)なのに、ペンディング注文が作られない
これは最も多い報告です — そして原因はほぼ常に何らかのブロック条件であり、故障ではありません。順番に確認してください(以下の判断ツリー):
- EAはそもそもオンになっていますか? リリース1.27以降、パネルには独自のマスタースイッチがあります(第8章)。OFFのとき上段のボタンは赤になり、パネルのタイトルは**「O!kurra - EA OFF」**と表示されます — 新しいものは何も始まりませんが、開いているポジションは引き続き見守られます。
- Algo Tradingは有効ですか?(21.2節)。
- Trading Hours。 取引時間が有効な場合、ボタンがウィンドウの外にある可能性があります。**[T]**モードは現在のウィンドウまたは「no trading」を表示します(第16章)。注意:ブローカー時間であり、ローカル時間ではありません。
- フィルター。 **[G]**モードはグローバルフィルターの状態を表示します。MMDがbearishで、ボタンがBUYかつMMDフィルターが有効な場合 — すべてのBUYシグナルがブロックされます(第10章)。SAR / SR / OKUR Filterも同様です。
- Activation Zone。 ボタンに「Active only inside Activation Zone」が設定されていて、ゾーンが存在しないか価格がその外にある場合 — エントリーしません(第11章)。ゾーンが存在し、期限切れになっていないか確認してください。
- OKURのしきい値。 Threshold 180は非常に深く — 静かな市場ではオシレーターが何時間もそこに届かないことがあります。値を下げて(例:100に)、シグナルが動き出すか確認してください(第9章)。
- Signal Band。 有効期間ウィンドウ(Signal Band)が閉じた場合、ボタンはゾーン内での新しいアーミングを待ちます。確認のため一時的にSignal Bandを無効にしてください(第9章)。
- ログ。 ログを有効にすれば、各シグナルが却下された理由が分かります — 通常これですべての疑問が解消します。
誰もクリックしていないのに、ボタンが自分でオフまたはオンになった
リリース1.27以降、ボタンの状態を変えるのは、あなたの手とボタン間トリガーだけではありません。順に確認してください:
- 価格移動(price travel)のセンサー(第18章)。ボタンは「switched OFF by」欄に指定されたセンサーによってオフにされたか、「switched ON by」欄のセンサーによってオンにされた可能性があります。ログでは
[PM N] fired:を探してください — その横に、そのセンサーがどのボタンに作用したかが並んでいます。センサーは工場出荷時すべて無効なので、これは誰かが意図的に設定した構成にのみ当てはまります。 - ワンショットサイクル(§9.13)。ボタンに「switch off when its own positions are closed」が有効な場合、最後のポジションが決済されると自ら退役します — これは意図された動作であり、不具合ではありません。
- 日次ロールオーバー。 日次リセット時刻にEAはボタンを「Initial Enabled」の状態に戻します — 夕方に手動でオンにしたボタンが、朝にはオフに戻っていることがあります(逆も同様)。第14章。例外: EAがオフの場合、この復元は行われません(第8章)。
- 口座のガーディアン。 日次リミット、Equity Guard、Profit Targetは作動時にボタンを無効化します — 「朝にはすべてオフになっていた」の最も多い原因です。第14章と第15章。
シグナルは出るが、ほとんどすべてが損失で終わる
- しきい値が浅すぎる — 実際の極値ではなく、「どうでもいい」押し戻しでシグナルが出ています。深さを増やしてください(例:100 → 150)。
- 市場に対して方向が逆 — 銘柄が強いトレンドにあり、平均回帰型のボタンが「落ちるナイフを掴んでいる」。M15以上でMMD/SARを確認し、逆であればその側を無効にしてください。
- トリガーが敏感すぎる — Movement Correction 5は最初のマイクロ押し戻しで発火します。10–15に増やしてください。
- フィルターなし — すべてのシグナルが「盲目」です。エントリーをトレンド方向に限定するため、グローバルMMDフィルターを有効にしてください(第10章)。
21.5 ペンディング注文が約定しない
ペンディングのラインは見えるが、ポジションが一向に生まれない
- ペンディングの距離が大きすぎる。 ペンディング注文が価格から遠すぎて、妥当な時間内にタッチされません。「Pending Stop/Limit Distance」を小さくしてください(第9章)。
- ブローカーのスプレッド。 特定の時間帯(セッション開始、指標発表、週末)にはスプレッドが広がります。ペンディングは、該当する側の価格がそれにタッチしたときにのみ約定します。現在のスプレッドを確認してください。
ペンディングは消えたが、ポジションが生まれなかった
- 資金(margin)不足。 ログには通常*「Not enough money」*と表示されます。ロットを下げるか、資金を追加してください。
- 約定の瞬間にスプレッドが広すぎた — ブローカーが注文を却下します(invalid price)。指標発表前後に典型的です。
- ブローカーのポジション数上限(口座/銘柄あたりの同時ポジション最大数)。ブローカーに確認してください。
設定と異なるSL/TPでポジションが建った
- ブローカーの最小ストップレベル。 SL/TPは、ブローカーのしきい値より価格に近づけることはできません。SLが近すぎる場合、ブローカーはそれを却下/修正します。確認方法:銘柄を右クリック → Specification → Stops level。
EAの再起動後にブローカー側のペンディング注文が消えた
- これは設計どおりの動作であり、不具合ではありません(EA 1.11 以降)。実際のpendingを使う場合(仮想化が無効の場合)、EAは起動時に前回の稼働から残っている自分のpending order(待機注文)を削除します — 再起動によって「取り残された」pendingは、数日後に異なる市場環境で約定し、有効な文脈のないままポジションを開いてしまう可能性があります。ログでは**
[StalePendings]**タグを探してください。現在のセッションで出された新しいpendingには手を付けません。新しいpendingはボタンの現在のシグナルから作成されます。詳細は第9.7章。
21.6 ポジション管理(BE / Trailing)
2つのレベルに注意。 第9章のBreak EvenとTrailingは個々のポジション単位で機能します。第12章のBEaは方向全体のバスケットに対して機能します。これらは異なる仕組みです — 混同しないでください。
Break Even(ポジション単位)がSLを動かさない
- ポジションがBE開始しきい値に達していない。 BEは、ポジションが「Break Even Start」分の利益になったときにのみアームされます。値を確認してください(第9章)。
- 修正すべきSLがない。 ポジションがSLなしで開かれた場合、動かすものがありません — ボタンごとに適切な損切り(Stop Loss)を設定してください。
- ブローカーの制限(stops / freeze level)。 一部のブローカーでは、価格に近すぎるSLの修正が却下され、BEが「動かない」ことがありました — 口座によってばらつきがありました。現在EAはSLをブローカーの最小距離まで押し出し、それでも通らない場合(価格がフリーズゾーン内)には — 緊急措置としてポジションを成行で決済し、アラートを出します(popup + ログ)。そうしたアラートを見かけたら、その銘柄のstops/freeze levelを確認してください(第9章)。
トレーリングストップが価格に追随しない
- 価格がTrailing開始しきい値に達していない。 Trailingは「Trailing Start」を超えてから動き出します(第9章)。
- BEaが先にバスケットを決済した。 BEaは方向全体を独立して管理します。Trailingがアームされる前にバスケットを決済しきった場合 — それは自然なことであり、エラーではありません。
仮想(stealth)SLでポジションが決済されない
- かつての問題 — すでに修正済みです。 仮想(ステルス)SL/TPは現在、あらゆる口座タイプで確実に監視されます(ポジションは永続的なIDで識別されます)。古いバージョンで「価格がSLに到達したのにポジションが決済されなかった」という現象があった場合は — EAを更新してください(第9章)。
- EAはオンラインである必要があります。 仮想SLはEAが稼働し接続されている状態でのみ機能します — ターミナルを閉じている間は作動しません(ブローカー側には存在しません)。オフラインでの保護が必要な場合 → 実SLを使用してください(OkurraGlobalで仮想モードを無効にします)。
- 孤児(orphan)アラート。 「決済されずにポジションが消えた/保護が失われた」というポップアップは、ブローカー側の異常を意味します — 口座を手動で確認してください(第9章)。
アラート「PROTECTION OFFLINE」 — ターミナル側で取引が無効になっています
症状: **「PROTECTION OFFLINE」**で始まるポップアップが約1分ごとに繰り返され、EAがポジションを決済したりストップを移動したりできないと表示されます。
これはブローカーが注文を拒否しているのではなく、あなたのターミナルで取引が無効になっている状態です。 EAは決済やストップ変更を送信する前に、2つのスイッチを確認します:MT5ツールバーのAutoTradingボタンと、このEAの設定にある**「Allow Algo Trading」**の許可です。どちらかがオフの場合、すべての保護メカニズムは停止します:仮想SLはポジションを決済せず、ブレイクイーブンはストップを動かさず、Equity GuardとClose Allは何も送信しません。EAが「稼働して」パネルを描画していても、ポジションは無防備なまま残されます。
解決策: AutoTradingを有効にし(Ctrl+Eまたはツールバーのボタン)、EAのプロパティで「Allow Algo Trading」にチェックを入れてください。アラートは消え、メカニズムは直ちに動作を再開します。AutoTradingが「勝手に」オフになった場合 — 多くはキーボードショートカットの誤操作か、別のプロファイルでのターミナル再起動が原因です。
このアラートは、かつての*「Broker refused SL move… keep retrying」*というメッセージの「嵐」を意図的に置き換えるものです — 数百件の記録の代わりに1分あたり1件の読みやすいポップアップ、そして明確な診断(ブローカーではなくターミナル)です。
ログ「[CloseModel] ADAPTIVE: … switching to SYNC-first」
これはエラーではなく、情報です。 Adaptive クローズモデル(オプション — EA 1.23 以降のデフォルトは async を無効にした Auto、つまり同期クローズです。第5.5章)では、EA は決済を非同期で送信します。ブローカーが最初のパスで一部のポジションを決済できなかった場合、EA はいずれにせよ同期的にそれらを仕留め(安全網)、さらにクールダウンの間(デフォルト30分)は以降の決済を同期モードに切り替え、その後は自動的に非同期へ戻ります。このログ項目は、まさにその切り替えを記録したものです。頻繁に表示される場合、お使いのブローカーは非同期決済への耐性が低いということです — 「Close Model = 1 (Sync)」を恒久的に設定することを検討してください。
アラート「EA build … is older than this panel expects」 — パッケージのバージョンが混在
パネル(OkurraButtonまたはOkurraGlobal)が、ディスク上の状態がこのパネルと一緒にリリースされたものよりも古いリリースのEAによって書き込まれたことを検出しました — 多くの場合、更新時に一部のファイルだけを差し替えたためです。Okurraは常に完全なパッケージとしてリリースされます(EA + 両パネル + コンパニオンインジケーター)。リリースを混在させると、データ交換において静かな不整合が生じるおそれがあります。
解決策: 単一のリリースパッケージからすべてのファイルを差し替え(第3章)、Navigatorを更新するかターミナルを再起動してください。このメッセージはパネルのセッションごとに1回表示され、動作を妨げるものではありません — ただし装飾ではなく赤い警告灯として扱ってください。
EAのアクティビティ・ジャーナルと意思決定ジャーナル — 「なぜエントリーした(しなかった)のか?」
「なぜEAはポジションを開かなかったのか?」や「14:32に正確に何が起きたのか?」といった問いのために、アクティビティ・ジャーナルがあります:Log EA activity + decision/execution CSV (off during optimization)フィールドを有効にすると(パラメーターGlobal_DiagActivity、InputsのGlobalグループ、デフォルトで有効)、EAはMQL5\Files\OKU\diag\ea_activity.logファイルにイベントごとに1行を追記します。各記録にはカテゴリーがあります:
- ENTRY — エントリーシグナルの行方(通過した/どのゲートがブロックしたか。同一のブロック理由は結果が変わるまで1回だけ記録されます — ファイルは膨れ上がりません)、
- TRADE — ポジションに対する操作(エントリー、BE/トレーリングによるSL移動など)、
- BASKET — バスケットの定期的なスナップショット(ポジション数、PnL、EG/PTの状態)、
- SAFETY — ガーディアンのイベント(DPLリミット、Equity Guard、Profit Target、Magicの衝突など)、
- EXEC — ブローカー側の執行拒否。コードと平易な言葉による理由付き(1.28以降 — 以前は生の拒否コードがExpertsジャーナルにしか表示されず、一部の拒否はまったく痕跡を残しませんでした)。
同じ記録は**[OKU-ACT]**タグ付きでExpertsタブにも鏡のように出力されます — ファイルは全体を送付/確認するのに便利で、MT5のジャーナルはライブでの閲覧に向いています。
リリース1.28以降、同じスイッチが意思決定ジャーナルも記録します — 同じフォルダーにある機械可読ファイルea_decisions.csvで、1行=1イベント、固定された列構成です。すべてのエントリー判断(シグナル、ブロックしたゲートの名前、エントリーの登録)と、ブローカーとのすべてのやり取り — エントリー、pending、決済、ストップ変更 — が、拒否があった場合のコードと説明、要求価格と執行価格(つまりスリッページ)、そしてサーバーの応答時間(ミリ秒)とともに記録されます。ファイルには意図的にログインも残高も含まれません。これは*「悪い判断をしたのはEAなのか、それともブローカーが注文を握っていたのか?」*といった問いに対する証拠資料です — そしてokurra.comのクライアントパネルには、アップロードしたファイルから読みやすいレポートを作る分析ツールがあります:時間帯ごとのブローカー応答時間の分布、執行スリッページ、拒否のマップ、ゲートによるブロックの履歴です。
このジャーナルはストラテジーテスターでも機能します(1.28以降) — 最適化中のみ無効になるので、何千もの並列パスが誰も読まないファイルを生み出すことはありません。テスターのファイルはターミナルの共通データフォルダー(…\MetaQuotes\Terminal\Common\Files\OKU\diag\)に保存され、名前にシンボルとパス番号が入ります — 各パスが独自のファイル一組を持ち、上書きは起こりません。したがってバックテストの分析とライブの分析を、同じツール・同じフォーマットで行えます。
ログ内の別個の**[OwnReg]**タグは「own only」レジストリに関するものです(Monitor Own Onlyモードでの自己チケットの採用/追跡 — 21.8節) — これはアクティビティ・ジャーナルとは別のメカニズムです。
21.7 BEaが予期しない挙動をする
武装(arm)した直後にBEaがバスケットを決済してしまう
症状: BEa BUYをクリックすると、バスケットが即座に決済されます。
これは設計どおりの挙動です。 武装(arm)した時点で、価格はすでに加重ブレイクイーブン + BEa Gainを上回っていました。BEaは条件が満たされた瞬間に作動します。解決策: BEaをより早く武装する(価格がしきい値に達する前に)、あるいはBEa Gainを小さくして(例:30 → 10)ゼロに近い位置で決済するようにしてください。
新しいポジションが加わるとBEaのラインが「逃げていく」
これはエラーではありません。 加重ブレイクイーブンはバスケット内のすべてのポジションに依存します。新しいポジションが加わるたびに加重平均が変わり、BEaライン=加重BE + Gainなので、ラインは移動します。さらに言えば — これは良いニュースです:より悪い位置にポジションが増えるほど、加重ブレイクイーブンは(BUYなら)下がり、つまり実現のしきい値は現在価格へどんどん近づきます(第12章)。
Auto-ArmがBEaを武装しなかった
- その瞬間、EAがオフでした。 Auto-ArmはEAが稼働している間だけ機能します。見逃した瞬間は失われます。
- オープンポジションがありません。 Auto-Armは、トリガーの方向にポジションが1つもない場合、武装を抑制します — 守るものがないため、BEaは非武装のままです(ログでは:arming suppressed)。トリガーは次に発生したとき、バスケットが存在していれば作動します。
- 「1日1回」のラッチ(時刻ベースのAuto-Arm)。 指定時刻での武装は1日1回だけ機能します。その日の早い時間に手動でBEaを解除していた場合、再試行はしません(第12章)。
- ブローカー時間 ≠ ローカル時間。 Auto-Armの時刻はブローカー時間です。オフセットを確認してください。
BEaのヘッジモード — ネットのバスケットが「決済されない」
ヘッジモード(BUYとSELLを合算してネットで数える)では、全体がプラスに転じたときに実現が起こります。両サイドのロットが均衡している場合、ネットはゼロ付近で「凍結」したようになり、どちらかのサイドが優位に立つまで決済されません。これはエラーではなく幾何学的な帰結です(第12.5章)。
21.8 口座のガーディアン(DPL / EG / Basket Max Loss / PT)
直感に対する最も重要な訂正。 Equity Guardは「利益」側を見張ります(利益目標/利益トレーリング)。そしてバスケットの損失を見張るのはBasket Max Lossです(第15章)。ここは誤解の多い箇所です — 以下を参照してください。
起動直後にDaily Lossが発動する
- 以前からのポジション。 オープンポジション(例えば前日からのもの)があり、現在価格でリミットを超える損失になっている場合 — Daily Lossは直ちに作動します。日次の結果は現在のequity − リセット時に記録されたequityとして計算されます(第14章)。
- リセット時のequityが同期していない(長時間のオフラインの後/チャート変更の後)。解決策:Daily Lossを0(オフ)に設定し、次の日次リセットを待ってください — 基準値が新しく更新されます。
Equity Guardが「思っていたところではない場所」で作動する
- EG は利益側です。 EG の「Start」の正の値=利益のしきい値です(Distance 0 では +Start で決済し、Distance > 0 では段階的にロックが進む利益のトレーリングになります)。EG は損失のガーディアンではありません。バスケットの損失を制限したいのなら — それは Basket Max Loss です(第15章)。
- パーセントモード。 EG がパーセントモードの場合、「Start」は equity に対する % として計算されます — 金額と混同しやすい点です。モードを確認してください。
- EG は Total PnL を見ます(floating + realized)。floating だけではありません。
Basket Max Loss がバスケットを閉じたのに、取引が続いている
これは設計どおりです。 Basket Max Loss は「計画された損失のセーフティネット」です:バスケットの損失が上限(例:equity の 3%)を超えると、EA はバスケット全体を閉じ、バスケットをリセットし、そのまま続けます(第15章)。これが、その日をハードストップする Daily Loss との違いです。
利益が出ているのに Profit Target が発動しない
PT は実現利益だけを見ます。floating は見ません。「画面上の」+300 は PT にとってまだ利益ではありません — 実際にポジションを決済する必要があります(TP/BEa/手動)。実現後、その合計がしきい値に向けて加算され、PT が発動します(第15章)。
カウンター / Equity Guard に、この EA が開いていないポジションが表示される
典型的な原因は二つです:
- 「own only」モードが無効になっている。 既定では 「Monitor Own Only」 のセル(第5.5章)が有効で、各 EA インスタンスは自分が開いたポジションだけを管理します — 2つ目のインスタンスが同じシンボルで同じ Magic Number で動いている場合でもです。誰かがこれを無効にすると、Magic が重なるインスタンスは「互いに染み出し」ます:互いのポジションを自分のバスケットに数え、カウンターと Equity Guard は歪んだ値を表示します。「Monitor Own Only」を元に戻してください。
- Magic Number の範囲の重なり(ベースの差が 5 未満)。「own only」モードでも、Magic が共通なら実現済みの日次結果が共有されます(Daily P/L は Magic ごとに計算されます)ので、日次のガーディアンがもう一方のインスタンスの取引に反応することがあります。Global Magic Number を、ベースが少なくとも 5 離れるように(実務上は 10 刻みで)広げてください。重なりを検出すると EA は起動時のアラートを出します(第9章)。
優先順位。 複数の条件が重なった場合、EG/PT/Basket Max Loss よりも Daily P/L Limits が優先されます(第14章)。
21.9 Trading Hours
ボタンは有効なのに、一日中沈黙している
- マスターは有効なのに、ウィンドウが空。 すべての曜日が「no trading」になっていれば、EA は取引しません。入力内容を確認してください(第16章)。
- ブローカー時間 vs ローカル時間。 ローカル時間で考えて「08:00-22:00」と入力しても、EA はそれをブローカー時間として読みます。オフセットを補正してください。
- 書式の誤り。 ウィンドウのタイプミス(例:「08:0-22:00」)→ EA はそのセグメントをスキップし、Experts に警告
[TH] …: invalid range '…' - skippingを記録します;その日の残りの有効なウィンドウは動作します。その日にその(誤った)ウィンドウしかなかった場合 — その日全体が「no trading」になります。「HH:MM-HH:MM」の書式を確認してください(第16.2章)。
取引時間外にボタンを有効にしたのに何も起きない
これは意図された動作です — ボタンは「休眠中」です。 取引ウィンドウ外での手動の有効化は受け付けられます(ボタンはオンになります)が、直近の Trading Hours ウィンドウが開くまでシグナルは生成されません — 開いた時点でボタンは自ら動き出します。すぐに取引したいなら — ウィンドウを広げるか、Trading Hours を無効にしてください(第16章)。
ウィンドウの終了後もボタンが集め続ける
BEa がアーム済みなら — これは意図された動作です:「Exclude BEa mode from Trading Hours」が有効な場合、BEa モードのボタンはバスケットをゼロまで閉じるために動き続けます。他のボタンは沈黙します(第16章)。ウィンドウの終了は、開いているポジションを決済しません。
21.10 Cross-button Triggers
トリガーが発動しない
- モード [C] — マップに接続が表示されていますか?表示されていなければ、EA が設定を読み込んでいません。ターゲットが 1…7 であること(0 ではないこと)、そして自分自身を指していないこと(self-target は拒否されます — 第17章)を確認してください。
- イベントに対して間違ったスロット。 手動クリックは OnManualOn だけを発火し、OnAnyAutoOn は発火しません。スロットをイベントに合わせてください。
- ログ。 ロギングを有効にすればすべてのトリガー動作が記録されます;記録がない=トリガーは発動していません。
通常動作中に loop detection が作動する
トリガーのグラフに循環があります。 最も多いのは B1 → B3 → B1(直接)または B1 → B3 → B5 → B1(推移的)です。グラフを紙に描き、循環を見つけ、トリガーを一つ削除してください。loop detection のしきい値を上げないでください — それは問題を隠すことであって、修正ではありません(第17.7章)。
EA の起動時にトリガーが発動しない
これは意図された動作です。 「Initial Enabled」による起動はシステムイベントであり、伝播しません(第17.6章)。ターゲットのボタンを起動時からアクティブにしたいなら — そのボタン自身に「Initial Enabled」を与えるか、起動後に元のボタンを手動で有効にしてください(そのとき OnManualOn が発火します)。同じことが DPL のロールオーバーとハードストップにも当てはまります。
21.11 EA パネル
パネルがチャートの表示領域外にある
EA を削除して再度ドロップしてください — パネルは既定の位置に戻ります。(位置と隅は設定で設計します — 第8章。)
Target Blocks のセルがクリックに反応しない
- セクションが非表示。 そもそも Target Blocks セクションが見えているか確認してください;見えていなければ — セクション設定で無効になっています(第8章)。
- ライブ編集。 セルは SET モードで動作します → 値を入力 → OK/X。正しい SET ボタンをクリックしているか確認してください(第8章)。
info モードが何も表示しない
おそらく [i] ボタンがオフ(グレー)です。モード [B/G/S/T/C/H] はカテゴリを切り替えますが、[i] をオン(緑)にするまで拡張パネルは非表示のままです — 第8章。それでも解決しないなら — Inputs の Show info panel フィールド(パラメータ Global_ShowStatsPanel、サブセクション Info Panel)を確認してください:オフになっていると、拡張 [i] パネルはまったく表示されません。これは、メインのコントロールパネルを制御する Show interactive control panel(UI_ShowControlPanel)とは別のスイッチです。
アラートのポップアップが多すぎる — または通知が来ない
EA 1.08 以降、各ポップアップグループは OkurraGlobal パネルの Alerts セクション(または EA の Inputs ウィンドウの Alerts グループ)で個別にミュートできます:8 つのポップアップグループ+共通の push スイッチ(第5.5章)。診断の際に覚えておくべきことが二つあります:
- ミュートはポップアップ/push だけを消します — Experts ジャーナルへの記録は常に残ります。ポップアップが表示されなかったイベントを探しているなら、ログを確認してください。
- スマートフォンに push が届かない? 順に確認してください:Alerts セクションの Push Notifications スイッチ、次に MT5 の MetaQuotes ID(Tools → Options → Notifications)。ID が設定されていなければ、スイッチがオンでも push は送信されません。
ライセンスのアラートにはオフスイッチがありません — ライセンスが原因で EA が取引していない場合、ポップアップは必ず表示されます(セクション 21.3)。
21.12 パフォーマンス
EA を有効にすると MT5 が遅くなる
- 日数の多い T. History。 M1 で十数日〜数十日は、描画すべき矢印が数千本になります。履歴の日数を 1–3 に減らしてください(第19.6章)。
- 多数の EA インスタンスの並行稼働。 それぞれがリソースを消費します。不要なものを無効にするか、別々のターミナルに分散してください。
- 貧弱なハードウェア。 非常に古いマシンでは VPS を検討してください。
Experts のログがメッセージで溢れる
多くの場合、トリガーがアクティブな状態で「Log Every Trigger Action」が有効になっています。デバッグが終わったら、動作ごとのロギングを無効にしてください — ログは再び読みやすくなります(第17章)。
21.13 再起動後に EA が自分のポジションを「見ていない」(またはペンディングオーダーを切ってしまった)
ロボットの Magic Number を持つポジションが開いているのに、ロボットがそれらを管理していない
これはほぼ常に**孤児ポジション(orphan position)**です:「own only」の所有権レジストリに存在しません(第7.9章)。典型的なシナリオ:プラットフォームがオフの間にペンディングオーダーが約定した、ポジションが内蔵の MetaTrader VPS で開かれた(ロボットのファイルは移行しません — ローカルのレジストリはそれらを知りません)、まれにネッティング口座です。
手順:
- ジャーナル Experts を確認する — EA 1.26 では
[OwnReg] reconcile ... ORPHANのエントリを探してください(初期設定ではポップアップも表示されます)。エントリにはポジション番号と理由が記載されます。 - 管理を回復する:
Global_OwnOnly_Reconcile = Adoptを設定する(所有権の証明を伴う引き取り)か、一度限りのGlobal_OwnOnly_AdoptExisting = trueを使う(MN が一致するすべてのポジションを adopt します — 意識して使い、falseに戻してください)。 - 仮想 SL に注意: 孤児が管理下に戻るまで、Virtual SL が有効な場合そのポジションにはまったくストップがありません — 必要ならブローカー側で手動で保護してください。
- アラートが同じ MN ベース上の2つ目のインスタンスについて述べているなら — まずベースを整理し(間隔 ≥ 5)、その後で adopt してください。
再起動後にペンディングオーダーが消えた
これは意図的なポリシーであり、不具合ではありません。監視対象の pending order のリストはロボットのメモリ上に存在するため、再起動後、古くなったセットアップが発火する前にブローカー側の孤立した pending order が掃除されます(1.26 以降は通知付き)。掃除の対象をロボット自身のレジストリに登録された注文だけに限定したい場合(MN 範囲が重なる別インスタンスを保護する目的)は、Global_OwnReg_TrackPendingOrders と Global_StalePendings_OwnListOnly を有効にしてください(第7.9章)。
2.00 へ更新した後の「[Migration] … retired B6/B7 magics」アラート
症状: ファイルをリリース 2.00 に置き換えた後、EA が起動時にポップアップと[Migration]で始まるジャーナルの記録を表示し、ポジション数と2つの具体的な magic を示します。
原因: 口座に、7ボタン版リリースの旧ボタン B6/B7 のポジション(magic は base+5 と base+6)がまだ開いたまま残っています。リリース 2.00 はボタンが5つで、それらのポジションを管理しません。ブレイクイーブンもトレーリングも行わず、仮想 SL/TP の監視も行いません(Virtual SL が有効な場合、そのポジションは無防備です — ブローカー側にもストップは存在しません!)。また BEa のバスケット、日次リミット、Close All にも算入されません。このアラートは純粋に情報提供のためのもので、EA はそれらのポジションに対して何も行いません。
解決策: それらのポジションをターミナルで手動で決済してください(Trade タブ — メッセージにある magic で見分けられます)。あるいは、旧リリースのインストール環境にまだアクセスできる場合は、更新する前に旧 EA に予定どおりの決済まで導かせてください。最善なのは、この状況を完全に避けることです。ファイルを置き換える前に B6/B7 のポジションを閉じておくことです(第3.5章)。このアラートは、ポジションが存在する限り EA の起動ごとに繰り返されます。
レポートの Magic Number 列が空になっている
MN のない deal はロボット以外による deal です。手動で(ターミナル、スマートフォンから)開かれたり閉じられたりしたポジションは MN = 0 を持ちます。プラットフォームは建玉後に MN を付与することを許していません — どの EA も手動ポジションに番号を「書き込む」ことはできません。しかし、ロボットが開いたポジションの MN が空になっている場合は、Global_MagicBase が 0 に設定されていないか確認してください(その場合ボタン B1 は MN = 0 で取引します。1.26 以降、EA はこれについて警告します)。
次の章は FAQ です。さまざまな領域からの最も多い質問と短い回答を、どの章にもはっきり収まらないものも含めて扱います。質問と回答の形式で、簡潔かつ具体的にまとめます。