無料でロボットをダウンロードする方法を見る
Facebook上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
スクリプトを気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
インディケータ

Symbol Spec Auditor - MetaTrader 5のためのインディケータ

Quoc Dat Quach
Quoc Dat Quach
Software engineer with 8 years in fintech and mobile, writing MQL4/MQL5 since 2017. I build Expert Advisors, indicators, trade and risk-management panels and utilities for MT4/MT5, and I trade forex and gold on MT5 myself.
| Japanese English Русский 中文 Español Deutsch Português 한국어 Français Italiano Türkçe
ビュー:
14
評価:
(1)
パブリッシュ済み:
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

「Symbol Spec Auditor」は、チャートの1つのパネルに、ポジションサイズや取引コストを決定する銘柄の契約仕様(ポイント価値、スプレッドコスト、証拠金、スワップ、約定ルール、取引時間)を表示します。 これらの値は、口座通貨建ての1.00ロットあたりの金額に換算され、ロットサイズのルールを黙って破っているブローカーの設定は警告として一覧表示されます。ワンクリックで、マーケットウォッチ上のすべての銘柄について、同じ監査結果をCSV形式でエクスポートできます。

symbol-spec-auditor-xauusd

XAUUSD H1:トラップのないシンボルの2列構成のパネル全体

問題点

あるブローカーで動作するコードでも、誰も確認しなかった仕様の細部が原因で、別のブローカーでは予期せぬ動作をすることがよくあります。銘柄仕様ウィンドウにはすべての情報が表示されますが、複数のタブに分散しており、単位も生のまま表示されるため、2つのブローカー間や2つの口座タイプ間の違いを見落としがちです。 想定された契約単位やポイント価値に基づいてポジションサイズを決定するエキスパートアドバイザーは、ジャーナルにエラーが表示されないまま、誤った金額のリスクを負うことになります。典型的な例:

  • 100オンスではなく1オンスの契約単位を持つ金、あるいは10,000単位のFX「ミニ」銘柄。通常の契約単位を前提としたロット計算式が、100単位または10倍の誤差を生じている。
  • 残高、ティック価値、証拠金がすべてセント単位のセント口座。
  • ストップレベルやフリーズレベルにより、価格に近いSL/TPや変更注文が拒否されるケース。
  • 日次注文:ブローカーが取引日の終了時に、未約定注文、場合によってはSL/TPを削除してしまう。
  • ティックサイズがポイントと異なるため、ティックグリッドから外れた価格は拒否される。
  • 四捨五入を強制する最小取引量や取引量のステップ、クローズオンリーモードの銘柄、あるいは異例のトリプルスワップ日。

このインジケーターは、これらの値を一か所に集約し、1.00ロットあたりの金額に換算して、再確認が必要な項目を一覧表示します。各警告には、1行で結果が示されます。これはあくまで確認ツールであり、注文を出したり、DLLを使用したり、ユーザーが要求したCSVエクスポート以外のファイルを書き込んだりすることはありません。 パネルとCSVは同じ計算式を使用しているため、1つのチャートに表示されている内容をマーケットウォッチ全体と比較することができます。

パネルに表示される内容

パネルにはチャートの銘柄情報が表示されます。1秒ごとに更新され、銘柄や時間枠を変更すると再構築されるため、チャート銘柄を切り替えることで、銘柄を次々と監査することができます。算出できない値は理由とともに「n/a」と表示され、警告をトリガーする値を持つ行は警告色で表示されます。行は以下のセクションにグループ化されています:

  • 識別情報:銘柄、説明、パス、計算モード、基準通貨、利益および証拠金通貨、口座通貨、口座レバレッジ、証拠金モード。
  • 価格および契約:桁数、ポイント、ティックサイズ、ティック価値(損益)、契約サイズ、および先物など満期のある銘柄の満期日。
  • 1.00ロットあたりの金額:ティック値から算出された1ポイントの価値(契約サイズ×ポイント×換算レートで照合済み)、価格変動1.00単位の価値、ポイントおよび金額単位での現在のスプレッド、チャート時間枠のATR(14)、およびそれに対するスプレッドの割合。
  • 出来高:最小、ステップ、最大、および上限。
  • 1.00 ロットあたりの証拠金:買いおよび売りの証拠金、当初証拠金率、想定元本、および口座レバレッジの横に表示される実効レバレッジ(想定元本を証拠金で割った値)。 値を算出できない場合、パネルにはその理由が表示されます。例:「相場データなし」、「証拠金率が0」、「口座レバレッジが0」、または換算率が欠落しているなど。
  • 1.00ロットあたりのスワップ:スワップモード、ロングおよびショートの値、口座通貨建ての1日あたりの金額(ポイント、通貨、金利モード)、およびトリプルスワップ日。日曜日から土曜日以外の日付は「未設定」と表示されます。
  • 約定:取引モード、約定モード、約定ポリシー(FOK、IOC、BOC、リターン)、許可される注文タイプ、有効期限モード、GTCモード(未約定注文およびSL/TPの有効期間)、およびポイントおよび価格単位でのストップレベルとフリーズレベル。
  • セッション:サーバー時間に基づく本日の取引セッション。

