章 02
● 公開

二つのモードのアーキテクチャ:設計と実行

Tool versions: O!kurra Capital Defense EA 2.00 · OkurraButton 2.00 · OkurraGlobal 2.00


目次

2.1 なぜ一つではなく二つのモードなのか 2.2 設計モード — インジケーター 2.3 実行モード — EA 2.4 橋渡し:.setファイル 2.5 Cross-sync:1つのチャート上のOkurraButton ↔ OkurraGlobal 2.6 設計状態:applied、draft、チャート単位の分離 2.7 なぜライブ接続が「ない」のか 2.8 完全なワークフローをステップごとに


2.1 なぜ一つではなく二つのモードなのか

MetaTrader上のほとんどのExpert Advisorは、1つのファイルで2つのことを行います。パラメーターを入力させ、そのまますぐにそれで取引するのです。入力してOKをクリックすれば、ロボットが動き出します。単純です — しかしこれには1つの重大な欠点があります:手探りで設計することになるという点です。Inputsウィンドウには数百の数値とスイッチの一覧が見えますが、それらがチャート上で何を意味するのか — MMDフィルターがどこに来るのか、そのしきい値でOKURオシレーターがどれほど密にシグナルを出すのか、SRゾーンがそもそも自分の思っている場所にあるのか — は、ロボットが動き始めて最初のポジションを建てる(あるいは建てない)まで分かりません。

O!kurraはこの2つの作業を、別々のツールが担う2つの独立した作業モードに分けています:

設計モードOkurraButtonOkurraGlobalの各インジケーター(およびコンパニオンインジケーター)を使った作業です。ここで戦略を組み立てます:ライブチャート上で、即座の視覚的フィードバックを得ながら、ロボットを動かすことなく、いかなるリスクも負わずに。しきい値を変える — するとすぐに、それが今どこに来るのかが見えます。MMDフィルターを有効にする — するとその雲がチャート上に見えます。何も取引されません。作業の結果は.setファイルに保存します。

実行モードOkurra EAを使った作業です。ここでは設計した戦略を実行します:完成した.setファイルをロボットに読み込ませると、ロボットはあなたが設計したとおりにポジションを建て、見守り、決済します。稼働中は、パネルから戦術的に操作します(buttonのオン/オフ、ゾーンの設置、BEaのアーム、日次リミットの変更)が、設定の戦略的な形は設計フェーズに由来します。

水平軸:設計フェーズ(チャート上のインジケーター、「リスクなし」のアイコン)→ .setファイル(橋)→ 実行フェーズ(EAが口座で取引する);下のキャプションで、これが設定の一方向の流れであり、唯一のリンクとしての1つの.setファイルであることを記す
図 2.1 — 水平軸:設計フェーズ(チャート上のインジケーター、「リスクなし」のアイコン)→ .setファイル(橋)→ 実行フェーズ(EAが口座で取引する);下のキャプション

この分割の利点は二重です。第一に — 見ながら設計できることです。ロボットが動き出す前に、それが何の上で動くことになるのかの全体像がチャート上にあります。第二に — 安全に設計できることです。インジケーターは何も取引しないので、ライブの市場で、1つもポジションを建てることなく、思う存分に設定を反復できます。設計が自分に合ったときに初めて、それをEAへ移します。

3つ目の、より微妙な利点もあります:設定が永続的で持ち運び可能な成果物になることです。.setファイルはロボットのメモリ上のはかない状態ではなく、名前を付け、アーカイブし、以前のバージョンと比較し、別の口座で読み込んだり、送ったりできるドキュメントです。これについてはセクション2.4と第7章全体で扱います。

**ツールの位置づけ。**設計モードは実験室です — 戦略の仮説が口座に触れる前に観察可能になる場所です。実行モードは、その仮説の帰結をデモ口座で観察することです。設定をリアル口座へ移す決定はあなたの側に残り、あなたの全責任のもとで下されます。


2.2 設計モード — インジケーター

