MT4の平均足の設定とFX自動売買で価格を照合する方法

MT4で平均足を表示するには、ナビゲーターなどから「Heiken Ashi」をチャートへ追加します。ただし、平均足の実体が示す始値・終値は、元の価格から計算した値です。そこに線が見えるからといって、その価格で注文できるわけではありません。
FX自動売買の条件へ使うなら、まず表示を整え、次に平均足の計算値と元のローソク足を比べ、最後に確定した足をEAが同じように読んでいるか確認しましょう。色の切り替わり、判定する時刻、発注時のBid・Askを分けると、チャートとEAの違いを追いやすくなります。
この記事ではデスクトップ版MT4を対象に、設定手順、合成値の数値例、注文を出す前の照合方法を説明します。掲載する価格と時刻は仕組みを理解するための仮例で、実際の相場や検証成績ではありません。
- 標準のHeiken Ashiを表示し、元の足との重なりを調整する方法
- 平均足の始値・終値を計算し、実際の四本値と区別する具体例
- 現在足と確定足を分け、同じ時刻の数値をEAと照合する手順
- Bid・Askとテスターの条件から価格のずれを切り分ける視点
MT4の平均足を設定してFX自動売買の価格を読む

平均足は、通常のローソク足へ重ねて使える指標です。表示を見やすくする作業と、何の価格を表しているか確かめる作業を一緒に進めます。最初は銘柄と時間足を一つに絞り、同じ条件の通常チャートも残しておくと比較しやすくなります。
Heiken Ashiをチャートへ追加する
MT4を開いたら、対象銘柄のチャートを選び、左側のナビゲーターで「インディケータ」を開きます。「Heiken Ashi」を探し、チャートへドラッグするかダブルクリックしてください。メニューの「挿入」→「インディケータ」→「カスタム」から選ぶ経路もあります。表示名や分類の位置は配布される端末によって異なるため、名前を確認して選びます。
設定画面を開いたら、先に対象が平均足であることを確かめます。「Heiken Ashi」と「Heiken Ashi Smoothed」などは、名前が似ていても同じ計算とは限りません。本稿は通常の平均足を扱い、追加の平滑化を行う派生版の期間設定や売買手法は扱いません。ダウンロードした別の指標で説明を代用しないようにしましょう。
「OK」で追加したあと、チャートの銘柄と時間足を読み直します。たとえばUSDJPYの15分足を確認したいなら、そのチャートへ追加されたかを見ます。平均足の足がローソク足と重なって現れれば、表示自体はできています。この段階で自動売買を有効にする必要はありません。
操作経路や設定タブは、OANDA証券のMT4平均足の設定説明でも確認できます。見つからない場合は、まず別のMT4を開いていないかと、現在の端末に対象ファイルがあるかを確認します。いきなり不明な配布サイトからファイルを足すより、利用中の端末の構成を確かめることが先です。
色と重なりを調整して比較する