警告

パネル下部の「警告」ブロックには、注意が必要な設定が、最も深刻なものから順に一覧表示されます。 各警告には、その値と、取引コードに与える影響が記載されています。該当する警告がない場合、パネルには「トラップは検出されませんでした」と表示されます。チェックは一般的な基準値と比較して行われるため、警告は必ずしもブローカーのエラーを意味するわけではありません。これは、コードが設定値を推測するのではなく、仕様から読み取る必要があることを示しています。

  • 資産クラスにとって通常とは異なる契約サイズ:FX 100,000、金 100、銀 5,000。
  • ティック値またはティックサイズが 0 であるか、ティック値に基づくポイント値と契約サイズに基づくポイント値の差が 1% を超えている。
  • セント口座の通貨(USC、EUCなど)。
  • フル以外の取引モード:無効、ロングのみ、ショートのみ、またはクローズのみ。
  • 満期を迎える契約、およびその満期日。
  • 現在のビッド/アスクがない。
  • ティックサイズがポイントと異なる。
  • 0 より高いストップレベルまたはフリーズレベル。
  • デイリー注文(GTC モード)。「デイリー」は、取引日の終了時に SL/TP および指値注文を削除します。「ストップを除くデイリー」は、指値注文を削除し、SL/TP は保持します。
  • 最低取引量が 0.01 以上、または取引量のステップが 0.01 以上の場合(FX および CFD 銘柄のみ)。取引所取引商品は、多くの場合、ロット単位で取引されるため、フラグは立てられません。
  • チャート時間枠におけるATR(14)の指定パーセンテージを超えるスプレッド。
  • 水曜日以外の日にスワップが3倍になる場合(FXおよび貴金属のみ)。木曜日は、決済が1日早いUSD/CAD、USD/TRY、USD/RUB、USD/PHPについては対象となります。指数、仮想通貨、その他のCFDは金曜日にロールオーバーされることが多いため、これらの銘柄については対象日が表示されますが、フラグは立ちません。

symbol-spec-auditor-warnings

US500 M1(CFD):最低取引量0.14ロット、スプレッド28ポイント(M1 ATRの17.6%に相当)

CSVエクスポート

「CSVをエクスポート」ボタン、または起動オプションを使用すると、MQL5\Files\SymbolSpecAudit_<server>_<yyyymmdd_hhmm>.csv ファイルが作成され、マーケットウォッチのシンボルごとに1行が記録されます。 55 列には、GTC モードや契約の満期日を含む上記のすべての値に加え、「警告」列(「 | 」で区切られています)と、値が欠落している理由を記載した「備考」列が含まれます。2 つのブローカーまたは口座タイプからの 2 つのエクスポートデータを、行ごとに比較することができます。

このファイルは、BOM 付き UTF-8 形式で、カンマ区切りとなっており、カンマや引用符を含むフィールドには標準的な引用符が使用されています。 数値の小数点区切りにはドットが使用され、千の位区切り記号はありません。リスト区切り文字がセミコロンであるロケールでは、スプレッドシートのインポートダイアログからファイルを開いてください。ファイルのフルパスは「Experts」タブに表示されます。

