| Tanggal | Ticker | Confidence | Entry | Stop Loss | Target | Potensi |
|---|
| Tanggal | Ticker | Signal | Confidence | Hasil | Return % |
|---|
| Tanggal | Ticker | Signal | Confidence | Entry | Stop Loss | Take Profit | Model |
|---|
| Ticker | Trend 30d | Confidence | Entry | Stop Loss | Target | Potensi | Risiko | R/R | Aksi |
|---|
| Bucket Confidence | Jumlah | Akurasi Arah | Avg Return % |
|---|
| Regime | Jumlah | Akurasi Arah | Avg Return % |
|---|
| Ticker | Jumlah | Akurasi Arah | Avg Return % |
|---|
| Bulan | Jumlah | Akurasi Arah | Avg Return % |
|---|
| Job | Status | Mulai | Selesai | Durasi | Detail |
|---|
| Ticker | Trend 30d | Status | Entry | Lot | Harga Kini | Market Value | Return % | P/L (Rp) | Sinyal AI | Acuan Model | Catatan | Aksi |
|---|
| Tanggal Jual | Ticker | Entry | Harga Jual | Lot | Return % | Realized P/L | Catatan |
|---|
| Ticker | Harga | Perubahan | Close Sebelumnya | Update |
|---|
Ringkasan lengkap alur analisa sistem: dari data harga mentah sampai sinyal beli.
Semua angka threshold di bawah adalah default dan bisa diubah lewat file .env.
| Indikator | Period | Apa yang diukur | Peran dalam keputusan |
|---|---|---|---|
| SMA20 | 20 hari | Rata-rata harga sederhana | Basis tren jangka pendek |
| EMA20 vs EMA50 | 20 / 50 hari | Rata-rata berbobot (responsif) | EMA20 < EMA50 = tekanan jual → EXIT_SIGNAL; EMA20 > EMA50 = tren naik |
| RSI | 14 hari | Kekuatan relatif (0–100) | Fitur model — overbought/oversold |
| MACD + signal + hist | 12/26/9 | Momentum persilangan MA | Fitur model — giringan momentum |
| ATR | 14 hari | Rata-rata jangkauan harian | Menentukan jarak SL (2×ATR) & TP (3×ATR) |
| ADX | 14 hari | Kekuatan tren (0–100) | Fitur model — membedakan tren vs choppy |
| Volume ratio | vs 20 hari | Partisipasi pasar hari ini | < 0.5 → HOLD (sinyal tanpa dukungan volume diragukan) |
| Return 1d / 5d | 1 / 5 hari | Momentum jangka pendek | Fitur model |
| Volatilitas | 20 hari | Sebaran perubahan harga | Fitur model — risiko pergerakan liar |
Kondisi pasar diukur dari IHSG (^JKSE), bukan sahamnya, dengan aturan: BULLISH = close IHSG > EMA50 dan slope EMA50 naik >0.5% dalam 5 hari · BEARISH = close < EMA50 dan slope turun >0.5% · SIDEWAYS = sisanya.
| Regime | Efek pada sinyal |
|---|---|
| ▲ BULLISH | Threshold normal (0.60) — pasar ikut naik memudahkan breakout |
| ◆ SIDEWAYS | Threshold dinaikkan ke 0.70 — pasar choppy, breakout sering gagal (berdasarkan hasil evaluasi aktual) |
| ▼ BEARISH | Buy diblokir → HOLD (hanya pantau), EXIT tetap boleh keluar |
Pertanyaan yang dijawab model: “Seberapa yakin harga saham ini naik ≥3% dalam 3 hari ke depan?” Output = confidence 0–1 (bukan probabilitas profit).
| Aspek | Keterangan |
|---|---|
| Algoritma | XGBoost (fallback otomatis: LightGBM → RandomForest → Logistic) |
| Target training | Label 1 jika return 3 hari ≥ +3%, label 0 jika ≤ −3%; sinyal di tengah dibuang (zona netral) |
| Anti data-leakage | Fitur tanggal T hanya memakai data ≤ T; label T memakai harga T+3; split train/val/test kronologis (bukan acak) |
| Retrain | Manual via tombol POST /model/train — versi model baru tidak pernah menimpa yang lama |
| Confidence | ≥0.60 (atau ≥0.70 di SIDEWAYS) baru dipertimbangkan jadi BUY_SETUP |
| # | Cek | Ambang | Gagal → |
|---|---|---|---|
| 1 | Harga valid | close > 0 | NO_TRADE |
| 2 | Likuiditas (value harian) | ≥ Rp 1 miliar | NO_TRADE — saham tidur sulit dijual |
| 3 | Confidence model | ≥ 0.60 / 0.70 (SIDEWAYS) | NO_TRADE |
| 4 | Risk/Reward (TP÷risiko SL) | ≥ 1.5 | NO_TRADE — risiko tak sebanding potensi |
| 5 | Tren harga saham | EMA20 ≥ EMA50 | EXIT_SIGNAL — tekanan jual terdeteksi |
| 6 | Regime pasar | ≠ BEARISH | HOLD — hanya pantau |
| 7 | Volume ratio | ≥ 0.5 | HOLD — tanpa konfirmasi volume |
| ✓ | Lolos semua | — | BUY_SETUP (dengan Entry = close, SL = 2×ATR, TP = 3×ATR) |
Setiap prediksi dievaluasi sekaligus setelah 3 hari trading penuh (postmarket 17:30 WIB) — kena TP, kena SL, atau arah benar/tidak. Hasilnya jadi metrik di tab Kinerja: akurasi per jenis sinyal (BUY_SETUP dipisah dari non-BUY), per regime, per bucket confidence, per ticker, dan per bulan. Metrik inilah yang dipakai untuk menyetel threshold (misalnya lahirnya threshold SIDEWAYS 0.70).
| ID | Username | Role | Posisi | Terdaftar | Aksi |
|---|