平均足の設定では、陽線・陰線の実体やヒゲの色などを変更できます。白い背景に白い足が重なると、値は存在していても見えにくくなります。背景に対して区別できる色を選び、陽線と陰線をどちらの色で表示するかを確認してください。「青だから買い」のように色名だけで意味を決めず、設定した対応関係を見ます。
元のローソク足が邪魔になるときは、比較用の通常チャートを別に残したうえで、平均足側をラインチャートへ切り替える方法があります。そのラインの色を「None」にすると、線を見せず平均足を確認できます。前面表示の設定によって重なり方も変わるため、必要ならチャートを前面にする項目を見直します。
こうした表示の整理は、MetaQuotesが公開するMT4用Heiken Ashiの説明にも示されています。背景色に合わせて元の線を目立たなくする考え方です。色を消したりライン表示へ変えたりしても、元の価格データそのものを平均足の値へ置き換える操作にはなりません。
最初の照合では、平均足だけにした画面と、通常のローソク足を残した画面を並べると分かりやすくなります。両方の銘柄名、時間足、表示している日時の範囲をそろえます。比較が終わったあとに好みの表示へ戻せるよう、見え方を変更する前の条件も把握しておきましょう。
表示選択で対象時間足が無効になっていると、時間足を切り替えた際に平均足が消えることがあります。また、データウィンドウへの表示を無効にしていると数値の照合がしにくくなります。表示されない問題は、追加の成否、色、重なり、表示対象の順に確認すると原因を絞れます。
四本値から合成される仕組み
通常のローソク足は、その期間の始値・高値・安値・終値という四本値を表します。平均足では同じ期間の四本値と、一つ前の平均足を使って値を計算します。「終値」という名前でも、通常の足の最後の価格と、平均足の終値は別の数値です。ここがFX自動売買へ使う前に整理したい点です。
| 平均足の値 | 一般的な計算方法 |
|---|---|
| 始値 | 一つ前の平均足の始値と終値を足して2で割る |
| 終値 | 同じ期間の通常の始値・高値・安値・終値を足して4で割る |
| 高値 | 同じ期間の通常の高値、平均足の始値、平均足の終値の最大値 |
| 安値 | 同じ期間の通常の安値、平均足の始値、平均足の終値の最小値 |

一般的な式はMetaQuotesの平均足の計算説明で確認できます。このリンク先はMT5用指標の説明ですが、ここでは平均足の計算概念を参照しています。MT4へファイルや呼び出しコードを流用する案内ではありません。実際に使うMT4の指標が派生版なら、そちらの仕様を優先して確認します。
仮に一つ前の平均足が始値150.000、終値150.040なら、次の平均足の始値は150.020です。ここへ通常の足の始値150.080、高値150.100、安値150.020、終値150.040を当てはめると、平均足の終値は(150.080+150.100+150.020+150.040)÷4=150.060になります。
この例では、通常の足は150.080から150.040へ下がった陰線です。一方、平均足は150.020から150.060なので陽線になります。同じ期間を見ていても色の方向が違うのは、どちらかの画面が壊れたからではありません。比較している始値と終値の定義が違うためです。
高値と安値についても、通常の足と常に同じと決めつけないでください。前の平均足から引き継いだ始値が、その期間の通常の高値より上にあれば、一般的な式では平均足の高値が通常の高値を上回ります。ヒゲの先をそのまま「その期間に実際に提示された価格」と読むのは避けます。
また、始値は前の平均足へ依存するため、直近の通常の足一つだけから全てを再現することはできません。自分で計算して照合する場合は、計算の開始点と初期値も必要です。履歴の端付近だけで一致を判定せず、同じ指標・同じ履歴条件で後続の足を確認するようにします。
足の色と売買の成立条件を分ける
平均足は同じ方向の色が続きやすく、流れをまとめて見る用途に使われます。ただし、計算で細かな変化がならされることと、将来の値動きを正しく予測できることは別です。陽線が続いたあとでも損失は発生し、色が変わったあとに再び戻ることもあります。
EAの条件へ移すときは、「陽線なら買い」という一文を少し具体化します。平均足の終値が平均足の始値を上回ったら陽線とするのか、何本続いたら対象にするのか、色の転換だけを使うのかを分けます。始値と終値が等しい場合の扱いも決めておくと、作成者による解釈の差を減らせます。
たとえば「確定した一つ前の平均足が陽線で、二つ前が陰線だったときに買い候補とする」は、判定を照合するための仕様例です。候補になったら必ず注文する、という意味ではありません。既存ポジションの有無、取引時間、最大スプレッドなどは別の条件として判定します。
下ヒゲが短い、実体が大きいといった特徴を使う場合も同じです。「大きい」の基準が決まっていなければ自動化できません。平均足の実体幅で見るのか、通常の足の値幅で見るのかまで決めます。見た目の印象を複数足の後から評価する方法と、その時点で数値から判定する方法を混ぜないようにします。
最初から条件を多数組み合わせると、表示と判定が違ったときに原因を追いにくくなります。まずは平均足の始値と終値が正しく読めることを確かめ、次に色の分類、最後に他の取引制限を重ねる順で確認すると、どの部分で差が出たかを説明できます。
BidとAskで注文価格を確かめる

