MT5チャートはどのように計算されるのか:数式、パラメータ、データ要件
直接の回答
MT5チャートは、生の価格データを、選択した時間足に対する一連のチャートポイント(通常はバー)へ変換することで「計算」されます。さらに、価格チャートだけでなくインジケーターを表示する場合は、オプションでインジケーターの数式(インジケーターの計算)を適用します。要点はシンプルです。チャートには(1)タイムライン(時間足)、(2)多数の価格更新を1本のバーの値にマッピングするルール、(3)インジケーター用の任意の変換ルールが必要です。
メカニズム:チャートで「計算」とは何を意味するのか
価格チャートは通常、ローソク足またはOHLCバーを表示します。各バーについて、MT5はそのバーの時間間隔内にある元データから4つの値を決定する必要があります。
- 始値(Open):その間隔で最初に利用可能な価格
- 高値(High):その間隔での最大価格
- 安値(Low):その間隔での最小価格
- 終値(Close):その間隔での最後に利用可能な価格
これらの値は、バーの開始時刻と終了時刻の間に入る時系列順の価格観測から計算されます。観測の具体的な集合は、データフィードと、そのフィードが価格を記録する方法(たとえば、ティックごとか、すでに集計されたバーか)によって変わります。時間足を変更すると(たとえば1分と5分)、バーの境界が変わるため、基となる市場が同じでもOHLCの集計が変わります。
重要なパラメータと前提
計算を説明したり再現したりするには、次のパラメータと前提が必要です。
- 時間足:バーの長さ(例:N秒/分)。これが時間の区切り(ビニング)を定義します。
- 価格タイプ:チャートがビッド、アスク、ラスト、または別の価格ストリームのどれを使うか。多くのシステムでは選択が可能で、選んだストリームによってOHLCの値が変わります。
- データの粒度:システムがティックを処理するのか、それとも事前に作られたバーを受け取るのか。
- セッション/タイムゾーンの整合:各バーの「開始」を決める時計とカットオフが何か。整合がずれると、価格がどのバーに入るかが変わります。
OHLCバー形成のシンプルで検証可能なモデルは次のとおりです。
- 時間を、長さ T の連続した区間に分割する。
- バー k について、その区間 k にある時刻 t のすべての価格観測 p(t) を考える。
- 計算する:
- Open = 区間内で最も早い t における p
- Close = 区間内で最も遅い t における p
- High = 区間内の p の最大値
- Low = 区間内の p の最小値
区間に観測が含まれない場合(データが疎なときに起こり得る)、システムはフォールバックのルールを使う必要があります(たとえば、直近の値を引き継ぐ、またはバーを不完全なままにする)。プロバイダーや過去データフィードによって、この挙動は異なる可能性があります。
あなたが検証できる証拠または例
「同じデータ、同じルール」という考え方で、OHLCの中核計算を検証できます。選んだ時間足 T について:
- 特定のバー区間を選ぶ(例:5分の1区間)。
- 同じ価格タイプと同じブローカー/プラットフォームのデータフィードを使って、その正確な時間窓の中で発生する価格観測を集める。
- 上記の最大/最小/最初/最後のルールでOHLCを計算する。
- 計算したOHLCを、そのバーに表示されているチャートのローソク足と比較する。
このテストが機能するのは、入力ストリームとバー定義が固定されていれば、OHLCの形成が決定論的だからです。不確実性は、あなたが本当に同じ入力ストリームとタイムスタンプを一致させられているかどうかにあります。たとえば、lastではなくbidを使うだけでもOHLCは変わります。
インジケーターを表示している場合、「計算」には、過去のバーのローリングウィンドウに対してインジケーターの数式を適用することも含まれます。その場合、次のいずれかを変えると結果が変わります:
- インジケーターのパラメータ(ウィンドウ長、平滑化手法)
- バーの値(すでに時間足と価格タイプに依存している)
- 含まれる過去の履歴(欠けたバーや、異なるフィード履歴)
制限とリスク(何がうまくいかない可能性があるか)
「計算された」チャート値を解釈する際に影響する失敗パターンはいくつかあります。
- データの利用可能性とギャップ:時間足の区間に観測が欠けている場合、OHLCが不完全になったり、フォールバックルールによって生成されたりします。これにより再現が難しくなります。
- プロバイダーとフィードの違い:2つのデータソースは、タイムスタンプ、ティック密度、価格が補間されるか切り捨てられるかで異なり得ます。過去の再構成が一致しない可能性があります。
- バーの整列とタイムゾーン:バーの境界は、時間がどのように定義されるかに依存します。1時間のずれだけで、どのティックが各バーに属するかが完全に変わります。
- コストと実行の現実:OHLCバーは、データストリーム上で観測された価格を反映します。あなたが取引する瞬間に実行可能な価格であるとは限りません。スリッページ、スプレッド、実行モデルは、チャートの数式とは別です。
- 過去の関係は将来の結果を検証しない:インジケーターの数式が過去のチャート挙動と一致していても、それが将来に同様の挙動を保証するわけではありません。
検証と次の質問
MT5チャートの計算を独立して検証する信頼できる方法は、まず決定論的な部分に注目することです。つまり、時間足、バーのOHLC集計ルール(各区間内のfirst/last/max/min)、そしてチャートが使っている正確な価格ストリームです。これらが一致したら、同じ過去のバー系列に対して公開されているインジケーターの数式を適用することで、インジケーターを検証できます。
よければ、「MT5 Charts」が指すチャート要素が何か教えてください(価格のローソク足のみなのか、特定の インジケーターなのか)。また、使用している時間足と価格タイプも教えてください。そうすれば、その特定の要素に必要な入力と、正確な計算手順を言い換えて説明できます。