ボックス描画機能
はじめに
PineScriptにボックス描画機能が追加されました。
この機能ではチャート上に長方形を簡単に書くことができます。
サンプルを踏まえて、PineScriptでの使い方を見ていきます。
サンプル
//@version=4
study("Box Example", overlay=true)
c_green = color.rgb(33, 150, 243, 80)
ll = lowest(10)
hh = highest(10)
b1 = box(na)
if barstate.islast
b1 := box.new(bar_index[9], hh, bar_index, ll,
bgcolor=c_green, border_style=line.style_dashed)
box.delete(b1[1])
//@version=4
バージョン4のPineScriptを使用しています。study("Box Example", overlay=true)Box Exampleという名前でインジケータを作成します。overlay=trueでチャートを重ねて表示します。c_green = color.rgb(33, 150, 243, 80)color.rgb(red, green, blue, transp)の文法で色を定義します。
各色は0~255,transpは0(不透明)~100(不可視)です。ll = lowest(10)
lowestは指定された過去バーの範囲での最安値を意味します。 この場合は過去10本のバーの中での最安値のことです。hh = highest(10)
lowestと逆で過去10本のバーの中で最高値を意味します。b1 = box(na)
ifが別のスコープを作成するので、再代入する元になるb1変数を先に空で定義しておきます。if barstate.islastbarstate.islastは現在のバーがバーセットの最後のバーの場合はtrueを返し、そうでない場合はfalseを返します。b1 := box.new(bar_index[9], hh, bar_index, ll, bgcolor=c_green, border_style=line.style_dashed)
b1に値を再代入します。(=は代入で、:=は再代入を表します)box.new(left, top, right, bottom, border_color, border_width, border_style, extend, xloc, bgcolor)で長方形を描画します。box.delete(b1[1])box.delete(id)で指定されたボックスを削除します。
このスクリプトを描画すると以下のようになります。
参考
PineScript入門
はじめに PineScriptはトレードのインジケータを作成するための言語です。 独自の言語なので少し癖があります。 この記事では、 Quickstart guide で紹介されているインジケータを解説します。 対象のインジケータのコード //@version=4 study("MACD") fast = 12, slow = 26 fastMA = ema(close, fast) slowMA = ema(close, slow) macd = fastMA - slowMA signal = sma(macd, 9) plot(macd, color=color.blue) plot(signal, color=color.orange) Line 1: //@version=4 この行はコンパイラにスクリプトのバージョンを伝えるコメントです。 Line 2: study("MACD") MACDというチャートの名前を定義しています。 studyはインジケータ、strategyがEAを意味します。 Line 3: fast = 12, slow = 26 2つの変数を定義しています。 Line 4: fastMA = ema(close, fast) EMA(Exponential Moving Average)を計算した結果をfastMAに代入します。 ema はビルトイン関数です。 closeのシリーズを元に計算し、期間はfast(12)です。 Line 5: slowMA = ema(close, slow)...
Seriesとは
はじめに PineScriptを使用する上で、最も重要なのがSeriesの理解です。 Seriesは若干クセがあるので、しっかりと理解する必要があります。 Pineスクリプトの型システム Pineスクリプトには以下の基本的な9つの型が存在します。 int float bool color string line label plot hline これらの型はいくつかの形式で存在します。 形式には5種類あります。 literal const input simple series 型と形式は合わせて参照されます。 例えばliteral bool型、input bool型…のようにコンパイラによって識別されます。 また、以下のような型も存在します。 array void na (not available) tuple type 形式 Literal Literalは固定された値を表すための特別な表記法です。 Literalは常に以下のどれかの型形式になります。 literal float (3.14, 6.02E-23, 3e8) literal int (42) literal bool (true, false) literal string (“A text literal”) literal color (#FF55C6) ビルトインのopen,high,low,…などはLiterarlではありません。 これらはserires formです。 Const Const形式の値は次の特徴があります。...