DataSahamBot adalah bot Telegram dari aplikasi Data Saham Indonesia. Setelah terhubung dengan akun Anda, bot ini melakukan dua hal:
- mengirimkan Price Alert dan Formula-Based Alert Anda ke Telegram, saat alert tersebut terjadi;
- menggambar chart saham IDX mana pun sesuai permintaan — dengan indikator pilihan Anda, serta formula screener Anda sendiri yang digambar sebagai garis, histogram, dan panah sinyal beli/jual.
Artikel ini membahas cara menghubungkan bot, meminta chart, dan semua yang dapat ditampilkan pada chart.
Menghubungkan DataSahamBot dengan aplikasi
1. Di aplikasi, buka menu lalu pilih Link to Telegram.

2. Ketuk LINK TO TELEGRAM. Telegram akan membuka chat dengan DataSahamBot.

3. Kirim /start ke DataSahamBot. Bot akan membalas dengan chat ID Anda, mendaftarkannya, dan memberikan tautan ke bot pribadi Anda — salah satu dari DataSaham0Bot sampai DataSaham9Bot, tergantung chat ID Anda.

4. Buka tautan tersebut lalu ketuk START pada bot pribadi Anda, atau kirimkan pesan apa saja.
5. Kembali ke aplikasi, layar Link to Telegram kini menampilkan nama Telegram Anda. Tautan sudah selesai.

Mulai sekarang alert Anda akan masuk ke Telegram:

Mengapa ada bot pribadi? Telegram membatasi jumlah pesan yang dapat dikirim satu bot setiap detiknya. Agar alert tetap tepat waktu, pengirimannya dibagi ke sepuluh bot, dan setiap pengguna dilayani oleh salah satunya. Bot Telegram hanya dapat mengirim pesan kepada orang yang sudah memulainya, sehingga sebelum Anda memulai bot pribadi, DataSahamBot hanya dapat meneruskan alert pertama setiap harinya, disertai pengingat.
Bila DataSahamBot dihapus dari daftar chat Telegram Anda, tautan menjadi tidak aktif. Hubungkan kembali melalui menu yang sama.
Siapa yang dapat meminta chart
Chart dapat diminta melalui DataSahamBot maupun bot pribadi Anda, untuk akun yang sudah terhubung dan membuka aplikasi dalam tiga hari terakhir.
- Akun premium dapat meminta chart tanpa batas.
- Akun gratis dapat meminta beberapa chart setiap hari.
- Pengaturan chart (
/indicator,/theme,/bars) gratis untuk setiap akun yang terhubung.
Agar layanan tetap responsif bagi semua pengguna, setiap pengguna dapat meminta satu chart setiap lima detik.
Meminta chart
/chart <kode> [timeframe] [bar] [indikator]
/<kode> [timeframe] [bar] [indikator]
Permintaan paling singkat cukup kode sahamnya. /bbca menggambar chart harian BBCA, 200 bar, dengan indikator default: lima moving average, Bollinger Bands, MACD, dan Stochastic.

Bagian atas menampilkan open, high, low, close, perubahan, dan volume bar terakhir. Legenda setiap indikator menampilkan nilai terbarunya.
Timeframe
| Timeframe | Singkat |
|---|---|
| yearly | y |
| quarterly | q |
| monthly | m |
| weekly | w |
| daily (default) | d |
| 4hour, 3hour, 2hour | 4h, 3h, 2h |
| hourly | h |
| 45min, 30min, 15min, 10min | 45, 30, 15, 10 |
| 5min, 3min, 2min, 1min | 5, 3, 2, 1 |
/tlkm 30 ==> TLKM, chart 30 menit
/chart tlkm 30min ==> sama
/bbca w ==> BBCA, mingguan

Bar intraday dihitung dari pembukaan sesi pukul 09:00, sama seperti TradingView.
Jumlah bar: zoom
Sebuah chart menampilkan 200 bar kecuali Anda meminta jumlah lain, dari 20 sampai 560. Angkanya ditulis setelah timeframe:
/chart bbca d 60 ==> 60 bar harian terakhir
/bbca 120 ==> 120 bar harian
Angka tepat setelah kode saham yang juga merupakan timeframe — 1, 2, 3, 5, 10, 15, 30, 45 — dibaca sebagai timeframe: /bbca 30 adalah chart 30 menit.

Di bawah setiap chart terdapat tombol zoom: ketuk untuk menggambar ulang chart yang sama dengan bar lebih sedikit (zoom in) atau lebih banyak (zoom out), tanpa mengetik ulang permintaan.
Indikator
Indikator yang ditulis setelah permintaan hanya digambar pada chart tersebut:
/chart bbri d macd(12,26,9), rsi(14)

| Di atas harga | Panel di bawah chart |
|---|---|
sma(n), ema(n), wma(n), vwap(n) | macd(fast,slow,signal), rsi(n), stoch(n,k,d) |
bb(n,k) — Bollinger Bands | dto(rsi,stoch,k,d) — DT Oscillator |
keltner(n,k), donchian(n) | trix(n), cci(n), atr(n), adx(n) |
psar(step,max) | mfi(n), willr(n), roc(n), obv |
foreign, accum, bidoff — arus dana asing, akumulasi broker, bid-offer |
Pisahkan indikator dengan koma atau spasi. Satu chart dapat memuat sampai 6 item di atas harga dan 4 panel indikator, di luar panel volume yang selalu ada. Tanpa parameter, indikator memakai parameter standarnya: rsi adalah rsi(14), dto adalah dto(14,8,5,3).
DT Oscillator menggambar %K dan %D dalam satu panel, pada skala tetap 0–100 dengan garis bantu di 20 dan 80. Parameternya sama dengan fungsi screener dto_stochk dan dto_stochd:
/bbca w dto(14,14,3,3)