設計モードでは、他のMT5インジケーターとまったく同じようにチャートへ載せる(Navigatorウィンドウからドラッグする)2つの設計パネルで作業します。

OkurraButton — 5つの戦略の設計ツールです。B1…B5の各buttonのパラメーターを1つずつ組み立てるパネルです:方向、OKURエンジン(Period、Sensitivity、Timeframe、Threshold)、トリガー、シグナルの有効性バンド、pending order、ポジション数の上限、ロット、SL/TP、Break Even、Trailing Stop、ローカルフィルター、そしてActivation & Exitsセクション。各パラメーターはInputsウィンドウに入ることなく、パネル上で直接編集します。完全な説明 — 第4章。

OkurraGlobal — EA全体で共有される設定の設計ツールです:グローバルフィルター(SAR、MMD、SR、OKUR Filter)、口座のガーディアン機構(Daily P/L Limits、Equity Guard、Profit Target)、トリガーを伴うBreak Even Auto、Stop on Opposite、Trading Hours、そしてパネル自体の設定。完全な説明 — 第5章。

コンパニオンインジケーター — パネルで設計された設定を読み取り、そのフィルターやオシレーターが何を見ているのかをチャート上に描画する8つの可視化インジケーターです:OkurraSAR、OkurraMMD、OkurraSR、OkurraOscillator(button単位)、およびそれらのグローバル版。OkurraGlobalは自身のグローバル版を自動でチャートへ読み込み(Auto_Load_Global_SAR / MMD / SR / OKURパラメーター、デフォルトで有効)、パネルがチャートから外されるときにそれらを削除できます。これにより、見ながら設計できます — SARのドット、MMDの雲、SRゾーン、OKURの軌跡が、ロボットが見ることになるのとまったく同じ場所に現れます。完全な説明 — 第6章。

重要な点:これらのインジケーターはいずれも何も取引しません。ポジションを建てず、注文を出さず、口座に触れません。これらは描画・設計のためのツールです — ずっとチャート上に置いておくことができ、自分の設定が価格の上に見えること以外には何も起こりません。セット全体が調査・教育のためのツールとして位置づけられているとおり、O!kurraでの作業はデモ口座で行います — 分析と学習のために。


2.3 実行モード — EA

実行モードではOkurra EA(正式名称:O!kurra Capital Defense)で作業します — エコシステムの中で実際に取引する唯一の要素です。ポジションを建て、pending orderを出し、SLを動かし、バスケットを決済し、口座のリミットを見張るのはこのEAです。

EAは自己完結型です。動作するのにチャート上のいかなるインジケーターの存在も必要としません — 設定全体を自身の内部(自身のInputs)に持ち、コントロールパネルも自分で描画します。Okurraのインジケーターが1つもないまっさらなチャートでEAを起動しても、完全に動作します。

EAは設定をどこから得るのでしょうか。次の順序で、2つのソースからです:

  1. 自身のInputsパラメーターから — EAの設定ウィンドウで手入力するか、(はるかに便利なのは)そのウィンドウのLoadボタンで**.setファイルから読み込む**方法です(EAが載っているチャートでのF7キー)。これが、設計した戦略がロボットに届く主要な経路です。
  2. 稼働中のパネルから — ライブで行う戦術的な調整:buttonのオン/オフ、ゾーンとTarget Linesの設置、BEaのアーム、Daily Profit / Loss / EG / PTリミットの変更。これらは「戦略的な」変更ではありません — すでに設計されたものに対する日々の操作です。

この2つの境界は意図的なもので、マニュアル全体を通じて繰り返されます:**戦略的なものは.setを通じて(設計フェーズから)EAに入り、戦術的なものはパネルからライブで調整する。**ほとんどのInputsパラメーターはEAの起動時に一度だけ読み込まれ、稼働中は変わりません — それらを変更するには、EAを停止し、新しい.setを読み込むかInputsを編集して、再度起動します。例外(パネルからライブで編集できるリミット)は、該当する章ではっきり示されています。

