Struktur dasar dari pine script adalah
- Direktif @version dari compiler yang akan digunakan.
- Memiliki fungsi indicator atau strategy.
- Logika dan algoritama dari indicator atau strategy.
- Jika Anda membuat indicator, diperlukan fungsi untuk melakukan output kedalam chart, umumnya digunakan fungsi plot. Jika Anda membuat strategy maka diperlukan fungsi strategy.entry dan plot.
//@version=5 indicator(title="Stochastic RSI", shorttitle="Stoch RSI", format=format.price, precision=2, timeframe="", timeframe_gaps=true) smoothK = input.int(3, "K", minval=1) smoothD = input.int(3, "D", minval=1) lengthRSI = input.int(14, "RSI Length", minval=1) lengthStoch = input.int(14, "Stochastic Length", minval=1) src = input(close, title="RSI Source") rsi1 = ta.rsi(src, lengthRSI) k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = ta.sma(k, smoothD) plot(k, "K", color=#2962FF) plot(d, "D", color=#FF6D00) h0 = hline(80, "Upper Band", color=#787B86) hline(50, "Middle Band", color=color.new(#787B86, 50)) h1 = hline(20, "Lower Band", color=#787B86) fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")
Dengan contoh script diatas, maka
- version adalah 5.
- Script akan membuat indicator dengan nama Stochastic RSI.
- kemudian baris logika dan algoritma
- Terakhir indicator akan di tampilkan pada chart dengan fungsi plot.
Version
Saat tutorial ini dibuat, versi terbaru adalah versi 5. Pastikan Anda menggunakan direktif @version agar PineScript compiler dapat melakukan kompilasi script dengan benar.
Perlu diperhatikan, antar versi Pine Script tidak kompatibel. Jika Anda memodifikasi suatu script pastikan, digunakan versi yang sama.
Indicator vs Strategy
Indicator (pada versi sebelumnya disebut study), memiliki fitur:
- Plot informasi kedalam chart.
- Dapat melakukan perhitungan.
- Tidak dapat digunakan untuk backtesting.
- Dapat menggunakan alertcondition.
Strategy memiliki fitur:
- Plot informasi kedalam chart.
- Dapat melakukan perhitungan.
- Digunakan untuk backtests.
- Menggunakan strategy.* call untuk mengenerate buy atau sell orders.
- Tidak dapat menggunakan alertcondition.
Kita akan bahas bagaimana membuat logika dan algoritma, serta memahami lebih mendalam mengenai fungsi-fungsi built-in dari Pine Script pada modul selanjut.
Pada modul ini kita hanya melakukan pembahasan singkat mengenai struktur dasar Pine Script.