移動平均線とは?SMA・WMA・TMA・EMAの計算式、使い方、チャート、Excel VBAコードまとめ。株式、FX、先物、暗号資産など、さまざまなチャート分析で使われている最も基本的なテクニカル指標


2008年11月17日

 

移動平均線は、一定期間の価格を平均化し、相場の大きな流れを見やすくするための代表的なテクニカル指標である。株式、FX、先物、暗号資産など、さまざまなチャート分析で使われており、最も基本的な指標のひとつと言ってよい。

一般に「移動平均線」と呼ぶ場合は、一定期間の終値を単純に平均した単純移動平均線(SMA)を指すことが多い。ただし、移動平均線にはSMAだけでなく、直近価格を重視する加重移動平均線(WMA)、より滑らかな線を描く三角移動平均線(TMA)、値動きへの反応が早い指数平滑移動平均線(EMA)などがある。

この記事では、移動平均線の基本的な意味、SMA・WMA・TMA・EMAの違い、計算式、チャートでの見方、実践的な使い方、Excel VBAコードまでをまとめる。

 

移動平均線の基本的な役割

移動平均線の役割は、大きく分けると次の3つである。

ひとつ目は、トレンドの方向を確認することである。価格が移動平均線の上にあれば上昇基調、下にあれば下降基調と判断する材料になる。

ふたつ目は、相場の勢いを確認することである。移動平均線が右肩上がりなら買いが優勢、右肩下がりなら売りが優勢と見やすい。

三つ目は、売買タイミングの目安にすることである。価格と移動平均線の位置関係、短期線と長期線のクロス、複数本の並び方などから、相場の転換点を探ることができる。

ただし、移動平均線は過去の価格を平均して作られるため、必ず遅れが発生する。万能な売買サインではなく、トレンド確認や補助判断に使う指標と考えるのが適切である。

 

SMA・WMA・TMA・EMAの違い

移動平均線には複数の種類があり、それぞれ計算方法と特徴が異なる。最もよく使われるのはSMAだが、短期売買ではEMA、滑らかなトレンド確認ではTMAなど、目的によって使い分けられる。

種類 計算方法 特徴 向いている使い方
SMA(単純移動平均線) 一定期間の終値を単純平均 最も基本的で滑らか。反応は遅め 中長期トレンド確認
WMA(加重移動平均線) 直近価格に大きい比重を付けて平均 直近の値動きに比較的敏感 トレンド転換の早期把握
TMA(三角移動平均線) 移動平均をさらに移動平均化 ノイズを抑えやすい なめらかなトレンド把握
EMA(指数平滑移動平均線) 前回EMAと当日価格を係数で更新 直近の変化に最も反応しやすい 短期売買、クロスの早期検出

SMAは基本形であり、相場の大まかな方向を見るのに向いている。WMAとEMAは直近価格を重視するため、SMAよりも反応が早い。TMAは移動平均をさらに平均化するため、値動きのノイズを抑えやすいが、そのぶん反応は遅くなる。

 

移動平均線の計算式

ここでは、Nを移動平均線の採用本数として、それぞれの計算式を整理する。

単純移動平均線(SMA)

単純移動平均線は、当日を含めたN本分の終値を単純に平均したものである。

SMA = N本の終値の合計 ÷ N

たとえば、5日単純移動平均線であれば、当日を含めた直近5日分の終値を合計し、5で割る。

最も理解しやすく、一般的な移動平均線である。

 

加重移動平均線(WMA)

加重移動平均線は、直近の価格に大きい重みを付けて平均する移動平均線である。新しい価格ほど重要と考えるため、SMAよりも現在の値動きに反応しやすい。

WMA = [(当日の終値 × N) + {前日の終値 × (N-1)} + {前々日の終値 × (N-2)} + …… + {(N-1)日前の終値 × 1}] ÷ [N + (N-1) + …… + 1]

たとえば、3本加重移動平均線の場合は、次のように計算する。

3WMA = {(当日の終値 × 3) + (前日の終値 × 2) + (前々日の終値 × 1)} ÷ 6

単純平均ではすべての価格を同じ重みで扱うが、WMAでは当日に近い価格ほど重く扱う点が特徴である。

 

三角移動平均線(TMA)

三角移動平均線は、移動平均線をさらに移動平均化したものである。ノイズを抑え、より滑らかな線を描きやすい。

一般的には、次のように計算する。

TMA = Y本SMAのY本SMA

