TradingViewのATRのPineスクリプトをチェック
プログラム初心者の方は、最初は一からプログラムを作成するよりもデフォルトで用意されているインジケーターに変更を加えながらプログラムを学んでいくという方法がお勧めです。
今回はAverage True Range(ATR)のPineスクリプトを見ながら、Pineスクリプトの基本的な構造を見てみたいと思います。
TradingView(トレーディングビュー)のATRのPineスクリプトを分解
Pineエディタでデフォルトのインジケーターのスクリプトを表示する場合は「新規作成」のタブのプルダウンから表示したいインジケーター名を選択します。
Pingエディタに選択したインジケーターのスクリプトが表示されます。今回はAverage True Range(ATR)のスクリプトを見てみましょう。
ちなみに、ATRは「高値-安値」、「高値-前日終値」、「前日終値-安値」の3つの数値の内、一番大きな数値であるTrue Rangeを移動平均化した数値です。
【Average True Rangeのスクリプト】
ATRのスクリプトは次の通りです。
//@version=4
study(title="Average True Range", shorttitle="ATR", overlay=false, resolution="")
length = input(title="Length", defval=14, minval=1)
smoothing = input(title="Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])
ma_function(source, length) =>
if smoothing == "RMA"
rma(source, length)
else
if smoothing == "SMA"
sma(source, length)
else
if smoothing == "EMA"
ema(source, length)
else
wma(source, length)
plot(ma_function(tr(true), length), title = "ATR", color=#991515, transp=0)
最初の「//@version=4」でPineスクリプトのバージョンを指定しています。
次のstudy()でインジケーターの名前やタイプを指定しています。
「title」でインジケーター名を指定し、「shorttitle」で略称を指定し、「overlay」ではチャート上の価格部分にオーバーレイするタイプのインジケーターかどうかを指定しています。「false」と指定するとオーバーレイせずにチャートの下部にサブチャートを表示するタイプのインジケーターとなります。
この「overlay」の部分を「true」に変更すると、次のチャートのようにチャートの価格上にオーバーレイで表示されます。
「resolution」はインジケーターの時間の刻みの設定ですがここでは、指定していません。
次にlength =は計算の対象期間となる変数です。
input関数を使うことでユーザーが任意に数値を設定できるようにしています。
Input関数ではデフォルトの数値(このATRの例では14)、最小値(このATRの例では1)と指定しています。
smoothing = では、ATRを算出する際に用いる移動平均線の種類を選択できるようにしています。
ma_function(source, length) 以下、Plotの手前までは、smootingで選択された移動平均線の種類による処理を記述し、Plotでは、lengthで指定された期間でのTRを算出し、前段で指定した移動平均の種類により、ATRを計算、ラインの色、透明度を指定し、チャート上に書き出す命令を行っています。
通常のプログラミングであれば、TrueRangeの数値を計算する式を書かなければなりませんが、TradingViewのPineスクリプトでは、このrma関数やtr関数のようにテクニカル分析でよく使われる数値を算出するビルトイン関数が多く用意されているので、プログラムの手間を省くことができます。
TradingViewで使えるビルトイン機能(関数)とは?
今回のスクリプトでも何度か関数が登場していますが、Pineスクリプトでは「ビルトイン機能」という名の関数が多数用意されています。この関数はテクニカル指標(インジケーター)等の数値等、テクニカル分析をよく用いられる数値を算出する関数が多く含まれています。
ビルトイン関数の一覧はTradingViewのサイトで確認をすることができます。
また、ATRに関してもatrという関数が用意されているため、移動平均線の種類を指定しない場合は、次のようなプログラムで、より簡単にATRを描画することもできます。
//@version=4
study(title="Average True Range", shorttitle="ATR", overlay=false, resolution="")
plot(atr(14))
Pine Script(Pineスクリプト)をさらに学びたい方へオススメのコンテンツ
OANDA証券では、TradingViewのプログラミング言語である「Pine Script(Pineスクリプト)」に関する記事を豊富に提供しています。
プログラミング初心者の方でも、インジケーターやストラテジーの作成ができるよう、ソースコードをコピペ+少しの修正で組み上がる構成としています。
またOANDA証券とTradingViewのアカウントを連携させることで、「Tradingview」から直接トレードすることが可能です。
ぜひOANDA証券での口座開設をご検討下さい。
TradingView(トレーディングビュー)で使用する情報は、全てTradingView(トレーディングビュー)社に帰属するものであり、当社は、その正確性、完全性を保証するものではありません。同サイトで使用する情報に基づいて行った取引によって発生したいかなる損害・損失について、当社は一切責任を負いかねますのでご了承下さい。最終的な投資判断についてはお客様ご自身でお願い致します。
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。