EAは「昔ながらのやり方」で、完全に単独でも設定できます。ロボットは設定全体を自身のInputsに持っているため、インジケーターを飛ばして、すべてをEAの設定ウィンドウで直接手動で設定することもできます — これは完全にサポートされた経路です。ただし実際には手間がかかることがあります:パラメーターが非常に多く(グローバル設定に加えて5つのbutton)、長いInputsリストの中で、チャート上のプレビューも視覚的な確認もないまま編集することになります。だからこそ推奨される経路はインジケーターで設計し、.setファイル経由でエクスポートすることです — より速く、より分かりやすく、設計しているものを即座にプレビューできます。手動設定は、それを必要とする人のためのオプションとして残っています。


2.4 橋渡し:.setファイル

設計モードと実行モードをつなぐ唯一のリンクは**.setファイル**です — MetaTrader 5の標準的な設定ファイル形式です。これは各行がParameterName=Valueという形式になっているプレーンテキストファイルです。EAはこれをネイティブに読み込むことができ(InputsウィンドウのLoadボタン)、Okurraのインジケーターは、EAが理解できる形式でこれを保存できます。

O!kurraのエコシステムには、2つの異なるパネルから保存される2種類の.setファイルがあります:

OkurraGlobalからの.set — 完全なセットアップ。 OkurraGlobalパネルでSave .setをクリックすると、完全なセットが保存されます。グローバルセクション(EAの共通設定、290フィールド)および5つすべてのbuttonのパラメータ(B1…B5、各90フィールド — 合計450フィールド)です。このファイルはEA全体の完成した、完全な設定です — 合計740キー。ワンアクションでロボットに読み込めば、グローバル設定とすべてのストラテジーのすべてが揃います。デフォルト名:Global_<timestamp>.set

OkurraButtonからの.set — buttonのみ。 OkurraButtonパネルでSave .setをクリックすると、グローバルセクションなしでbuttonB1…B5のパラメータのみが保存されます。このファイルは、すでに持っているグローバル設定を保持したまま、ストラテジーだけを移したいときに便利です。デフォルト名:Button_<timestamp>.set

保存後、パネル内のLoadダイアログから直接、ファイルを自分の読みやすい名前(例:XAUUSD_mean-rev_M1.set)にリネームできます — これにより無機質なタイムスタンプが、設定内容を表す説明的なラベルに変わります。

