平均足(Heikin-Ashi):計算式、合成価格、および実際の約定価格
平均足がどのようにローソク足を平滑化するのか、なぜそのOHLC(始値・高値・安値・終値)が実際の取引価格ではないのか、そして視覚的なシグナルと注文の約定をどう区別すべきかを学びましょう
このガイドの内容チャート上のローソク足と実際の取引価格を区別する
短い要約
平均足は、通常のローソク足データを再帰的な平均化の計算式に用いて作成されます。 平滑化されたローソク足の「実体(ボディ)」は価格のトレンドを読みやすくしますが、算出された始値・高値・安値・終値はあくまでチャート上の値であり、実際の取引価格とは異なります。 1本のローソク足を計算し、合成された「ヒゲ」がどこに位置するかを確認した上で、シグナル判定のロジックと実際に約定可能な価格を区別して扱うようにしましょう。
チャート上のローソク足と実際の取引価格を区別する
標準的なローソク足は、その期間(バー)における銘柄の始値、高値、安値、終値を表示します。 平均足(Heikin-Ashi: HA)は値を次のように変換します。終値(Close)は通常のOHLC(始値・高値・安値・終値)の平均値となり、始値(Open)は前回の平均足の始値と終値に基づいて決定されます。 この再帰的な計算により、ローソク足ごとの視覚的な変動は抑えられますが、同時に、平均足のローソク足は実際の取引の推移を正確に再現するものではないという点に注意が必要です。 TradingViewでは、平均足の値を実際の価格ではなく「平均値」と定義しており、正確なエントリーやエグジットのポイントを判断する際の精度は劣ると指摘しています。 この表示は、選択した平滑化のルールを把握するために使用するものであり、合成された値を市場の直近価格、サポートライン、あるいは実際に約定可能な価格として扱うべきではありません。 {source:tradingViewHeikinAshiGuide}
適切な入力値を用いて各項目を計算する
通常のローソク足の始値、高値、安値、終値をそれぞれO、H、L、Cとすると、HA_Close = (O + H + L + C) / 4となります。 再帰的な計算としてHA_Open = (previous HA_Open + previous HA_Close) / 2を用います。 そしてHA_High = max(H, HA_Open, HA_Close)、およびHA_Low = min(L, HA_Open, HA_Close)となります。 現在の終値は現在のローソク足のOHLCを使用し、現在の始値は前回の平均足の状態を引き継ぎます。 一般的な色分けルールにおいて平均足の実体(ボディ)が強気(陽線)を示す場合、それはHA_Close > HA_Openであることを意味しますが、必ずしも通常のローソク足自体が始値より高い価格で引けたことを意味するわけではありません。 この計算式は4つの派生値を決定しますが、チャートによっては前回の終値に基づいた色分けが別途適用される場合があるため、どの色分け基準を参照しているかを確認してください。
ギャップ(窓)の例を使って合成ヒゲの位置を把握する
前回のHA(平均足)の始値が100、終値が102であると仮定します。今回のバー(実際の価格)は、前回の終値108から110で始まり、高値112、安値109を経て、111で引けました。この時のHA始値は(100 + 102) / 2 = 101、HA終値は(110 + 112 + 109 + 111) / 4 = 110.5となります。 HA高値は112、HA安値はmin(109, 101, 110.5) = 101です。 実際のバーの安値は109でしたが、HAのヒゲは101まで伸びています。これは、再帰的に算出されるHA始値が、合成安値(HA安値)の算出要素に含まれているためです。 TradingViewの計算式では、HAの極値(高値・安値)を求める際、HA始値・終値と、実際のバーの高値・安値が組み合わせて使用されます。 したがって、このHAバーにおいて価格が101に達したとしても、それはその価格で実際に注文が約定し得たことを示すものではありません。 {source:tradingViewHeikinAshiGuide}
再帰的な性質が維持されることを確認するため、この例を次のバーに進めてみましょう。HA始値101およびHA終値110.5を直前の状態として、次の実際のバー(O=114, H=116, L=113.5, C=115)を考えます。このバーのHA始値は(101 + 110.5) / 2 = 105.75、HA終値は(114 + 116 + 113.5 + 115) / 4 = 114.625であり、そのHA安値は当該の合成始値と等しくなります。実際のバーは、上記の安値と高値の範囲内でのみ取引されました。したがって、引き継がれた合成始値によって、バーの実際の安値よりも下に新たな「ひげ(ウィック)」が生じることになります。これは実際の取引に基づくものではなく、計算によって導き出されたチャート上の値だからです。 {source:tradingViewHeikinAshiGuide}

