04 26, 2017

いくつかの新しい機能がPineスクリプト言語に追加されました

新しく “barstate.isconfirmed” 変数がバーのステータスを返す変数のリスト (barstate.isrealtime, barstate.ishistory, barstate.islast etc.) に追加されました。確定足(または未確定足)のみに基づいて計算されるインジケーターを作成できます。バーが最後に更新される場合を除き、バーがリアルタイムで更新される時に “Barstate.isconfirmed” の値は false です。

//@version=3
study("Price prediction, barstate.isconfirmed sample")
prediction = not barstate.isconfirmed ? 2 * close - close[1] : na
plot(close)
plot(prediction, style=cross, linewidth=3, offset=1)

chrome_2017-04-25_17-02-35


“input” 関数に “options” 引数を追加しました。いくつかの内蔵インジケーターにオプションを選択する設定がある事を気づいていたかも知れません。今後Pineスクリプトで同様の事を行う事ができます。

//@version=3
study(title="Average True Range, input with options sample", shorttitle="ATR", overlay=false)
length = input(14, minval=1)
smoothing = input(defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])

ma(smoothing, src, length) =>
    if smoothing == "RMA"
        rma(src, length)
    else
        if smoothing == "SMA"
            sma(src, length)
        else
            if smoothing == "EMA"
                ema(src, length)
            else
                if smoothing == "WMA"
                    wma(src, length)
                else
                    src

plot(ma(smoothing, tr(true), length), color=red)

chrome_2017-04-25_18-42-36

今後のアップデートで、関数(input 関数を含む)で変数を使用する可能性をさらに拡大します。他の機能で次のコールが利用可能になります。

opt1 = "option1", opt2 = "option2"
i = input(opt1, options=[opt1, opt2])
if i == opt1
    <...>