ここで、Yは次の式で求める。

Y = (N + 1) ÷ 2 の端数切り上げ

たとえば、3本三角移動平均線の場合、Yは次のようになる。

Y = (3 + 1) ÷ 2 = 2

つまり、まず2本単純移動平均線を計算し、その2本単純移動平均線をさらに2本で平均化する。

TMAは滑らかなトレンド確認に向く一方で、反応は遅くなりやすい。短期売買のタイミング判断よりも、相場の大きな流れを確認する用途に向いている。

 

指数平滑移動平均線(EMA)

指数平滑移動平均線は、直近価格をより強く反映する移動平均線である。SMAよりも反応が早く、短期売買やクロス判定でよく使われる。

1本目、つまり最初のEMAは、N本の単純移動平均線として計算する。

1本目のEMA = N本の終値の平均

2本目以降は、次の式で計算する。

EMA = 前日のEMA + Y × {当日終値 – 前日のEMA}

ここで、Yは平滑化係数である。

Y = 2 ÷ (N + 1)

たとえば、3本指数平滑移動平均線の場合、平滑化係数は次のようになる。

Y = 2 ÷ (3 + 1) = 0.5

したがって、2本目以降は次の式で計算する。

当日のEMA = 前日のEMA + 0.5 × (当日終値 – 前日のEMA)

EMAは直近の値動きに反応しやすいため、トレンド転換を早めに捉えやすい。ただし、そのぶんダマシも増えやすい点には注意が必要である。

 

移動平均線のチャート比較

以下のチャートでは、SMA、WMA、TMA、EMAの4種類の移動平均線を同じ期間で比較している。

上記チャートでは、黄線が単純移動平均線、水色線が加重移動平均線、白線が三角移動平均線、赤線が指数平滑移動平均線である。いずれも採用本数は25本である。

同じ25本の移動平均線でも、種類によって価格への反応速度が異なる。EMAやWMAは比較的早く価格に追随し、SMAは標準的、TMAはより滑らかに推移しやすい。
そのため、短期の値動きを重視するならEMAやWMA、中長期の流れを重視するならSMAやTMAが使いやすい。

 

移動平均線の実践的な見方

1本の移動平均線で見る方法

移動平均線を1本だけ使う場合は、価格と移動平均線の位置関係を見る。

価格が移動平均線より上にある場合は、相場が平均より強い状態と考えられる。反対に、価格が移動平均線より下にある場合は、相場が平均より弱い状態と考えられる。

また、移動平均線そのものの向きも重要である。右肩上がりなら上昇トレンド、右肩下がりなら下降トレンド、横ばいなら方向感の乏しい相場と判断しやすい。

 

2本の移動平均線で見る方法

2本の移動平均線を使う場合は、短期線と長期線を組み合わせる。

代表的な見方が、**ゴールデンクロス**と**デッドクロス**である。

ゴールデンクロスとは、短期移動平均線が長期移動平均線を下から上に抜ける形である。一般的には、上昇トレンドへの転換を示すサインとされる。

デッドクロスとは、短期移動平均線が長期移動平均線を上から下に抜ける形である。一般的には、下降トレンドへの転換を示すサインとされる。

ただし、クロスは万能ではない。レンジ相場では何度もクロスが発生し、売買サインがダマシになることも多い。クロスを見る場合は、出来高、価格の高値・安値、他のテクニカル指標などと組み合わせて判断するのが望ましい。

 

3本の移動平均線で見る方法

3本の移動平均線を使う場合は、短期線・中期線・長期線の並び順を見る。

短期線が一番上、中期線が中央、長期線が一番下に並ぶ形は、上昇トレンドが強い状態とされる。反対に、短期線が一番下、中期線が中央、長期線が一番上に並ぶ形は、下降トレンドが強い状態とされる。

3本の移動平均線を使うと、1本や2本よりもトレンドの強弱を確認しやすい。特に、短期・中期・長期のすべてが同じ方向を向いている場合は、相場の方向感が比較的はっきりしていると判断しやすい。

 

ゴールデンクロスとデッドクロス

ゴールデンクロスとデッドクロスは、移動平均線を使った代表的な売買サインである。

サイン 一般的な意味 注意点
ゴールデンクロス 短期線が長期線を下から上に抜ける 上昇転換の可能性 レンジ相場ではダマシになりやすい
デッドクロス 短期線が長期線を上から下に抜ける 下降転換の可能性 サインが出る頃には下落が進んでいる場合もある

