Pineで配列がご利用可能になりました。

09 10, 2020

強力な新しい配列機能を使用してPineスクリプトでカスタムデータセットを構築できるようになりました。配列は、floatintboolcolor のいずれかのタイプの要素を含む一次元のデータ構造にコーダーがデータを入力、管理、計算できるようにすることで、Pineのモデリング機能を大幅に拡張します。

この行は、値 na で初期化された3つのfloat要素を含む levels と呼ばれる配列を作成します:

levels = array.new_float(size = 3, initial_value = na)

配列は動的なリサイズをサポートしています。特別な関数により、コピー、ソート、スライスなど配列のさまざまな変換が可能です。特別な目的の数学関数での操作も可能です: array.min(), array.max(), array.stdev(), array.avg(), array.median() など。

この例では、配列を使用して、出来高が増加したバーのみの価格レベルを保持するデータセットを構築して、それらの値の平均をプロットしています。ここで使用されている配列では、FIFO(先入れ先出し)構造を実装しています:

//@version=4
study("Price Avg Of Increasing Volume Bars", "", true)
i_levels = input(20,   "Levels")
i_src    = input(hlc3, "Source")

// ユーザーが選択したサイズの配列を `na` 値で初期化します。
var levels = array.new_float(i_levels)

if rising(volume, 1)     
    // 配列の先頭から最も古いレベルを削除します。
    array.shift(levels)

    // 配列の最後に新しいレベルを追加します。
    array.push(levels, i_src)

// `na` 値を除いた配列のレベルの平均を計算します。
level = array.avg(levels)
plot(level, "Level", close > level ? color.lime : color.fuchsia)

ご利用開始には、Pine ユーザーマニュアルの配列のページがお役に立つと思います。また配列のテストで最も力を貸して頂いた PineCoders と心より感謝を申し上げたい RicardoSantosDuyck による以下のスクリプトでの配列の動作もご覧ください。

Graph style – 4th Dimension RSI

Function – Multi Dimension Indexer

Function – K-Means Clustering

Function – Linear Regression

Function – Polynomial Regression

Trendlines – JD

Average Pivot Range – JD

Matrix functions – JD

これらのスクリプトは、Pineで行える事を配列で再定義する方法やこれまで以上に強力なインジケーターやストラテジーへの道を開く方法を、すべてのTradingViewトレーダーに垣間見せてくれます。それを見られる事を大変嬉しく思います。

この新機能がお役に立てば幸いです。引き続き、改善の為のフィードバックをお寄せください。私たちはあなたのためにTradingViewを構築しており、こうしたプラットフォームで非常にご要望の多かったアップデートについてのお考えを伺う事が大好きです。

Look first Then leap

あなたのためのTradingView、その最高の機能を最大限にご活用ください
チャートを起動