パネルの操作

  • チャートの任意の角、1列または2列(デフォルトは自動)、および警告のみを表示するコンパクトモード。
  • シンボルや時間枠の変更後も折りたたまれた状態が維持される折りたたみボタン。
  • 色はデフォルトでチャートに追従します。明るいチャートの背景には明るいパネルが、暗い背景には暗いパネルが表示されます。各色は手動で設定することも可能です。
  • レイアウトは実際のフォントメトリクスに基づいて計算されるため、他のフォントとの位置合わせが保たれ、高DPI画面でも正確に表示されます。長い警告文はパネルの幅に合わせて改行されます。
  • テキストや位置が変更されたラベルのみが更新されるため、パネルがちらつくことはありません。
  • 起動時、以前のインスタンス(保存されたテンプレートなど)によってチャート上に残されたパネルオブジェクトは削除されます。

symbol-spec-auditor-warnings-only

EURUSD M1、警告のみモード:6ポイントのスプレッドはM1 ATRの35.9%に相当します

入力

入力 デフォルト 説明
パネルの角 左上 パネルが固定されるチャートの角。
X オフセット(画面スケーリング 100% 時のピクセル数) 10 その隅からの水平方向の距離。高DPI画面では自動的にスケーリングされます。
Yオフセット(画面スケーリング100%時のピクセル数) 30 角からの垂直距離。高DPI画面では自動的にスケーリングされます。
レイアウト 自動 「自動」では、パネルがチャートの高さに収まる場合は1列、収まらない場合は2列になります。「1列」および「2列」はレイアウトを強制します。
フォント名 Consolas 等幅フォントを使用すると列が整然と表示されます。インストール済みのフォントであればどれでも使用可能です。
フォントサイズ 9 4 から 24 まで。それ以外の値は、この範囲に制限されます。
警告のみ表示 false タイトル、警告、および「CSVをエクスポート」ボタンを含むコンパクトなパネル。
テキスト(なし = 自動) なし テキストの色。「なし」の場合、チャートの背景色から色が選択されます。
見出し(なし = 自動) なし セクション見出しの色。
警告(なし = 自動) なし 警告およびその背後の行の色。
OK / トラップなし (なし = 自動) なし 「トラップは検出されませんでした」という行の色。
背景 (なし = 自動) なし パネルの背景。キーのラベル、枠線、ボタンは、テキスト色と背景色をブレンドして表示されます。
スプレッドが ATR(14) の % を超えた場合に警告を表示 (0 = オフ) 15.0 スプレッド警告のしきい値。0 に設定すると無効になります。
起動時にすべてのマーケットウォッチ銘柄をCSVにエクスポートする false インジケーターの起動時に一度だけCSVを書き出し、銘柄や時間枠の変更時には再度書き出しを行わない。

使用方法

  1. 任意のチャートにこのインジケーターを適用してください。プロットは描画されず、エキスパートアドバイザーと並行して実行可能です。
  2. まず「警告」の項目をお読みください。その上の行には、各警告の根拠となる数値が記載されています。
  3. 他の銘柄を監査するにはチャートの銘柄を切り替えるか、「CSVをエクスポート」を押してマーケットウォッチの全銘柄を一度に監査してください。
  4. 「-」ボタンを使用すると、パネルをタイトルバーまで折りたたむことができます。

一般的な使用例としては、エキスパートアドバイザーを新しいブローカーや口座タイプに移行する前にエクスポートを実行し、契約サイズ、ティック値、ボリュームステップ、ストップレベル、GTCモード、スワップ日数を、そのエキスパートアドバイザーが開発された口座と比較することです。 これらの列の相違点は、目に見えるエラーがないにもかかわらず、1取引あたりのリスクや戦略のコストを最も頻繁に変える要因となります。