クロスは分かりやすい反面、遅れて出ることが多い。特に、移動平均線の期間が長いほどサインは遅くなる。
そのため、クロスだけで売買を判断するのではなく、トレンドの方向、価格帯、出来高、ローソク足の形などもあわせて確認したい。

 

グランビルの法則と移動平均線

移動平均線を使った有名な考え方に、グランビルの法則がある。これは、価格と移動平均線の位置関係から売買タイミングを考える手法である。

基本的な考え方は、価格が移動平均線を上抜ける場面、移動平均線まで押し戻された後に再上昇する場面、移動平均線から大きく乖離した場面などを売買判断の材料にするというものだ。

たとえば、上昇トレンド中に価格が移動平均線付近まで下がり、そこで反発する場合、押し目買いの候補になる。反対に、下降トレンド中に価格が移動平均線付近まで戻り、そこで反落する場合、戻り売りの候補になる。

ただし、グランビルの法則も絶対的な売買ルールではない。移動平均線の向き、相場全体の地合い、価格の勢いをあわせて見る必要がある。

チャート力向上講座 グランビルの法則5

グランビルの法則チャート例1

 

移動平均線の期間設定の目安

移動平均線の期間は、分析対象や投資スタイルによって変わる。よく使われる期間には、5日、20日、25日、75日、200日などがある。

期間 主な使い方 特徴
5日移動平均線 短期トレンド確認 1週間程度の値動きを見る。反応は早いがダマシも多い
20日移動平均線 短中期トレンド確認 約1か月の営業日を意識した期間として使われる
25日移動平均線 中期トレンド確認 日本株でよく使われる代表的な期間
75日移動平均線 中長期トレンド確認 数か月単位の流れを見るときに使いやすい
200日移動平均線 長期トレンド確認 大きな相場の方向や長期的な節目として見られやすい

短期売買では5日線や20日線、スイングトレードでは25日線や75日線、中長期投資では75日線や200日線が使われることが多い。

ただし、どの期間が最適かは銘柄や相場環境によって変わる。固定的に考えず、自分の売買期間に合った設定を検証することが大切である。

 

移動平均線のデメリットと注意点

移動平均線は非常に便利な指標だが、弱点もある。

最大の弱点は、サインが遅れることである。移動平均線は過去の価格を平均して作られるため、価格が大きく動いた後にサインが出ることがある。

次に、レンジ相場ではダマシが増えることである。価格が一定の範囲で上下している場合、短期線と長期線が何度も交差し、売買サインが機能しにくくなる。

また、急激な相場変動には対応が遅れることもある。ニュースや決算、経済指標などで価格が急変した場合、移動平均線だけでは判断が追いつかない。

移動平均線は、あくまで相場の傾向を確認するための指標である。売買判断に使う場合は、ローソク足、出来高、サポートライン、レジスタンスライン、RSI、MACDなど、他の要素と組み合わせるのが現実的である。

移動平均線のExcel VBAコード

ここでは、ExcelでSMA、WMA、TMA、EMAを計算するVBAコードを掲載する。

前提は次の通りである。

A列に行番号、B列に日時、C列に始値、D列に高値、E列に安値、F列に終値が入っているものとする。
移動平均線は、G列以降に出力する。

このコードでは、25本移動平均線を例としている。必要に応じて、`MA_PERIOD`の値を変更すればよい。


Option Explicit

Sub CalculateMovingAverages()

‘==============================
‘ 前提
‘ A列:行番号
‘ B列:日時
‘ C列:始値
‘ D列:高値
‘ E列:安値
‘ F列:終値

‘ 出力
‘ G列:SMA
‘ H列:WMA
‘ I列:TMA計算用SMA
‘ J列:TMA
‘ K列:EMA
‘==============================

Const FIRST_DATA_ROW As Long = 2
Const CLOSE_COL As Long = 6

Const SMA_COL As Long = 7
Const WMA_COL As Long = 8
Const TMA_BASE_COL As Long = 9
Const TMA_COL As Long = 10
Const EMA_COL As Long = 11

Const MA_PERIOD As Long = 25

Dim ws As Worksheet
Dim lastRow As Long
Dim r As Long

Set ws = ActiveSheet

lastRow = ws.Cells(ws.Rows.Count, CLOSE_COL).End(xlUp).Row

