見出し画像

複数の移動平均線を1つのインジケータにまとめました。

移動平均線の記事の更新になります。
有料にしておりますが、無料で見られます。有料部分には、なぜか頭の片隅に残っている名言?的なものを付録として付けてありますので、気になる方や、投げ銭してやるよって方は購入ポチっとお願いします。

移動平均線について

移動平均線には以下の3つの種類が存在します。
・単純移動平均線(SMA)
・加重移動平均線(WMA)
・指数平滑移動平均線(EMA)
最も一般的なのが単純移動平均線(SMA)だと思います。

単純移動平均線(SMA)

単純移動平均線(SMA)は対象期間中の株価の終値の平均を算出したものになります。n日単純移動平均線は、過去n日間の株価の終値を平均したものが算出されます。移動平均線の中で最もシンプルであり期間中全ての株価が同等に計算されています。例えば、5日単純移動平均は

単純移動平均=
(5日前終値+4日前終値+3日前終値+2日前終値+1日前終値)÷5

加重移動平均線(WMA)

加重移動平均線(WMA)は直近の株価に重きを置いており、過去の株価ほど比重が小さくなるように算出されています。n日加重移動平均線であれば1日前の株価の比重が大きく、n日前の株価の比重は小さいため、より直近の値動きに敏感な移動平均線となります。例えば、5日加重移動平均は

加重移動平均線=
(5日前終値x1+4日前終値x2+3日前終値x3+2日前終値x4+1日前終値x5)÷15

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

指数平滑移動平均線(EMA)は最新の株価に重きを置いており、過去の株価ほど比重が小さくなるよう平滑化係数を利用して算出されます。指数平滑移動平均線は加重移動平均線と似ていますが、指数平滑移動平均線は過去の価格を無視しないため累積していくことで平均を計算しています。

最初の値は、単純移動平均と同じ計算、つまりn日間の終値の合計をnで割って求めます。 そして2日目以降は、前日EMA+平滑化定数αx(当日終値-前日EMA)で求めます。 なお、平滑化定数α=2÷(n+1)です。

複数の移動平均線のインジケーター作成

画像の通り8本の移動平均線を1つのインジケーターで表示しています。5, 10, 25, 50, 75, 100, 150, 200日で設定しています。移動平均線の期間は任意で変更可能です。

インジケーター貼り付け方法

TradingViewのPineエディタの【開く】→【インジケーター】を開き、数行コード書いてあると思いますので、削除して、下のコードを貼り付けて保存すればOKです。

//@version=5
indicator(title="Multi Moving Average", shorttitle="multi-MA", overlay=true)

MAtype = input.string(defval="SMA", options=["SMA", "EMA"])

MA1 = input(true,inline="MA1")
MA2 = input(true,inline="MA2")
MA3 = input(true,inline="MA3")
MA4 = input(true,inline="MA4")
MA5 = input(true,inline="MA5")
MA6 = input(true,inline="MA6")
MA7 = input(true,inline="MA7")

len1 = input.int(5, minval=1, inline="MA1", title="")
len2 = input.int(25, minval=1, inline="MA2", title="")
len3 = input.int(50, minval=1, inline="MA3", title="")
len4 = input.int(75, minval=1, inline="MA4", title="")
len5 = input.int(100, minval=1, inline="MA5", title="")
len6 = input.int(150, minval=1, inline="MA6", title="")
len7 = input.int(200, minval=1, inline="MA7", title="")

ma_1 = MAtype=="SMA" ? ta.sma(close, len1) : ta.ema(close, len1)
ma_2 = MAtype=="SMA" ? ta.sma(close, len2) : ta.ema(close, len2)
ma_3 = MAtype=="SMA" ? ta.sma(close, len3) : ta.ema(close, len3)
ma_4 = MAtype=="SMA" ? ta.sma(close, len4) : ta.ema(close, len4)
ma_5 = MAtype=="SMA" ? ta.sma(close, len5) : ta.ema(close, len5)
ma_6 = MAtype=="SMA" ? ta.sma(close, len6) : ta.ema(close, len6)
ma_7 = MAtype=="SMA" ? ta.sma(close, len7) : ta.ema(close, len7)

//Plot
plot(MA1 ? ma_1 : na, color = color.new(color.red, 0), linewidth=1, title="MA1")
plot(MA2 ? ma_2 : na, color = color.new(color.orange, 0), linewidth=1, title="MA2")
plot(MA3 ? ma_3 : na, color = color.new(color.yellow, 0), linewidth=1, title="MA3")
plot(MA4 ? ma_4 : na, color = color.new(color.green, 0), linewidth=1, title="MA4")
plot(MA5 ? ma_5 : na, color = color.new(color.aqua, 0), linewidth=1, title="MA5")
plot(MA6 ? ma_6 : na, color = color.new(color.blue, 0), linewidth=1, title="MA6")
plot(MA7 ? ma_7 : na, color = color.new(color.purple, 0), linewidth=1, title="MA7")

以下、有料部分です。

ここから先は

160字

¥ 100

この記事が気に入ったらサポートをしてみませんか?