平均足の終値と注文の価格が離れて見えたら、最初に価格の種類を確認します。MT4の通常チャートはBidをもとに表示されます。買いポジションの新規建てと売りポジションの決済にはAskが使われ、売りの新規建てと買いの決済にはBidが使われます。平均足を追加しても、この区別は変わりません。
BidとAskの関係はMetaTrader 4公式ヘルプのチャート設定で確認できます。現在のAskをチャート上で見たい場合は、チャートのプロパティなどでAskラインを表示します。これは現在の価格を補う線であり、過去の各時刻のAskを一括で復元する機能としては扱いません。
| 照合する値 | 表すもの | 確認する目的 |
|---|---|---|
| 平均足の始値・終値 | 計算で作られた指標値 | 色や条件判定を確かめる |
| 通常の足の四本値 | 対象期間のBidベースの価格情報 | 平均足の元データを確かめる |
| 現在のBid・Ask | その時点で提示される売値・買値 | 注文側の価格とスプレッドを確認する |
| 実際の約定価格 | 成立した取引の価格 | 提示値・注文時刻との違いを確認する |
別の仮例として、現在のBidが150.040、Askが150.052、平均足の計算上の終値が150.060だったとします。買い注文の価格を考えるときに使う提示値はAskであり、平均足終値の150.060ではありません。平均足とAskの差の全体をスプレッドと呼ぶのも誤りで、この例のBidとAskの差は0.012です。
さらに、直前に確定した足を条件にして注文するなら、平均足の値が属する期間と、発注時点の気配値の時刻も異なります。価格の種類と時刻をそろえずに差を測ると、計算式の違い、時間経過、スプレッドが一つの問題に見えてしまいます。
MQL4のOrderSend公式リファレンスも、成行注文では買いにAsk、売りにBidの最新価格を使うことを示しています。画面に見える合成値を、そのまま成行の注文価格へ入れる設計にはしません。提示値と成立価格が一致するかどうかは、取引側の結果として別に確認します。
スプレッド表示の単位まで確かめたい場合は、MT4のスプレッド表示とポイント・pipsの確認方法を参照してください。本記事では、平均足の値とBid・Askを区別するところまでを押さえ、単位の設定を混ぜないようにします。
MT4の平均足をFX自動売買で照合する

表示が整ったら、EAがどの平均足を読み、いつ条件を判定するかを確認します。ここでは利益の良い設定を探す前に、同じ足を同じ値で読めているかを確かめます。検証用の処理は発注を行わない構成にして、値の照合が終わるまで注文処理を組み合わせない進め方です。
確定足と判定する時刻を決める
平均足も、現在形成中の足では元の高値・安値・終値が変わり、計算結果や色が変わることがあります。途中で陽線を見たのに確定後は陰線だった、というだけで取得ミスとは判断できません。まず、そのEAが現在足を使う仕様か、確定した足を使う仕様かを読み分けます。
MQL4の時系列では、現在の足が位置0、一つ前の足が位置1です。通常の運用で新しい足が現れたあとに読む位置1が、直前の確定足に対応します。MQL4公式の時系列とバッファの説明でも、位置0は未完成の現在足とされています。指標を読む場合は、その指標の参照仕様も合わせて確認します。
15分足の例では、10時00分に始まった足が形成中のあいだは、それを確定値として扱いません。次の10時15分の足が最初のティックで現れたあと、10時00分開始の足を位置1として確認します。端末に新しいティックが届いていなければ、壁時計が10時15分になっただけで処理が進むとは限りません。
このとき、表示される足の時刻は原則として開始時刻です。10時15分ごろに判断したからといって、読み取った確定足の開始時刻まで10時15分になるわけではありません。MQL4のTime配列の定義に合わせ、判定した時刻と対象の足の開始時刻を別々に確認します。例の時刻は端末の同じ時間基準で比較し、手元の日本時間と混ぜません。
色転換を条件にするなら、新しい足ができた直後に位置1と位置2を比べるのが一つの仕様例です。一方、位置0と位置1を比べる方法は形成中の変化も拾います。どちらを使うかで売買候補の時刻と回数が変わるため、確定後のチャートだけを眺めて、現在足で動いたEAの判断を評価しないようにします。
複数の時間足を組み合わせる場合は、足の位置を同じ番号にするだけでは時刻がそろいません。その場合の対応付けはEAのマルチタイムフレームで確定足をそろえる方法へ進み、まず本記事では一つの時間足で平均足の値が合う状態を作ります。
データウィンドウで同じ足を比べる

