![見出し画像](https://assets.st-note.com/production/uploads/images/146078370/rectangle_large_type_2_f386a0882d8f1eb575689780d0da9971.png?width=1200)
Pine Script™ (v5) の覚書 - 7 : request.security_lower_tfを使ってマルチタイムフレーム(MTF)移動平均線を描いてみる(4)
前回までの話
下位足のデータを使うと、現在足で移動平均として一つの値になってしまうものが、複数の時間のデータ(1時間足で15分足を取得する場合、4つのデータ)として取り扱える。
そこで、下位足の平均値のうち、最古のデータと最新のデータをプロットしてみる。
ここで使うarray関数とその引数
array.get(id,index)→配列のindex番目の要素を返す
array.last(id)→配列の最後の要素を返す
//@version=5
indicator("マイスクリプト",overlay=true)
sma20_15=request.security_lower_tf(syminfo.tickerid,"15",ta.sma(close,20))
plot(array.get(sma20_15,0),"15:20移動平均(oldest)")
plot(array.last(sma20_15),"15:20移動平均(latest)")
しかし、配列の要素にアクセスする方法は、特にスクリプト処理の最初に配列の準備ができていない場合、無常にも「スクリプトエラー」が発生し、スクリプトは動作しない。(コンパイル時には何も教えてくれない。)
![](https://assets.st-note.com/img/1719999279498-l3gFTZyuHk.png?width=1200)
そこで、配列の要素にアクセスできるかどうかを確認してから、最古と最新のデータを取り出してみる。
ここで使うarray関数とその引数
array.size(id)→配列の要素数を返す
//@version=5
indicator("マイスクリプト",overlay=true)
sma20_15=request.security_lower_tf(syminfo.tickerid, "15", ta.sma(close,20))
plot(sma20_15.size()?sma20_15.get(0):na, "15:20移動平均(oldest)", color.blue)
plot(sma20_15.size()?sma20_15.last():na, "15:20移動平均(latest)", color.white)
これを1時間足に表示すると図1のようになる
![](https://assets.st-note.com/img/1720333967529-0uZPHLylNy.png?width=1200)
続く
この記事が気に入ったらサポートをしてみませんか?