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

SpreadAudit - M1の取引履歴に基づくブローカーの実質スプレッド - MetaTrader 5のためのスクリプト

ビュー:
18
評価:
(3)
パブリッシュ済み:
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

バックテストの結果を喜ぶ前に、実際に1取引あたりどれだけのコストがかかっているかを確認しておくと良いでしょう。 ターミナルは履歴の各バーごとにスプレッドを記録していますが、この情報は通常見過ごされがちです。バックテスターでは「現在の」スプレッドが表示され、判断は美しいエクイティ曲線に基づいて行われてしまうからです。

スクリプトの動作

SpreadAuditスクリプトは、指定された日数のM1履歴をスキャンし、各バーのスプレッドフィールドを取得して、以下の値を算出します:

  • スプレッドの中央値、90パーセンタイル、99パーセンタイル(価格単位およびポイント単位で);
  • 各銘柄を比較できるよう、ATR(H1)に対する割合で表した同じ値;
  • 1日ごとの各時間帯における平均スプレッドおよび最大スプレッド――これらをMQL5\Filesフォルダ内のCSVファイルとして出力します。

入力パラメータ

  • InpDays- 分析対象とするM1の履歴の日数(1~3650、デフォルトは60);
  • InpAtrPeriod- 正規化のためのH1チャートにおけるATRの期間(デフォルトは24);
  • InpSaveCSV- 1時間ごとのデータをCSVに保存するかどうか。

出力例

=== SpreadAudit: XAUUSD | 実際のレンジ 2026.05.30 ... 2026.07.29 | 86397バー (スプレッドなし:0バー) === 中央値のバースプレッド: 0.37 (37.0 pts) p90のバースプレッド: 0.42 (42.0 pts) p99バー・スプレッド: 0.45 (45.0 pts) H1 ATR(24) = 6.41 -> 中央値スプレッド = 0.058 ATR、p90 = 0.066 ATR

SpreadAudit:XAUUSDの1時間足スプレッド

添付の図は、XAUUSDの60日間の1時間足チャートです。平均スプレッドは0.40付近で推移していますが、日中のロールオーバーの時間帯には最大で1.80近くまで跳ね上がり、つまり通常時の4倍以上になります。 まさにこの時間帯に適用される戦略では、口座全体の平均値とは全く異なる価格で決済されることになる。

実戦において、なぜこれが重要なのか

簡単な例を挙げましょう。仮に、M5のチャートにおけるあなたのパターンが、1取引あたり平均0.28の価格変動をもたらすとします。これは統計的に有意であり、実効性のある効果です。 もしその銘柄のスプレッドの中央値が0.37であれば、コストを考慮しない過去のデータ上では見事に機能しているように見えても、実取引口座ではシステムは赤字となります。 「効果がない」場合と「効果はあるが、コストの方が大きい」場合との違いは根本的なものです。前者の場合はそのアイデアを捨てますが、後者の場合は、効果がスプレッドを上回るような時間枠や取引の構造を探します。

1時間足チャートを見ると、どの時間帯にスプレッドが拡大するかがわかります。 通常、これはロールオーバー時やセッション開始直後の数分間です。もしあなたの戦略がまさにその時間帯にエントリーするものであるなら、スプレッドによるフィルターを設定する価値があります。その際、スプレッドはポイント単位ではなくATRの割合で設定するのが望ましいです。絶対的な閾値は、ボラティリティのモードが変化すると通用しなくなるからです。

重要な注意点

MetaTraderは、各バーにおいてそのバーの「最小」スプレッドを記録します。つまり、算出された数値はすべて、実際に支払うスプレッドの楽観的な下限値に過ぎません。 理屈は単純です。もしコストの下限値ですら戦略を破綻させてしまうなら、これ以上議論する余地はありません。

お使いのブローカーのM1ヒストリーにおいて「spread」欄が空欄の場合(一部ではゼロが表示されることもあります)、スクリプトはそれを正直に報告し、空欄のデータに基づいて統計を算出することはありません。

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/75450

Clock (Spread) Clock (Spread)

このインジケーターの機能 「Clock (Spread).mq5」は、MetaTrader 5用のチャートインジケーターであり、チャートの隅に以下の情報を表示する小さなテキストラベルを表示します: 現在のローソク足が引けるまでのカウントダウンタイマー(時間枠に応じてHH:MM:SSまたはMM:SSの形式で表示) 現在のスプレッド(アスク - ビッド、ポイント単位)を、タイマーの横の括弧内に表示します。 変更履歴: バージョン 2.20: - スプレッドの色が、方向に応じて動的に変化するようになりました(緑=拡大、赤=縮小) - スプレッドの色を設定可能な入力項目を追加しました

Inside Bar Inside Bar

インサイドバーパターンを自動的に検出し、投影矩形を描画し、リアルタイムのアラートを受け取ることができます。これらすべてを1つの強力なインジケーターで実現します。 スイングトレードおよびフルマージントレーダー向け

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

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

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

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