照合では、チャートの色を見て終わりにせず、データウィンドウで対象の足の時刻と数値を確認します。メニューの「表示」からデータウィンドウを開き、確かめたい足にカーソルを合わせます。通常のOHLCと平均足の項目を分けて読み、同じ「Open」「Close」という名前でも、どの欄に属しているかを確認してください。
公式のMT4データウィンドウの説明では、足の日時、OHLC、適用した指標の値を確認できるとされています。平均足の項目が見えない場合は、指標側の表示選択でデータウィンドウへの表示が有効かを確認します。見えないことだけを根拠に、計算値が0だと判断しません。
比べる順番は、銘柄名、時間足、足の開始時刻、通常の四本値、平均足の値です。価格だけを先に比べると、隣の足へカーソルが動いた場合にも原因が分かりません。画面上で右から何本目かより、表示された開始時刻で対象を特定するほうが確実です。
最初は、前半の計算例のように平均足の終値から確認すると整理しやすくなります。これは同じ期間の四本値を平均するため、その足のOHLCから計算できます。平均足の始値も確かめる場合は、さらに前の平均足の始値と終値を使います。通常の一つ前の足の始値・終値へ置き換えて計算しないよう注意してください。
前半の仮例を照合表へ写すなら、通常の始値150.080・終値150.040と、平均足の始値150.020・終値150.060を別の欄へ置きます。通常足の陰線と平均足の陽線が同じ行に並ぶ形です。EA側も平均足の二つの値を読めていれば、色が通常足と違うことを不具合として扱う必要はありません。
表示桁数で丸められた数値だけを見ると、ごく小さい差を判別できないことがあります。始値と終値の大小が境界に近い足では、EAが取得した精度の値と画面表示の桁数も確認します。画面では同値に見えるからといって、内部の値まで完全に等しいとは限りません。勝手に許容幅を設けず、同値や小さな差の扱いを仕様として決めます。
iCustomの対象と実装をそろえる

MT4のEAからカスタム指標の値を読むときは、iCustomを使う方法があります。ただし、平均足を画面へ追加したことと、EAが同じ指標を同じ条件で読んでいることは別です。ファイル名、フォルダ、入力値、バッファ番号、参照する足の位置まで一致を確かめます。
指標名は、実際に使っているファイルへ合わせます。画面の短い表示名と、呼び出すファイル名が同じとは限りません。空白を含む名前とアンダースコアを含む名前、別フォルダの同名ファイルを取り違えると、平均足らしい表示があっても、EAが読む対象とは食い違う可能性があります。
入力値がある指標では、宣言順と型も確認します。また、iCustomのmodeは数値を取り出すバッファの番号で、陽線や陰線の色番号を一律に指定するものではありません。MQL4のiCustom公式仕様に従い、対象実装のSetIndexBufferとの対応を調べます。
一般的な平均足を使っていても、他の配布版の記事で見た番号をそのまま当てはめないでください。始値・終値を持つバッファと、ヒゲの描画に使うバッファは区別します。本稿では全ての平均足へ共通する番号を示さず、使用ファイルで始値と終値に対応する項目を特定してから読む手順を採ります。
照合のためにEA側で確認するのは、対象足の開始時刻、取得した平均足の始値・終値、そこから分類した陽線・陰線・同値、取得エラーの有無です。あらかじめ選んだ足をデータウィンドウと突き合わせ、陽線の例だけでなく陰線や色が変わる境界の例も確認します。
値が取得できなかった場合と、取得した値で条件が成立しなかった場合は分けます。空値や取得エラーを「陰線ではないから陽線」のように処理すると、本来見送るべき状態が売買候補になります。判断できないときは発注へ進まない経路を設け、正しい値を読めたあとに条件を評価します。
同じ確定足をティックのたびに読んでも、色転換の条件はしばらく成立し続ける場合があります。新しい足につき判定を一度にする仕様なのか、同じ足では重複注文を防ぐ別の仕組みを使うのかも確認します。位置1を使っただけでは、注文が一回になることまでは保証されません。
引数や値の取得自体を詳しく確認したい場合は、iCustomで指標の値を照合する手順を参照してください。平均足の記事では、まず合成値のどの項目を読むかと、その足が確定していたかを照合の中心にします。
テスターとデモで差の原因を追う

