IDX Breakout Early Warning API
Sistem deteksi breakout dini untuk saham IDX berdasarkan skor volume, jarak ke resistance 52 minggu, dan alignment trend. Tersedia mode analisis tunggal dan batch scan.
Base Information
- BASE_URL_API:
https://api.maelyn.eu/api - Path / Endpoint:
/financial/idx/breakout-early-warning - Method:
GET - Credit Usage:
22
Authentication
x-maelyn-auth: YOUR_API_KEY
Description
Endpoint ini menghitung Breakout Score (0–100) untuk saham IDX berdasarkan tiga faktor utama: lonjakan volume vs rata-rata 20 hari, jarak harga ke resistance 52 minggu, dan alignment trend (harga > SMA20 > SMA50). Tersedia dua mode: analisis mendalam satu saham dengan validasi AI, atau batch scan seluruh TOP_SYMBOLS dengan ranking otomatis.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | Cond. | Kode saham untuk analisis tunggal. Contoh: BBCA. Wajib jika tidak menggunakan mode=scan |
mode | string | Cond. | Gunakan scan untuk batch scan semua TOP saham IDX |
sector | string | No | Filter sektor saat mode=scan: Perbankan Energi Consumer Teknologi Infrastruktur Properti Healthcare |
Gunakan salah satu:
?symbol=BBCAatau?mode=scan
Breakout Score Levels
| Level | Score | Deskripsi |
|---|---|---|
STRONG_BREAKOUT | 80–100 | Volume tinggi + sudah breakout resistance |
NEAR_BREAKOUT | 60–79 | Mendekati resistance dengan volume meningkat |
ACCUMULATION | 40–59 | Fase akumulasi, belum ada sinyal jelas |
NORMAL | 0–39 | Tidak ada sinyal breakout |
Example Usage
1. Analisis tunggal BBCA
GET /financial/idx/breakout-early-warning?symbol=BBCA
2. Batch scan semua top saham
GET /financial/idx/breakout-early-warning?mode=scan
3. Batch scan sektor Energi
GET /financial/idx/breakout-early-warning?mode=scan§or=Energi
Success Response — Single Mode
{
"success": true,
"data": {
"symbol": "BBCA",
"breakout": {
"score": 78,
"level": "NEAR_BREAKOUT",
"volMultiple": 2.4,
"avgVol20": 11200000,
"lastVol": 26880000,
"high52": 10250,
"distToResistancePct": 1.8,
"isBreakout": false,
"trendAligned": true,
"atrExpansion": 1.6,
"sma20": 9520.0,
"sma50": 9310.0,
"lastPrice": 9650
},
"ai_validation": {
"validasi": "VALID",
"katalis_fundamental": "BI tahan suku bunga, margin NIM bank tetap terjaga...",
"volume_quality": "Institutional",
"konfirmasi_dibutuhkan": "Close di atas 9.850 dengan volume > 2x rata-rata",
"target_breakout": "10.000–10.250",
"invalidation_level": "9.400",
"rekomendasi_aksi": "Akumulasi bertahap di area 9.600–9.700",
"risiko_utama": "Koreksi IHSG jika data inflasi AS mengecewakan",
"disclaimer": "Analisis ini bukan saran investasi resmi."
},
"sources": []
}
}
Success Response — Scan Mode
{
"success": true,
"data": {
"scanned_count": 15,
"hot_count": 3,
"sector_filter": "ALL",
"ranking": [
{
"symbol": "ADRO",
"score": 88,
"level": "STRONG_BREAKOUT",
"vol_multiple": 3.2,
"is_breakout": true,
"dist_to_res_pct": 0.0,
"trend_aligned": true,
"last_price": 2850
}
],
"top3_ai_validation": [
{
"symbol": "ADRO",
"validation": { "validasi": "VALID", "..." : "..." },
"sources": []
}
]
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
score | number | Breakout score 0–100 |
level | string | STRONG_BREAKOUT, NEAR_BREAKOUT, ACCUMULATION, NORMAL |
volMultiple | number | Volume terakhir vs rata-rata 20 hari |
isBreakout | boolean | true jika harga sudah menembus resistance 52 minggu |
trendAligned | boolean | true jika harga > SMA20 > SMA50 |
ai_validation.validasi | string | VALID, FAKEOUT_RISK, PREMATURE, atau INVALID |
Error Response
Tidak ada parameter
{
"success": false,
"message": "Gunakan ?symbol=BBCA untuk analisis tunggal, atau ?mode=scan untuk batch scan."
}
Data tidak cukup
{
"success": false,
"message": "Data historis XXXX tidak cukup (minimal 52 data point / ~3 bulan)."
}