見出し画像

Pine Script™ (v5) の覚書 - 7 : request.security_lower_tfを使ってマルチタイムフレーム(MTF)移動平均線を描いてみる(5)

前回までの話

ここまで移動平均線の最大値(max)、最小値(min)、最古の平均値(get(0)) 、最新の平均値(last())の4本をplotしたが、これらを描き分けてみる。

最大値 → greenの実線
最小値 → redの実線
最古と最新 → 最新が上がっていればgreen(透明)の塗り、最新が下がっていればred(透明)の塗り

ここで使う関数とその引数
fill(plot1,plot2,color,title)→plot1とplot2の間をcolorで塗る
color.new(color,transp)→透明度transpのcolor色

//@version=5
indicator("マイスクリプト",overlay=true)

ma_label(x,y,labelText="", textColor=color.green)  =>
    var l=label.new(na,na,labelText,style=label.style_none,textcolor=textColor)
    l.set_xy(x,y)
    l

sma20_15=request.security_lower_tf(syminfo.tickerid,"15",ta.sma(close,20))

plot(sma20_15.max(),"15:20移動平均線(max)",color.green)
plot(sma20_15.min(),"15:20移動平均線(min)",color.red)

oldest=sma20_15.size()?sma20_15.get(0):na
latest=sma20_15.size()?sma20_15.last():na

p1=plot(oldest,"15:20移動平均(oldest)",display=display.none)
p2=plot(latest,"15:20移動平均(latest)",display=display.none)
fill(p1, p2, oldest<latest?color.new(color.green,70):color.new(color.red,70), "15:20塗り")

myLabel20=ma_label(bar_index+2,array.avg(sma20_15),"15:20移動平均",color.green)

これをチャートに反映すると図1のようになる

図1 チャートに反映

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