値の照合ができたら、短い期間を対象にテスターのビジュアルモードなどで判定の流れを追います。最初に確かめるのは損益の大小ではなく、想定した足で同じ方向の候補が出たかです。通常の足が陰線でも平均足は陽線になる例や、平均足の色が転換する箇所を選ぶと、読み間違いを見つけやすくなります。
| 現象 | 先に比べるもの | 次に確認すること |
|---|---|---|
| 表示とEAで色が違う | 指標ファイル、対象時刻、始値と終値 | 現在足と確定足、バッファ対応 |
| 条件は同じなのに注文位置が違う | 判定時刻と注文時刻、Bid・Ask | スプレッド、実際の注文結果 |
| 同じ色転換で注文が繰り返される | 一つの足での判定回数 | 新しい足の検出、重複防止 |
| 途中から値が合わない | 履歴と入力値、計算の開始条件 | 履歴追加、派生版の仕様、取得エラー |
確定足で判断するEAでも、損切りや利確が足の途中で働くなら、足内の価格経路が結果に影響します。「判断に確定足を使う」ことだけで、どのテストモデルでも同じ結果になるとは考えません。まず指標値と候補時刻を確認し、そのあと注文・決済の処理が必要とするモデルを選びます。
MT4の標準テスターには、利用できる下位足からティックをモデル化する仕組みがあります。「全ティック」という名前だけで、過去の実際のティックやAskの履歴を全て再現したと判断しないでください。標準の価格履歴はBidを含み、Ask側の計算にはテスト開始時のスプレッドや指定したスプレッドが使われます。詳細はMT4公式のテスター設定を参照できます。
そのため、平均足の値が一致していても、テスターとデモ口座の注文結果には差が出る可能性があります。テスト期間、銘柄、時間足、指標入力、スプレッド条件をそろえ、どの条件で比較したのかを区別します。外部の検証ツールを使う場合は、そのツールの価格データとスプレッドの扱いを別に確認します。
デモでは、新しい足ができたときに一度だけ判断する仕様が守られるか、端末を再起動した直後に同じ足を再処理しないか、必要な履歴が足りない場合に見送るかを確認します。判定が一致しても、その戦略の収益性を確認したことにはなりません。取引を始める判断は、ロット、損失制限、費用を含めた別の検証が必要です。
MT4の平均足を確認して使う
MT4の平均足は、Heiken Ashiを追加して表示できます。まず背景色と重なりを整え、通常のローソク足と同じ銘柄・時間足で比べましょう。表示を平均足だけにしても元の価格データは残り、平均足の始値・終値は計算された指標値として扱います。
FX自動売買へ使う前は、通常の四本値、平均足の値、Bid・Ask、成立した取引価格を分けます。次に確定した足の開始時刻をそろえ、データウィンドウとEAが読む始値・終値を照合してください。色が合わないときは売買条件を増やす前に、指標ファイルと読む足を確認します。
最初の作業は、一つの銘柄・一つの時間足で、発注せずに複数の足を照合することです。値と判定が一致してから注文・決済の検証へ進めば、平均足の計算、参照時刻、取引価格のどこに差があるかを順番に確かめられます。