2つの.setファイルを並べて表示:左は「Global_<TS>.set」で2つのセクション(GLOBALブロック290フィールド+B1–B5ブロック450フィールド)、右は「Button_<TS>.set」で1つのブロック(B1–B5)、両方からEAのInputsウィンドウへの矢印に「F7 → Load」というキャプション。Global .set=完全な設定、Button .set=ストラテジーのみ、という点を強調
図 2.2 — 2つの.setファイルを並べて表示:左は「Global_<TS>.set」で2つのセクション(GLOBALブロック290フィールド+B1–B5ブロック450フィ

すべての.setファイルは、MetaTraderのサンドボックス内のMQL5/Files/OKU/sets/ディレクトリに保存されます。EAの視点では、これらは普通の設定ファイルです — ロボットはそれがOkurraのインジケーターで作られたことを知りませんし、気にもしません。単にF7で読み込める有効な.setとして見えるだけです。設定の保存、命名、移動の完全な説明 — 第7章。


2.5 Cross-sync:1つのチャート上のOkurraButton ↔ OkurraGlobal

Okurraのツール同士が「ライブで」通信するケースは1つ — そして1つだけ — あります:同じチャート上にある2つのデザイナーパネル間の同期です。これはEAとの接続ではなく(そのようなものは存在しません — セクション2.7)、設計フェーズにおけるインジケーター同士の便利な仕組みにすぎません。

動作は次のとおりです。チャート上に両方のパネル — OkurraButtonとOkurraGlobal — があり、そのどちらかで.setファイルを読み込む(Load .set)と、そのパネルは読み込み後、もう一方に短い通知を送ります:「このファイルを読み込んだので、そちらも同じようにしてほしい」。もう一方のパネルは同じ.setファイルを読み直し、自分の担当部分を読み込みます:

  • OkurraGlobal.setを読み込む → Globalがグローバルセクションを読み込み、OkurraButton(チャート上にあれば)が同じファイルからB1…B5のパラメータを読み込みます。
  • OkurraButton.setを読み込む → ButtonがB1…B5を読み込み、OkurraGlobal(チャート上にあれば)が同じファイルからグローバルセクションを読み込みます。
1つのチャート上の2つのパネル(OkurraButton、OkurraGlobal)と中央に.setファイル。片方のパネルでLoad .set → もう一方のパネルが同じファイルを読み直す(双方向、アンバー色)。下部の帯:同期するのは同じチャート上のパネルのみ、EAは別(EAへは:.setの保存+F7)
図 2.3 — 1つのチャート上の2つのパネル(OkurraButton、OkurraGlobal)と中央に.setファイル。片方のパネルでLoad .set → もう一方のパ

これにより、ファイルの読み込みは1回で十分です — 両方のパネルが同時に更新され、同じ設定を2回(OkurraButtonに別途、OkurraGlobalに別途)読み込む必要はありません。この仕組みはチャートに対してローカルです:同期するのは同じチャート上のパネルだけです。これは意図的であり、次のセクションで説明するチャート単位の分離とも一貫しています — 同じ銘柄の2つのチャートは別々の設計状態を持ち、互いに混ざりません。

Cross-syncはEAに触れません。 片方のパネルで.setを読み込んでも、同期されるのはもう一方のパネルだけで、稼働中のロボットは決して同期されません(そもそもEAとパネルは別々のチャートで動作します、セクション2.7)。変更をEAに届けるには、.setを保存し、F7でEAに読み込ませる必要があります。


2.6 設計状態:applied、draft、チャート単位の分離

パネルでの設計作業は、チャートの更新、時間足の変更、再コンパイルの間もどこかに残る必要があります。パネルは自分の状態をMQL5/Files/OKU/applied/ディレクトリ内の.iniファイルに保存します。ユーザーの視点ではこのディレクトリは見えません — 手動で開くことはありません — が、そこで何が起きているかを理解しておく価値はあります。パネルのいくつかの挙動の説明になるからです。

button単位(およびGlobal)の2種類の状態:

  • applied適用済みの状態、つまりパネルが最後に「確定」した内容です。各buttonについてはB<N>_applied.ini、グローバル設定についてはGlobal_applied.iniというファイルです。これは付属インジケーター(companion indicators)が読み取る基準点です(正しいフィルターを描画するため)。
  • draft編集中の内容、つまり入力したがまだ確定していない変更です(B<N>_draft.iniGlobal_draft.ini)。これにより、Applyをクリックする前に設定を失うことなく、まとめて編集できます。

履歴(history/)。 確定(Apply)のたびに、パネルは追加でMQL5/Files/OKU/history/にコピーを追記します(例:auto_B<N>_<timestamp>.iniauto_Global_<timestamp>.ini)。これは自動クリーンアップのないローリングバックアップです — ファイルは蓄積されていき、適当と思ったときに手動で削除します。これにより、.setとして保存していなかった場合でも、設計の以前の状態に戻ることができます。

チャート単位の分離。 これは同じ銘柄の複数のチャートで作業する場合に重要な点です。各チャートは独自の、分離された設計状態を持ちます — applied/draftファイルには一意のチャート識別子(ChartID)が付けられており、これは時間足の変更や再コンパイルをまたいでも安定しています。この分離がなければ、2つのXAUUSDチャートは同じ状態を共有し、チャート2の付属インジケーターがチャート1で設計されたbuttonに従ってしまいます。分離があることで — 各チャートが別々の設計工房になります。

付属インジケーターの可視化(applied/viz/)。 付属インジケーターが特定の設定を表示する場合、それらは主要な設計状態とは分離された専用のスペースapplied/viz/から読み取ります。これは特に実行モードで重要です:EA自身がそこにアクティブなストラテジーの設定を公開し、付属インジケーターを制御できます(現在観察しているbuttonのフィルターをチャート上に表示する) — パネルで設計中の内容と混ざることなく。この連携の詳細 — 第6章と第18章。

実務上の注意。 これらの.iniファイルはツールの内部状態であり、.setと同じものではありませんapplied//draft//history/内の.iniはパネルの作業用メモリであり、sets/内の.setはEA向けの、持ち運び可能でF7で読み込める設定アーティファクトです。ロボットに届くのは.setだけです — .iniファイルがEAに読まれることは決してありません。


2.7 なぜライブ接続が「ない」のか

設計と実行の分離は、経験から練り上げられた意図的な設計上の決定です。設定は一方向にのみ、そしてあなたの明示的な指示があったときにのみ流れます:パネル → .set → F7 → EA。パネルから稼働中のロボットへ変更を自動的に「押し込む」ことはありません。唯一のライブ通信は、パネル同士のcross-syncです(セクション2.5)。

この前提からは、重要な実務上のルールも導かれます:設計パネルとEAは別々のチャートで動作します(セクション2.8)。もし同一チャート上に置かれた場合、2つのツールが同じ空間に自分のパネルやオブジェクトを描画し、設計用の可視化とロボットの可視化が混ざってしまいます。そのため、OkurraButtonまたはOkurraGlobalが自分のチャート上にEAを検出すると、パネルは自ら停止します — 自分の内容と引き込んだ付属インジケーターを隠し、その代わりにこのチャートからインジケーターを外すよう求めるバナーを表示します(「design charts only, no EA」)。EAが取り除かれると、パネルは自動的に作業を再開します。これは明確な分業を守るシンプルな障壁です:一方のチャートで設計し、もう一方で実行する。

流れが一方向かつ手動である理由:

  • 取引中のロボットが、偶然にゲームの途中でルールを変えるべきではありません。 パネルでの編集のたびに稼働中のEAが即座に再設計されるとしたら、設計中の不注意なクリック1つで、まさに建玉を管理しているロボットの挙動が変わってしまう可能性があります。分離することで、変更がロボットに届くのは、あなたが意識的に.setを読み込んだときのみだけになります — それは行為であり、偶然ではありません。
  • 設計と実行はテンポが異なります。 設計は自由に反復し、数十のパラメータを変え、効果を見て、戻ったりします。実行は安定していることが求められます — ロボットは、あなたが意識的に別のものに差し替えるまで、1つの、確定した設定を実行します。.setファイルは、この2つのリズムの間の自然な「静止フレーム」です。
  • 文書としての設定。 唯一の橋が.setであるとき、起動するすべての設定には自分のファイルがあります — 名前が付けられ、アーカイブされ、比較可能です。メモリの中だけに存在して消えてしまう「はかない状態」はありません。これは多くのストラテジーのバリエーションを研究するときに報われる規律です。

ワークフローに対する帰結はシンプルで、一度覚えてしまう価値があります。**パネルでの編集は、動作中のEAを決して変更しません。変更をロボットに届けるには、.setを保存し、F7でEAに読み込みます。*もし「パネルでパラメータを変えたのに、なぜロボットは以前のまま動いているのか」*と思う自分に気づいたら、それはバグではなく、まさにこのアーキテクチャです。手順が1つ抜けています。.setの保存+F7(EAが載っているチャート上で)です。

Claude(okurra.comのチャットボット)とこのマニュアルは、このことを繰り返しお伝えします。新規ユーザーの間で最も多い誤解だからです。インジケーターで設計し、EAで実行し、.setファイルで移す——そしてその移送は常に意識的な動作です。


2.8 完全なワークフローをステップごとに

すべてをまとめて——アイデアから動作するロボットまでの完全な道のりを、各段階でどちらのモードにいるかを示しながら紹介します。

番号付きのステップバイステップの経路(1→8)、設計モードと実行モードを示す2色の背景。「Save .set」のステップと「F7 Load」のステップをモード間の移行として強調
図 2.4 — 番号付きのステップバイステップの経路(1→8)、設計モードと実行モードを示す2色の背景。「Save .set」のステップと「F7 Load」のステップをモード間

設計フェーズ(インジケーター):

  1. パネルをチャートに載せます。 対象銘柄のチャート(例:XAUUSD M1)にOkurraButtonとOkurraGlobalをドラッグします。OkurraGlobalでAuto_Load_Global_*が有効になっていれば、そのcompanion indicatorsは自動的に表示されます。

  2. グローバル設定を設計します(OkurraGlobal)。 グローバルフィルター、口座のガーディアン、Trading Hours、BEa——EA全体で共有されるものを設定します。グローバルフィルター(SAR、MMD、SR、OKUR)が価格上にどう並ぶかをチャートで観察します。

  3. ストラテジーを設計します(OkurraButton)。 ボタンB1…B5を設定します——方向、OKURエンジン、トリガー、ローカルフィルター、SL/TP。各ストラテジーのオシレーターとフィルターをチャートで観察します。

  4. 反復します。 パラメータを変え、チャート上の効果を見て、修正します。何も取引されません——完全な自由があります。これが本来の設計作業です。チャート上の絵が自分に合わないうちは、このフェーズにとどまります。

モード間の移行——.setという橋:

  1. .setを保存します。 設定が自分に合ったら、OkurraGlobalパネルでSave .setをクリックします——OKU/sets/に完全なファイル(Global + B1…B5)が作成されます。(ストラテジーだけが欲しい場合は、OkurraButtonでSave .setでもかまいません。)すぐに読みやすい名前に変更できます。

実行フェーズ(EA):

  1. EAを別のチャートに配置します(デザインパネルを置いているチャートではありません — セクション2.7)。EAの設定ウィンドウのCommonタブでAllow Algo Tradingにチェックを入れます。さらに、ライセンス認証のためにTools → Options → Expert Advisorshttps://okurra.comAllow WebRequest for listed URLのリストに追加します(これでライセンスキーの認証には十分です — 詳細は第3章)。

  2. .setを読み込みます(F7 → Load)。 EAの設定ウィンドウのInputsタブでLoadをクリックし、保存した.setファイルを指定します。設計した設定全体が一度の操作でロボットに読み込まれます。OKをクリックします。

  3. パネルから戦術的に操作します。 EAは読み込まれた設定で起動します。この瞬間から、ボタンの有効/無効の切り替え、ゾーンやTarget Linesの設置、BEaのarm、リミットの調整——すべてEAパネルからライブで行います。ロボットがあなたの設計をデモ口座上でどう実行するかを観察します。

別チャートについての注意。 設計パネルとEAは別々のチャートに置かなければなりません——これは好みではなく、アーキテクチャから導かれる要件です(セクション2.7)。EAが動作しているチャートにOkurraButtonやOkurraGlobalを載せると、パネルはロボットを検知して自ら停止し、インジケーターの削除を求めるバナー(“design charts only, no EA”)を表示します。典型的な配置は、設計パネルを載せた銘柄のチャート1つ(設計フェーズ)と、同じ銘柄でEAが動作しているチャート2つ目(実行フェーズ)です。その間の橋が.setファイルです。

テスト中の設定の反復。 デモでの観察後にストラテジーを変えたくなったら、パネル(設計フェーズ)に戻り、修正し、新しい.setを保存して、EAに読み込みます(F7)。古い.setはアーカイブとしてsets/に残ります——戻って比較できます。これがO!kurraでの自然な作業サイクルです。設計 → 保存 → 実行 → 観察 → 設計に戻る。ここでの主な道具は、.setファイルにおける忍耐と整理整頓です。


次の章では、パッケージ全体——EAとインジケーター——のインストール、および初回起動とokurra.comでのライセンスキー認証に進みます。