平滑化を「表示上のトレードオフ(利点と欠点のバランス)」として理解する
HA(平均足)の始値は再帰的に算出されます。つまり、新たなHAの始値は、直前のHAの始値と終値の中間に位置します。 したがって、他の条件が一定であれば、直前のHAの終値が変化すると、次のHAの始値はその変化幅の半分だけ移動することになります。 また、HAの終値はO(始値)、H(高値)、L(安値)、C(終値)の平均値となるため、ローソク足の実体の色や大きさが通常のローソク足とは異なる場合があります。 同色の足が連続する様子は視覚的に把握しやすくなるかもしれませんが、平滑化処理を行っても、ギャップ(窓)、手数料、逆選択(アドバース・セレクション)、あるいは急激な反転の可能性が排除されるわけではありません。 さらに、この処理はローソク足の位置や、場合によってはその値幅(レンジ)をも変化させます。 視覚的なパターンはあくまで変換された時系列データの描写に過ぎず、別途検証されたルールを伴わない限り、それ自体は価格の継続や反転を示す証拠にはなりません。
色やヒゲのパターンを「状況説明」として捉える
色の決定ルールやヒゲの形状は、変換によって生成された結果を簡潔に表すラベルとして利用できます。 例えば、下ヒゲがほとんどない(あるいは全くない)強気ローソク足を、チャート分析者は「力強い上昇バー(strong-looking up bar)」と呼ぶことがあります。 この表現は描画された平均足(HA)の値を説明するものであり、すべての取引を買い手が支配していたことや、実際のストップ注文を平均足の安値に置くべきこと、あるいは次のバーも同様のパターンになることを保証するものではありません。 プラットフォームによっては、平均足の終値と始値を比較して色を決定する場合もあれば、別のオプション設定により、終値と前回の終値を比較する場合もあります。 こうした設定の違いにより、同じOHLCデータであっても見た目が変わる可能性があります。 分析において、連続する動き(ラン)、十字線(ドージ)のような実体、あるいはヒゲの変化を数える前に、色の決定ルールとローソク足の計算式を明記してください。
ローソク足、セッション、初期化のルールを明確に定める
平均足はバー(ローソク足)を基に構成されるため、どの通常のOHLC値が各計算に使用されるかは、基礎となる時間足やセッション設定によって決まります。 通常取引時間のみで構成された5分足と、時間外取引を含めた5分足では結果が異なる場合がありますし、日足の区切りも取引所のカレンダーやタイムゾーンに従います。 株式分割、先物の限月交代(ロールオーバー)、データの欠落、そして価格調整済みか未調整かといった履歴データの違いも、計算の元となるデータ(生データ)を変化させる要因となります。 平均足の計算は再帰的(前の値に依存する)であるため、初期値(シード)や読み込まれた履歴データの量が初期の計算値に影響を与える可能性があります。 シードの影響は平均化を繰り返すことで薄れていきますが、再現性の確認を行う際には、その影響を無視すべきではありません。 シンボル、取引所、時間足、セッション、価格調整の有無、履歴の開始時点、そしてプラットフォームにおける平均足の算出ルールを記録しておいてください。 なお、通常のバーが確定する前であっても、現在のバーの計算値は変動する可能性があります。 {source:tradingViewPineChartInformation}
チャート上のシグナルとバックテストでの約定価格を区別する
平均足(Heikin-Ashi)チャート上のPineストラテジーでは、fill_orders_on_standard_ohlcというパラメータを明示的に設定できます。このパラメータのデフォルト値はfalseですが、trueに設定すると、ブローカーエミュレーターはシミュレーション上の約定処理に標準のOHLCデータを使用するようになります。これにより変更されるのはシミュレーション上の約定価格のみです。平均足チャートの値を使用するシグナルは引き続き合成値を使用しますし、この設定によって練行足(Renko)やカギ足(Kagi)などの非標準チャートが標準価格チャートに変わるわけでもありません。TradingViewは、この設定を行わない場合、非標準チャートでのバックテストにおいて約定処理に合成OHLCが使用され、実際の市場状況を正確に反映しない可能性があると警告しています。 {source:tradingViewNonstandardChartBacktesting} {source:tradingViewPineStrategyDeclaration}
実際の価格に基づいた約定ルールを記述する
ルールは2段階で記述します。 まず、HA系列がどのような役割を果たすかを述べます(例:HAの終値がHAの始値を上回った状態を、エントリー条件のフィルターとするなど)。 次に、実際の市場価格を使用して注文を定義します(発注時刻、注文タイプ、トリガー元、許容価格、エグジット、数量、ギャップ時の処理、コストなど)。 HAの安値にストップ注文を置く場合、その合成レベルが市場に存在したと仮定するのではなく、実際に取引可能な生データ(raw prices)の価格に基づいたルールに変換してください。 その戦略を、通常のOHLC(始値・高値・安値・終値)での約定や適切なベースラインと比較し、同じ期間で検証します。 開発中に行った選択については、時系列的なホールドアウト法やウォークフォワード法を用いて評価を維持してください。 チャートの形状が滑らかになったからといって、約定状況や将来のパフォーマンスが向上するわけではありません。
よくある質問
Q1平均足(Heikin-Ashi)の価格は実際の価格ですか?
いいえ。HAのOHLC値は、通常のバーと前回のHAの状態から算出されます。 注文が約定するかどうかを判断する際の基準となるのは、依然として標準的な市場価格です。
Q2平均足の安値にストップ(逆指値)注文を置くことはできますか?
その値を参照する戦略を作成することは可能ですが、HAの安値で実際に取引が行われたとは限りません。 ストップ注文とそのトリガーは実際の価格に基づいて定義し、ギャップや約定の状況をモデル化する必要があります。
Q3約定に標準のOHLCを使用することで、平均足のバックテストにおけるバイアスはすべて解消されますか?
いいえ。対応しているHA戦略において、シミュレーション上の約定価格を標準OHLCに変更することはできますが、シグナルには依然として合成HA値が使用される可能性があります。 また、これによって将来のパフォーマンスや現実的なコストが確定するわけでもありません。
出典
問題を報告
この記事のリンクを含むメールを準備します。送信すると Mark に報告が届きます
クイックチェック
記事を読み終えたら、3問で確認しましょう
問題 01
現在の平均足(Heikin-Ashi)の終値はどのように計算されますか?
答えを選ぶと解説を確認できます
オプション用語集
コール、プット、オプションチェーンから IV、グリークス、建玉、マックスペインまで、主要用語を正確に解説します
オプション用語集を見る