MT4チャートはどのように計算されるか:数式、入力、制限

MT4チャートは、計算の数式入力によってどのように計算されるかを示します。

MT4チャートはどのように計算されるか:数式、入力、制限

「MT4チャートの計算」とは通常どういう意味か

MT4では、「calculated(計算された)」という言葉は、次のように理解するのが最も適切です。つまり、プラットフォームが受信した市場データ(ティック、またはすでに形成されたバー)を、チャート上でプロットされる系列を構成する値へと変換する、ということです。これらのプロットされた系列が、その後、画面上で見えるもの(ローソク足、ライン、出来高、そして多くのオーバーレイ)を決めます。

チャートは単一の計算ではありません。通常は、次の3つの工程からなるパイプラインです:

  1. データ準備:プラットフォームが時間に沿って価格データを保存し、整理します。
  2. バー/時間足の構築:データを固定の時間間隔にグループ化します(例:5分足)。
  3. 系列の計算と表示:各視覚要素が何を表すか(例:各バーのOHLCフィールド)を計算し、値を座標へマッピングします。

入力データとチャート設定が変わるため、正確な算術はチャートの種類と時間足によって変わります。

基本メカニズム:バー構築とOHLCの定義

あなたが遭遇する「MT4チャート」の視覚要素の多くは、バーから作られています。バーは、選択した時間足における1つの時間間隔に対応します。各バーについて、チャートでは一般にOHLCの値を使います:

  • O(Open):その間隔で最初に約定した価格。
  • H(High):その間隔で観測された最大の約定価格。
  • L(Low):その間隔で観測された最小の約定価格。
  • C(Close):その間隔で最後に約定した価格。

これを簡単に表す方法は、バー間隔 ([t_k, t_{k+1})) と、その中に入るティック価格の集合を定義することです。(P_i)を、時刻が (t_k \le t_i < t_{k+1}) を満たすティックの約定価格列(または、プラットフォームのフィード定義に応じてミッド価格)とします。 すると:

  • (O_k = P_{first})
  • (H_k = \max(P_i))
  • (L_k = \min(P_i))
  • (C_k = P_{last})

このOHLCの構築が、多くの標準的なチャートモードにおける、表示されるローソク足の実体とヒゲの背後にある実質的な計算です。

出来高とティックのカウント(表示される場合)

チャートが出来高(またはティックベースの出来高)を表示する場合、よくある概念的な定義は次のとおりです:

  • バーkの出来高は、([t_k, t_{k+1})) の中にあるティック数、またはフィードがサイズを提供する場合は報告されたサイズの合計に等しい。

どの厳密な意味が適用されるかは、プラットフォームのデータフィードが何を提供しているか、そしてどの出来高オプションが選択されているかに依存します。

バー系列からラインチャートが導かれる方法

ラインチャートは、各バー系列の中で選ばれたソースから計算されることが多いです。たとえば:

  • 「クローズライン」の概念は、時間に対して (C_k) をプロットします。
  • 「典型価格」ライン(いくつかのチャート設定では)の概念は、((H_k + L_k + C_k)/3) のような平均を使います。

したがって一般的なパターンは、各バーのOHLC(と場合によっては出来高)の関数 (f) を選び、次をプロットすることです: (S_k = f(O_k,H_k,C_k,L_k,\text{Volume}_k))。

一般的な価格ラインでは、(f)は単に1つの構成要素(たとえばクローズ)を選択するだけです。別の派生系列では、(f)は値を平均化したり変換したりするかもしれませんが、それでもバーごとに動作します。

明示的な仮定による例(自己確認可能)

時間足が1分で、単一の1分間隔 ([t_0, t_0+1m)) に対するティック価格があると仮定します。その間隔内で、ティック列(時系列順)が次のとおりだとします:

  • (P_1 = 1.1000)
  • (P_2 = 1.1010)
  • (P_3 = 1.0995)
  • (P_4 = 1.1020)