‘ 見出し
ws.Cells(1, SMA_COL).Value = “SMA”
ws.Cells(1, WMA_COL).Value = “WMA”
ws.Cells(1, TMA_BASE_COL).Value = “TMA用SMA”
ws.Cells(1, TMA_COL).Value = “TMA”
ws.Cells(1, EMA_COL).Value = “EMA”

‘ 計算結果を一度クリア
ws.Range(ws.Cells(FIRST_DATA_ROW, SMA_COL), ws.Cells(lastRow, EMA_COL)).ClearContents

For r = FIRST_DATA_ROW To lastRow

‘ 単純移動平均線(SMA)
If r – MA_PERIOD + 1 >= FIRST_DATA_ROW Then
ws.Cells(r, SMA_COL).Value = CalcSMA(ws, r, MA_PERIOD, CLOSE_COL)
End If

‘ 加重移動平均線(WMA)
If r – MA_PERIOD + 1 >= FIRST_DATA_ROW Then
ws.Cells(r, WMA_COL).Value = CalcWMA(ws, r, MA_PERIOD, CLOSE_COL)
End If

‘ 三角移動平均線(TMA)
CalcTMA ws, r, MA_PERIOD, CLOSE_COL, TMA_BASE_COL, TMA_COL, FIRST_DATA_ROW

‘ 指数平滑移動平均線(EMA)
CalcEMA ws, r, MA_PERIOD, CLOSE_COL, EMA_COL, FIRST_DATA_ROW

Next r

MsgBox “移動平均線の計算が完了しました。”, vbInformation

End Sub

Private Function CalcSMA(ByVal ws As Worksheet, _
ByVal currentRow As Long, _
ByVal period As Long, _
ByVal priceCol As Long) As Double

CalcSMA = Application.WorksheetFunction.Average( _
ws.Range(ws.Cells(currentRow – period + 1, priceCol), ws.Cells(currentRow, priceCol)) _
)

End Function

Private Function CalcWMA(ByVal ws As Worksheet, _
ByVal currentRow As Long, _
ByVal period As Long, _
ByVal priceCol As Long) As Double

Dim i As Long
Dim weight As Long
Dim totalWeight As Long
Dim weightedSum As Double

weightedSum = 0
totalWeight = 0

‘ 古い価格の重みを1、新しい価格の重みをperiodにする
For i = 0 To period – 1
weight = i + 1
weightedSum = weightedSum + ws.Cells(currentRow – period + 1 + i, priceCol).Value * weight
totalWeight = totalWeight + weight
Next i

CalcWMA = weightedSum / totalWeight

End Function

Private Sub CalcTMA(ByVal ws As Worksheet, _
ByVal currentRow As Long, _
ByVal period As Long, _
ByVal priceCol As Long, _
ByVal baseCol As Long, _
ByVal outputCol As Long, _
ByVal firstDataRow As Long)

Dim y As Long

‘ TMA用の期間
y = Application.WorksheetFunction.RoundUp((period + 1) / 2, 0)

‘ まずY本SMAを計算
If currentRow – y + 1 >= firstDataRow Then
ws.Cells(currentRow, baseCol).Value = CalcSMA(ws, currentRow, y, priceCol)
End If

‘ 次に、Y本SMAをさらにY本で平均する
If currentRow – y + 1 >= firstDataRow Then
If Application.WorksheetFunction.Count( _
ws.Range(ws.Cells(currentRow – y + 1, baseCol), ws.Cells(currentRow, baseCol)) _
) = y Then

ws.Cells(currentRow, outputCol).Value = Application.WorksheetFunction.Average( _
ws.Range(ws.Cells(currentRow – y + 1, baseCol), ws.Cells(currentRow, baseCol)) _
)

End If
End If

End Sub

Private Sub CalcEMA(ByVal ws As Worksheet, _
ByVal currentRow As Long, _
ByVal period As Long, _
ByVal priceCol As Long, _
ByVal outputCol As Long, _
ByVal firstDataRow As Long)

Dim alpha As Double
Dim previousEMA As Double
Dim currentClose As Double

alpha = 2 / (period + 1)

‘ 最初のEMAはSMAで初期化
If currentRow – period + 1 = firstDataRow Then
ws.Cells(currentRow, outputCol).Value = CalcSMA(ws, currentRow, period, priceCol)

‘ 2本目以降はEMAの式で計算
ElseIf currentRow – period + 1 > firstDataRow Then
previousEMA = ws.Cells(currentRow – 1, outputCol).Value
currentClose = ws.Cells(currentRow, priceCol).Value

