(1)概要
(2)plot関数
(3)change関数・iff関数
(4)input関数
(5)security関数、相関係数インジケータ
(6)fill関数
(7)bgcolor関数
(8)複数行を一括でコメントアウトできる?
(9)line.new関数・line.set関数、ピボット・インジケータ
(10)関数宣言(カスタム関数)、ピボット・ハイ・ロー・インジケータ
(11)ジグザグ(ZigZag)インジケータ
(12)平均足バー・マルチタイムフレーム(MTF)
(13)ストラテジー・バックテストの概要
(14)ストラテジー・サンプル「EMAクロス+固定TP/SL」
(15)ストラテジーの「最適化」をめぐるTradingViewとMetaTraderの違い
(16)Security関数のgapsとlookaheadとは?
(17)アラート条件の設定:alertcondition
はじめに
今回はPineScript入門ガイドの12回目です。次回からバックテストができる「ストラテジー」をご紹介する予定ですが、その前に、人気のある「平均足バー・マルチタイムフレーム(MTF)」インジケータのサンプルスクリプトをご紹介したいと思います。

平均足バーとは、平均足の陽線・陰線を、チャートとは別のバーで表示、かつマルチタイムフレーム(MTF)とは、チャートの時間足とは異なる時間足の分まで表示するものです。

今回のサンプルの新しい関数は、「heikinashi関数」だけです。それ以外は、これまでの復習でつくることができます。
平均足バー・マルチタイムフレーム(MTF)インジケータのスクリプト
それでは、このインジケータのサンプル・スクリプトを一行づつ説明していきます。
まず、このインジケータを表示させた結果は、以下のチャートのようになります。チャートは5分足で、平均足バーは、上から5分足、1時間足、日足の3つの平均足の陽線・陰線を表示しています。平均足バーの対象時間足は、プルダウンで変更できます。

通常の平均足と違って、ローソク足が同時に見れること、また上位足の平均足の状況もみれるので、環境認識がとてもしやすいと思います。
このインジケータのスクリプトは、以下の通りです。
説明のために、(A)から(D)までの注釈を加えています。
//@version=4 study("Heikinashi-bar-MTF", overlay = false) period1 = input("5", type=input.resolution) //-----(A) period2 = input("60", type=input.resolution) period3 = input("D", type=input.resolution) ha_period1_close = security(heikinashi(syminfo.tickerid), period1, close) //-----(B) ha_period1_open = security(heikinashi(syminfo.tickerid), period1, open) ha_period2_close = security(heikinashi(syminfo.tickerid), period2, close) ha_period2_open = security(heikinashi(syminfo.tickerid), period2, open) ha_period3_close = security(heikinashi(syminfo.tickerid), period3, close) ha_period3_open = security(heikinashi(syminfo.tickerid), period3, open) dif_period1 = ha_period1_close - ha_period1_open >= 0 dif_period2 = ha_period2_close - ha_period2_open >= 0 dif_period3 = ha_period3_close - ha_period3_open >= 0 p1 = plot(3 ,color=color.black) //-----(C) p2 = plot(2 ,color=color.black) p3 = plot(1 ,color=color.black) p4 = plot(0 ,color=color.black) fill(p1 ,p2 ,color = dif_period1 ? color.green : color.red ,transp=0) //-----(D) fill(p2 ,p3 ,color = dif_period2 ? color.green : color.red ,transp=0) fill(p3 ,p4 ,color = dif_period3 ? color.green : color.red ,transp=0)
(A) period1 = input(“5”, type=input.resolution)

(B) ha_period1_close = security(heikinashi(syminfo.tickerid), period1, close)pivots(src, length, isHigh) =>
heikinashi関数は、security関数に渡すことができる平均足の対象の文字列を返す関数です。
(例)heikinashi_aapl_60_close = security(heikinashi(“AAPL”), “60”, close)
この例では、アップル株について、1時間足の平均足の終値を取得します。

plot関数は指定された値をチャート上に描画する関数です。詳しくは、第2回をご参照下さい。

fill関数は、2つの描画の間の背景を塗りつぶす関数です。詳しくは、第6回をご参照下さい。
