4월 26, 2017

Pine 스크립트 언어에 새로운 기능을 더했습니다

barstate.isrealtime, barstate.ishistory, barstate.islast 등 바 스테이터스를 나타내는 변수에 새로운 변수인 “barstate.isconfirmed”  를 더했습니다. 이 변수를 쓰면 클로즈되거나 (또는 업데이트가능한) 바만을 기반으로 계산하는 인디케이터를 만들 수 있습니다. “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    <…>