Pengaturan Anda
Pengaturan disimpan untuk chat Telegram Anda dan berlaku pada setiap chart yang Anda minta sesudahnya.
/indicator — indikator Anda untuk setiap chart.
/indicator macd(12,26,9), rsi(14), trix(15)
/indicator default ==> kembali ke indikator default
/indicator ==> menampilkan daftar Anda, dengan tombol set siap pakai
Set siap pakainya adalah:
- trend:
ema(20), ema(50), sma(200), bb(20,2), adx(14), macd(12,26,9) - momentum:
sma(20), sma(50), rsi(14), stoch(14,3,3), macd(12,26,9) - flows:
sma(20), sma(50), foreign, accum, bidoff
/theme — /theme dark atau /theme light.

/bars — jumlah bar yang ditampilkan sebuah chart: /bars 120, dari 20 sampai 560.
Telegram menampilkan saran perintah saat Anda mengetik /, sehingga cukup mengetik /ind lalu mengetuk sarannya.
Formula Anda sendiri pada chart: tql() dan signal()
Setiap nilai yang dapat dihitung screener dapat digambar pada chart. Formulanya ditulis dalam bahasa screener yang dijelaskan di Panduan Penulisan Kriteria pada Screener, termasuk nama singkatannya (xu, stok, vol, …) dan perpotongan (cross_up, cross_down).
tql(formula[,gaya][;formula[,gaya]]...[;posisi])
signal(kondisi[,gaya][;kondisi[,gaya]]...[;posisi])
tql()menggambar nilai setiap formula: sebagai garis (line, default) atau histogram (hist). Formula-formula dalam satutql()berbagi satu panel.signal()menggambar panah pada setiap bar ketika kondisinya mulai terpenuhi:up(default) di bawah low bar,downdi atas high-nya. Tambahkanalluntuk menandai setiap bar selama kondisinya terpenuhi, bukan hanya yang pertama.
Formula membaca bar chart itu sendiri kecuali bila menyebutkan timeframe: pada chart mingguan, sma(5) adalah rata-rata 5 minggu. Formula yang menyebutkan timeframe lain, atau saham lain, membacanya sebagaimana keadaannya pada setiap bar chart, tidak pernah data sesudahnya:
/bbca d tql(weekly dto_stochk(14,14,3,3); weekly dto_stochd(14,14,3,3))
/bbca w tql(sma(5); daily sma(5); over)
/bbca tql(close / code:bbri close)
Pada chart harian, nilai mingguan pada hari Rabu adalah minggu berjalan — Senin sampai Rabu — sama seperti yang dilihat screener dan alert pada hari itu. Dengan demikian panah signal() muncul pada bar yang sama dengan saat alert terkirim.
Formula dipisahkan dengan ;. Item terakhir menentukan posisinya:
| Posisi | tql() | signal() |
|---|---|---|
panel | panel tersendiri (default) | — |
over | di atas harga | di atas harga (default) |
overvol atau ovol | di atas volume | di atas volume |
p1 … p4 | — | pada panel indikator pertama sampai keempat |
Beberapa formula dalam satu panel
/bbca tql(ema(12); ema(26); ema(12) - ema(26), hist)

Bila nilai-nilai dalam satu panel berbeda jauh besarnya — di sini EMA sekitar 6.000 dan selisihnya sekitar ±200 — masing-masing mendapat skalanya sendiri. Yang pertama memakai sumbu di kanan; yang kedua diberi label di dalam tepi kiri panel, yang ketiga di dalam tepi kanan, sampai empat skala dalam satu panel.
Garis di atas harga, dengan panah beli dan jual
/bbca tql(ema(12), line:blue; ema(26), line:orange; over) signal(ema(12) xu ema(26), up; ema(12) xd ema(26), down)

Legenda setiap sinyal menampilkan berapa kali sinyal itu muncul pada bar yang ditampilkan.
Sinyal pada panel indikator
/tlkm rsi(14) signal(rsi(14) xu 30, up; rsi(14) xd 70, down; p1)
p1 adalah panel indikator pertama sesuai urutan penulisan — di sini RSI. Panah pada panel diletakkan di sepanjang tepi bawahnya (up) dan tepi atasnya (down).

Di atas volume
/bbri sma(20) tql(sma(vol, 20); ovol) signal(vol > 2 * sma(vol, 20), up; ovol)

Warna
Gaya dapat diikuti warna: line:blue, up:gold, down:navy. Histogram menerima dua warna — di atas dan di bawah nol — seperti hist:green:red.
/asii tql(macdh, hist:teal:maroon) stoch(14,3,3) signal(stok xu stod, up:blue; stok xd stod, down:orange; p2)

Warna yang tersedia: green, red, blue, orange, purple, teal, cyan, yellow, gold, pink, brown, lime, navy, maroon, gray, black, white, atau #rrggbb apa pun. Tanpa warna, panah up bergantian hijau, teal, dan biru, sedangkan panah down merah, oranye, dan ungu.
Batasan
- Sampai 8 formula per chart, dari seluruh
tql()dansignal()-nya. - Histogram tidak dapat diletakkan di atas harga; letakkan di panel atau di atas volume.
- Seluruh formula sebuah chart harus selesai dihitung dalam beberapa detik. Bila sebuah chart terlalu lama, zoom in ke bar yang lebih sedikit atau sederhanakan formulanya.
tql()dansignal()dapat disimpan dengan/indicatorseperti indikator lainnya, sampai 500 karakter.
Bila ada yang keliru, bot akan membalas dengan bagian yang tidak dapat dibacanya beserta cara penulisan yang benar — pesan yang sama dengan screener.