MT5 Administrator資格範囲その10 - Trade Serverの設定(後編)

MT5 Administrator資格範囲その10 - Trade Serverの設定(後編)

前回の記事ではTrade Serverの個別設定の前編として、「デモ」タブと「スワップ付与前にレポート生成」タブについて見ていきました。

今回はその続編として、Trade Serverの残り4つのタブを確認します。4つのうち3つのタブは構造がよく似ているので、まとめて理解しておくのが効率的です。*1

*1このシリーズでは、「Server」はソフトウェアを構成する各要素の呼称を表す際に、「サーバ」はハードウェアとしてのサーバを指す際に用いています。

「口座一覧」タブ、「注文一覧」タブ、「取引一覧」タブ

Trade Serverの個別設定のうち、「口座一覧」タブ・「注文一覧」タブ・「取引一覧」タブの3つは、どれもServer上でイベントが発生した際に、どのような番号が振られるかを制御するパートです。

設定方法や注意点がよく似ているのでまとめて確認していきます。

3つの個別設定の概要

顧客がMetaTraderの取引口座を作成すると、アカウントID(ログインID)が発行されます。「口座一覧」タブでは、そのアカウントIDの範囲を管理することが可能です。

口座一覧タブ 口座一覧タブ
番号 項目 説明
1 IDの範囲 取引口座の開設時に生成されるアカウントIDの範囲を確認できます。
2 範囲変更の操作 「1」に表示された範囲を変更したい際に利用します。
範囲の追加は「追加」ボタン、既存範囲の編集は「編集」ボタン、既存範囲の削除は「削除」ボタンで行います。

例えば上記画像の「1」の設定の場合、アカウントを作ると「1,000」「1,001」「1,002」と、1,000から順にIDが割り振られます。アカウントIDが「1,000,000」に到達した後は、「3,000,000」「3,000,001」「3,000,002」というように連番で付与されます。

「注文一覧」タブでは、以下のように取引注文時に発行される、注文(Order)の番号を管理できます。

注文一覧タブ 注文一覧タブ
番号 項目 説明
1 番号の範囲 このTrade Serverで実行される注文(Order)の番号範囲を確認できます。
2 範囲変更の操作 「1」に表示された範囲を変更したい際に利用します。

「取引一覧」タブでは、取引成立時に割り当てられる約定(Deal)の番号を管理します。設定画面での操作方法は以下の通りで、「口座一覧」タブや「注文一覧」タブと同じです。

取引一覧タブ 取引一覧タブ
番号 項目 説明
1 番号の範囲 このTrade Serverで実行される約定(Deal)の番号範囲を確認できます。
2 範囲変更の操作 「1」に表示された範囲を変更したい際に利用します。

なぜ範囲の指定が必要か

これら3つの個別設定で範囲の指定を行うのは、Trade Serverの切り替え(フェイルオーバー)などが発生した際に、番号の重複を防ぐためです。

例えば、あるTrade Serverが障害でダウンし、自動でBackup Serverに切り替わる構成だったとします。

MetaTrader 5では、アカウントID・注文番号・約定番号が各Trade Serverごとに連番で発行される仕組みになっています。そのため、メインとバックアップの両方に同じ番号範囲を設定していた場合、Backup Server上で新たに作成された番号が既存のデータと重複する恐れがあります。

これを防ぐために、切り替え等が発生しうるServer間では、番号の範囲を明確に分けておくことが必須となります。

範囲設定時のポイント、注意点

実際に範囲を設定する際は、単に重複を避けるだけでなく、運用や管理のしやすさなども含めて検討する必要があります。以下に、実務上意識したいポイントをいくつか挙げておきます。

番号を分けると識別しやすくなるケースも

先述の通り、完全に独立したTrade Server同士であれば、番号範囲が重複していてもシステム上は問題ありません。ただし、運用上の効率を考慮して、あえて番号を分けるという選択肢もあります。

例えば、口座タイプAと口座タイプBにそれぞれ専用のTrade Serverを用意している場合、構成上は分離されているため、アカウントIDの重複自体は許容されます。

しかし、アカウントIDが重複していると、取引履歴の確認時にどのIDかが判別しづらくなる場面があります。例えば「1234」というIDが両Serverに存在していた場合、照合の手間やミスのリスクが増える可能性があります。

注文と約定は同じ範囲にしておくと便利

また、注文番号と約定番号は同じ範囲で管理したほうが運用上、楽なケースが多いと考えられます。これらは同じようなペースで生成されることもあり、同じ範囲で管理しておくと管理画面でのトレースやモニタリングの際に対応関係が把握しやすくなるというメリットがあるわけです。

番号範囲には余裕をもたせる

1つの口座で数百、数千以上の注文が発生することは珍しくありません。特に、複数のEAを稼働させる場合や、スキャルピングのように取引頻度の高いスタイルでは、通常よりも注文番号や約定番号を速く消費しやすくなります。

このようなケースも考慮した範囲設計が推奨されます。

範囲変更のタイミングには注意

番号範囲の変更は後から可能ですが、以下の点に注意が必要です。

  • ・ 変更は取引時間外に行う必要がある
  • ・ 変更後はServerの再起動が必要

最近では、暗号資産通貨ペアを扱うFX業者も増えており、週末を含めて常時取引可能なケースが増えました。そのため、変更のタイミングには従来以上の配慮が求められるようになってきています。

「フェイルオーバー」タブ

「フェイルオーバー」タブでは、現在のServerに障害が発生した際に、自動的にBackup Serverに切り替えるための条件やタイミングを指定できます。

この切り替えが必要かどうかは、witness Server(モニタリングServer)の状況に基づいて判断されます。モニタリングServerとして監視を行うのは、Backup Serverと、「モニタリングモード」が有効な状態のAccess Serverです。Backup Serverは、Trade Serverの可用性をリアルタイムで監視し、Access Serverからの接続も確認しています。

実際の設定項目は、以下の画像の通りです。

Demoタブ Demoタブ
番号 項目 説明
1 切替モード Backup Serverへの切り替え条件を3つのモードから選択します(詳細は後述)。
2 スイッチタイムアウト モニタリングServerからのアクセスが一定時間失われた場合に、Backup Serverへの切り替えを開始するまでの待機時間を指定します。
この時間経過後、他のプラットフォームコンポーネントはBackup Serverに再接続を試みます。

切替モードの選択肢について

「切替モード」の項目では、Backup Serverへの切り替え条件を以下の3つから選べます。

切替モード 説明
無効 自動切り替えを無効にします。
モニタリングサーバの過半数がサーバにアクセスできない場合 アクセスできないモニタリングServerが、アクセス可能なモニタリングServerよりも1つ以上多い場合に切り替えを行います。
モニタリングサーバの全てがサーバにアクセスできない場合 全てのモニタリングServerからアクセスできなくなった場合にのみ切り替えを行います。

なお、この3つの中では、基本的には「モニタリングサーバの過半数がサーバにアクセスできない場合」が無難です。全てのモニタリングServerがダウンするのを待つよりも、接続できないモニタリングServerが一定数超えたタイミングで切り替えるほうがサービスの品質を保ちやすくなります。

まとめ

今回はTrade Server設定の後編として、残りのタブの設定を確認しました。大半がアカウントや注文等のID割り振りに関する設定で、一見地味な設定項目ではありますが、番号範囲の重複がMetaTraderのServer構成全体に影響を及ぼす可能性があり、口座作成や取引には欠かせない機能でした。

次回は、その取引を保存していくHistory Serverの設定を見ていきます。