注意事項と制限事項

  • 証拠金およびポイント価値の照合には数式が使用されます。MetaTrader 5 では、インジケーターが OrderCalcMargin または OrderCalcProfit を呼び出すことは許可されていません(エラー 4014 が発生します)。 そのため、このインジケーターは、MQL5ドキュメントで各計算モードごとに示されている計算式を適用します。具体的には、ブローカーが初期証拠金を設定している場合はその固定値、SymbolInfoMarginRateから得られる初期証拠金率、そして買い注文の場合はアスク価格、売り注文の場合はビッド価格での口座通貨への換算です。 FX、レバレッジなしのFX、CFD、およびレバレッジ付きCFDの銘柄において、結果は、同じ価格帯でエキスパートアドバイザーから呼び出されたOrderCalcMarginと、セント単位の丸め誤差の範囲内で一致しました。
  • 債券および担保銘柄、初期証拠金のない先物、ならびに口座通貨と異なる通貨で取引されるCFD指数銘柄については、証拠金は「n/a」と表示されます。取引量に応じた証拠金の段階設定や、取引サーバーでのみ適用されるルールは反映されていません。
  • 先物および債券については、ブローカーのティック値が仕様となっているため、ポイント値の照合結果は「n/a」と表示されます。
  • 金利モードのスワップ金額は、想定元本と360日年を基に算出されます。リオープンモードには固定額が存在しないため、「n/a」と表示されます。
  • 通貨換算には、リアルタイムの相場があるマーケットウォッチの銘柄のみが使用されます(直接、または米ドル経由)。該当する銘柄がない場合、影響を受ける金額には「n/a」と表示されるか、名目金額が換算されずに表示されます。これらを埋めるには、マーケットウォッチに換算ペアを追加してください。
  • MetaTrader 5では、利益通貨が外国通貨である銘柄のティック値が読み取られると、マーケットウォッチに変換シンボルが追加されます。 したがって、このインジケーターは、マーケットウォッチに表示されているシンボルがすでに利益通貨と口座通貨を結びつけている場合にのみティック値を読み取り、マーケットウォッチ外のシンボルを列挙することは決してありません。そうでない場合、ティック値は欠落しているペアについて「n/a」と表示されます(例:「マーケットウォッチにKRW/USDのシンボルが表示されていません」)。 テストでは、シンボルが追加されることは一度もありませんでした。ただし、ターミナルは独自の換算シンボルを選択するため、ブローカーの換算シンボル名が「マーケットウォッチ」内のものとは異なる場合、シンボルが追加される可能性があります。
  • セント口座は口座通貨コード(USC、EUC、GBCなど)によって識別され、主要通貨の1/100として換算されます(例:1 USD = 100 USC)。この処理は、実際のセント口座ではなく、シミュレートされた口座通貨を用いて検証されました。 通貨をUSDとして報告するセント口座は、このチェックでは検出されません。
  • 通常の契約サイズおよびトリプル・スワップ日は参考値です。ブローカーは、他のサイズ(マイクロまたはセント銘柄)や別のロールオーバー日を正当に使用する場合があります。この警告は、コードが仕様を前提とせず、仕様書を確認するようにするためのものです。
  • ATRは、チャート時間枠の最終クローズバーのATR(14)です。CSV内の他の銘柄については、そのバー履歴から計算されます。起動直後は、その履歴がまだ読み込み中の場合があります。その場合は、「Notes」列にその旨が表示され、2回目のエクスポートで情報が埋まります。
  • パネルの更新は、ティックごとにではなく、1秒間隔のタイマーによって行われます。折りたたみ状態は、SymbolSpecAuditor_<チャートID> という名の一時的なターミナルグローバル変数に保持され、インジケーターが削除されたりチャートが閉じられたりすると削除されます。チャートごとに1インスタンスを使用してください。
  • スクリーンショットは、デモ口座および192 DPIの画面(フォントサイズ4、警告のみモードでは6)で撮影されており、パネルが750ピクセルの画像に収まるように調整されています。デフォルトのサイズ9では、より大きなパネルが表示されます。

MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/77806

Spread Profile by Hour Spread Profile by Hour

各サーバー時間ごとの実際のスプレッドを、ブローカー独自のティック履歴から測定したデータとして表示します。時間ごとの中央値と90パーセンタイル、ストップ注文に対する割合およびロットあたりのコスト(オプション)、CSV形式でのエクスポートが可能です。

iFVG Indicator With Signals iFVG Indicator With Signals

iFVGインジケーター(シグナル付き)

Adaptive Moving Average (AMA) Adaptive Moving Average (AMA)

適応移動平均線は、ノイズの影響を受けにくい移動平均線を作るときに使われ、トレンドを検知する際にラグが最小に抑えられるという特徴を持ちます。

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。