Pineスクリプト道場はPineスクリプト入門からコード作成までをサポートする初心者の方のための記事です。
Pineスクリプトをある程度使える方は「Pineスクリプトの学校」にて応用記事を書いておりますのでそちらをどうぞ。
今回から、今までの知識をフルに使用していよいよ実際にインジーケーターを作成していきます!
初回となる今回は、Pineスクリプトでインジケーターやストラテジーを作成する際に必要となる基礎中の基礎について解説します!
(記事とは関係ないですが、今まで「だ・である調」で記事を書いていましたが、なんとなく疲れるので今回から「です・ます調」で記事を書いていきます!)
1、Pineスクリプトの基礎知識は3つ!
Pineスクリプトにおいて必要となる知識は大きく3つあります。
これらはいずれも他のプログラミング言語とは異なる特徴ですので、初心者の方もプログラミング経験者の方も必ず覚えておきましょう!
では、その3つとは何かというと、
1、Pineスクリプトは「足ごと」に処理が実行される
2、Pineスクリプトで扱うデータは4つのみ
3、過去の足のデータは”[ ]”で参照しよう
の3つです。
以下から詳しく説明していきます。
1、Pineスクリプトは「足ごと」に処理が実行される
Pineスクリプトは、TradingViewで動作するプログラミング言語であり、TradingViewのチャート上には以下ようなローソク足と呼ばれるものが表示されます。
↓こんなやつ
ローソク足とは?
そもそもローソク足をどのように見るのかわからない方もいると思うので、ローソク足の味方について解説します。既にご存知の方は飛ばしてもらって結構です。
ローソク足とは、ある一定の期間の「始値」「高値」「安値」「終値」の4つの情報によって生成された図形のことです。
ローソク足には、以下のように「陰線」と「陽線」の二つがあります。
次に、どのようにローソク足が作られるかについて見ていきましょう。
以下のように縦軸に価格、横軸に時間をとったグラフチャートをローソク足にて表現する場合を考えます。今回は、「ある期間」を赤の破線で示した範囲にすることとします。
これをローソク足で表現すると以下のようになります。
なんとなく理解できたでしょうか。この図では、「始値」より「終値」が安くなっていることがわかります。このように、始値より終値が低い場合の足を陰線と言います。
逆に以下のチャートならどうでしょうか。
今度は「ある期間」での「始値」より「終値」のほうが価格が高くなっています。このような場合の足を陽線と言います。
また、ちょくちょく出てきた「ある期間」についてですが、この期間は1分だったり1日だったり1ヶ月だったりと指定ができます。分単位のローソク足を「分足」、日単位のローソク足を「日足」、月単位のローソク足を「月足」などと言ったりします。
そして、ローソク足の各部には「実体」と「上ひげ」「下ひげ」という名前がついています。
これらを理解した上で先ほどのチャートを見ると見方が変わるのではないでしょうか。
本題に戻ります!
では、ローソク足について理解できたところで本題に戻ります。
繰り返しますが、ここで重要なのは
Pineスクリプトは「足ごと」に処理が実行される
ということです。
では、以下から通常のプログラムの処理と比較して違いを解説します。
左が通常のプログラムの処理の流れ、右がPineスクリプトの処理の流れです。
通常のプログラムは、上から下へ順に処理を実施していき、すべての処理が終わったら終了します。
しかし、Pineスクリプトはそうではなく、1つの足ごとに毎回全ての処理を実施するようになっています。
例えばチャート上に足1から足5まで、5本のローソク足がある場合を考えると、足1で処理1〜処理3まで実行。次に足2で処理1〜処理3まで実行。次に足3で・・・足5で処理1〜処理3まで実行して終了!となるわけです。
これをしっかりと覚えておきましょう!
2、Pineスクリプトで扱うデータは4つのみ
次にPineスクリプトで扱うデータについて説明しますが、基本的にPineスクリプトで扱うデータは4つのみです。その4つとは、
1、始値 (open)
2、高値 (high)
3、安値 (low)
4、終値 (close)
です。つまり、ローソク足で言えば以下の箇所になります。
そして、Pineスクリプトではそれぞれを「open」「high」「low」「close」というビルトイン変数にて参照可能となっています。
ビルトイン変数についは次回の記事で解説しますね!
基本的には、インジケーター作成もストラテジー作成もこの4つのデータを扱うことになるので覚えておきましょう。
3、過去の足のデータは”[ ]”で参照しよう
そして、最後になりますが、過去の足のデータは”[ ]”で参照しましょう。
どういうことか説明します。
先ほど、Pineスクリプトのプログラムは足ごとに処理をされると言いました。では、下図のオレンジ矢印の足で処理が行われている際に、図左側の緑矢印の足の終値のデータを取得したいとしましょう。
このような場合は、まずデータを取得したい足(緑矢印の足)が、今処理を行っている足(オレンジ矢印の足)からいくつ前にあるかカウントします。
↓こんな感じ
この通り、8つ前に参照したい足がありますね。
で、先ほど説明した通り終値はcloseで取得できます。
つまり、この場合はclose[8]と書けば緑矢印の足の終値が参照できるわけです。
ちなみに、オレンジ矢印の足で処理が終わり、次の足での処理が始まった場合はclose[8]で取得できる終値のデータは、図でいうと7番の足の終値になります。
2、まとめ
今回の記事ではPineスクリプトの基礎知識3つを紹介しましたが、まとめると、
1、Pineスクリプトは「足ごと」に処理が実行される
2、Pineスクリプトで扱うデータは「始値」「高値」「安値」「終値」の4つのみ
3、過去の足のデータは”[ ]”で参照しよう
ということでした。
では、次回の記事では「ビルトイン変数」と「ビルトイン関数」について説明します。
ではまた!
本記事を気に入っていただけたらブックマークお願いします!また、ツイッターもやってるのでフォローよろしくお願いいたします!
Twitter : makoto(@Makoto_beginner)
また、記事中で不明なことや間違い等ありましたら以下のコメント欄からコメントいただけると幸いです。
皆様のコメントをもとにどこよりもわかりやすいブログを目指していきます。