ws.Cells(currentRow, outputCol).Value = previousEMA + alpha * (currentClose – previousEMA)
End If

End Sub


サンプルコードであり、変数名や列番号は利用環境に合わせて修正が必要

 

移動平均線を使うときの実務的な考え方

移動平均線を使うときは、まず自分が見たい時間軸を決める必要がある。

短期売買なら5日線や20日線、数週間から数か月の流れを見るなら25日線や75日線、長期的な相場判断なら200日線が候補になる。

また、移動平均線の種類も目的に応じて選びたい。相場の基本的な流れを確認するならSMA、直近の動きに素早く反応したいならEMAやWMA、ノイズを抑えて大きな流れを見たいならTMAが使いやすい。

重要なのは、移動平均線の種類や期間そのものよりも、同じルールで継続的に観察することである。期間設定を頻繁に変えると、過去の判断と現在の判断が比較しにくくなる。

 

まとめ

移動平均線は、相場の方向性、勢い、転換点を確認するための基本的なテクニカル指標である。

単純移動平均線(SMA)は最も基本的で、中長期のトレンド確認に向いている。加重移動平均線(WMA)は直近価格を重視し、指数平滑移動平均線(EMA)はさらに反応が早い。三角移動平均線(TMA)は滑らかな線を描きやすく、ノイズを抑えたトレンド確認に向いている。

実践では、1本だけでなく、2本や3本の移動平均線を組み合わせることで、トレンドの強弱や転換の可能性を判断しやすくなる。ゴールデンクロスやデッドクロス、グランビルの法則も代表的な見方である。

ただし、移動平均線にはタイムラグがあり、レンジ相場ではダマシも発生する。移動平均線だけで売買を決めるのではなく、ローソク足、出来高、他のテクニカル指標などと組み合わせて使うことが重要である。

本記事は投資判断の参考となる一般的な情報をまとめたものであり、特定の銘柄や金融商品の売買を推奨するものではない。実際の投資判断は、リスクを十分に理解したうえで自己責任で行う必要がある。

 

FAQ:移動平均線に関するよくある質問

移動平均線はSMAを指すことが多いですか?

一般的には、単に「移動平均線」と言う場合、SMA、つまり単純移動平均線を指すことが多い。チャートソフトや証券会社のツールでも、標準設定の移動平均線はSMAであることが多い。ただし、EMAやWMAを選択できるツールも多いため、表示している移動平均線の種類は確認しておきたい。

EMAとSMAはどちらを使えばいいですか?

中長期のトレンドを落ち着いて見たい場合はSMAが使いやすい。短期の値動きや転換点を早めに捉えたい場合はEMAが使いやすい。ただし、EMAは反応が早いぶん、ダマシも増えやすい。初心者はまずSMAで基本的な見方を覚え、その後にEMAを比較するのがよい。

移動平均線の期間は何日が一般的ですか?

よく使われる期間は、5日、20日、25日、75日、200日である。5日線は短期、20日線や25日線は短中期、75日線は中長期、200日線は長期トレンドを見る目安として使われる。どの期間が正解というものではなく、自分の売買期間や分析対象に合わせて選ぶことが重要である。

ゴールデンクロスだけで買ってもいいですか?

ゴールデンクロスは上昇転換の目安として使われるが、それだけで買い判断をするのは危険である。レンジ相場ではダマシが多く、クロス直後に反落することもある。移動平均線の向き、価格の位置、出来高、相場全体の地合いをあわせて確認したい。

移動平均線はどの時間足でも使えますか?

移動平均線は日足、週足、月足、分足など、さまざまな時間足で使える。ただし、短い時間足ほどノイズが多くなりやすい。日足や週足では大きなトレンドを確認しやすく、分足では短期売買の補助指標として使われることが多い。

 

テクニカル指標一覧

罫線談義一覧

(外部リンク)テクニカル指標(Wikipedia)

移動平均線とは?SMA・WMA・TMA・EMAの計算式、使い方、チャート、Excel VBAコードまとめ。株式、FX、先物、暗号資産など、さまざまなチャート分析で使われている最も基本的なテクニカル指標」への3件のフィードバック

  1. ピンバック: MACD(計算式、VBAコードなど) | IBI-Square

  2. ピンバック: TRIX(計算式、VBAコードなど) | IBI-Square

  3. ピンバック: 移動平均線 (チャート力向上講座日足スイング編) | IBI-Square

コメントは停止中です。