すると、そのバーのOHLC値は次のとおりです:

  • (O = 1.1000)(最初のティック)
  • (H = 1.1020)(最大)
  • (L = 1.0995)(最小)
  • (C = 1.1020)(最後のティック)

もしあなたのチャートがクローズラインを使うなら、その1分のプロット点は (S=C=1.1020) です。

独立した検証の考え方:チャートが使用している基礎となるティックまたはバーのデータにアクセスできるなら(たとえば、プラットフォームのデータエクスポートや、タイムスタンプと価格を提供するAPIを通じて)、同じ間隔境界を使ってOHLCを再計算し、表示されるローソク足が一致するか確認できます。

材料的な制限と失敗パターン

上記のOHLC数式があっても、いくつかの理由でチャートの値は異なることがあります:

  1. 履歴が欠落している、または不完全 ある時間足に対してティックデータが存在しない場合、OHLCは利用可能な部分集合からしか計算できません。すると (O)、(H)、(L)、(C) が変わります。プラットフォームがすべてのティックを受信しなかったため、期待しているものと比べてローソク足が「ずれて」見えることがあります。

  2. 時間の整合性とタイムゾーン/時計の違い バーは固定の時間間隔から作られます。チャートのサーバー時刻が、あなたが想定しているタイムスタンプと異なる場合、ティックが別の分(または別の時間)にグループ化される可能性があります。各間隔に含まれるティック集合が変わるため、OHLCも変わります。

  3. 「価格」の定義はフィードとモードで異なる プラットフォームとデータモードによって、系列はビッド/アスク、最終約定、または構築されたミッド価格から導かれる場合があります。あなたの期待がある定義を前提としているのに、フィードが別の定義を供給していると、再計算結果は一致しません。

  4. コストと約定(実行)は過去のローソク足の中に表現されない ローソク足は、過去の時間間隔において観測または記録された価格を表します。ローソク足は本質的に、将来のコスト(約定時のスプレッド、スリッページ、コミッション)を考慮しません。したがって、表示されているチャート履歴をネット結果の予測として扱う推論は、別の概念を混ぜてしまいます。

  5. インジケーターのようなオーバーレイは追加パラメータに依存する もし「MT4 Charts」に移動平均、オシレーター、またはカスタムオーバーレイが含まれるなら、計算には追加のパラメータ(参照期間の長さ、平滑化手法、適用価格、そしてオーバーレイがバーのクローズのみを使うのか、イントラバーのデータを使うのか)が含まれます。最終的にプロットされる値は、OHLCの構築だけでなく、それらの設定によって決まります。

見えている計算を検証する方法

単一の提供者の挙動を前提にしない、実用的な検証方法は次のとおりです:

  1. チャートの種類(ローソク足かラインか)と時間足を特定する。
  2. チャートが使用している基礎となるバーのデータまたはティックをエクスポートする、または入手する。
  3. 間隔境界と仮定した価格定義を使って、1つのバーのOHLCを再計算する。
  4. 再計算した (O,H,L,C) と、(クローズラインのような)プロットされた系列を、チャートに表示されているものと比較する。

比較が一致しない場合、どの仮定が変わったかを確認します:間隔境界、入力価格の定義、あるいは履歴が不完全かどうか。

次に聞くべきこと

あなたが次を教えてくれれば:

  • チャートの種類(ローソク足、ライン、または特定のオーバーレイ)、
  • 時間足、
  • そして使用しているデータソース(ティックかバーか、さらにビッド/アスク/ラスト/ミッドのどれか)、 そのセットアップに対して、正確な関数 (S_k = f(\cdot)) を言い換え、最終的に再計算するために必要な具体的な入力を列挙できます。

DOCUMENT END

外国為替およびCFD取引には大きなリスクがあります。FoxiForexの情報は教育目的であり、個別の金融助言ではありません。スポンサー掲載は明確に表示されます。