Kriteria Zone Valid — Semua harus terpenuhi
✓
Impulse Origin — Zone terbentuk dari candle impulsif: range candle > 1.5× ATR(14) dan body size > 70% total range candle.
✓
Unmitigated — Harga belum pernah menembus lebih dari 50% body zone sejak terbentuk. Jika sudah ditembus >50% → zone invalid.
✓
Clear Origin Candle — Ada satu candle yang jelas sebagai titik asal zone. Bukan area yang gradual atau konsolidasi panjang.
↓
Tested Zone — Zone yang sudah 3× dites turun ke priority rendah (strength score berkurang). Masih valid tapi tidak ideal.
✗
Broken Zone — Harga close di luar zone melebihi penetration threshold. Zone status = BROKEN, dihapus dari watchlist aktif.
Detection Logic — SnD Zone
-- Impulse candle detection
candle_range = high - low
body_size = |close - open|
atr14 =
ATR(period=14)
is_impulse = candle_range >
atr_multiplier × atr14
AND body_size / candle_range >
body_threshold
-- Zone boundary
zone_top = high
of origin candle
zone_bottom = low
of origin candle
-- Zone status
penetration = (price - zone_bottom) / (zone_top - zone_bottom)
if penetration >
0.50 → status =
'BROKEN'
| Parameter | Default | Range | Keterangan |
| atr_period |
14 |
7 – 21 |
Period ATR untuk ukur volatilitas candle |
| atr_multiplier |
1.5× |
1.2 – 2.5 |
Minimum candle range relatif terhadap ATR untuk dianggap impulse |
| body_threshold |
70% |
50% – 85% |
Minimum body size sebagai persen dari total candle range |
| penetration_threshold |
50% |
30% – 70% |
Batas penetrasi zone sebelum dianggap BROKEN |
| max_tests_before_weak |
3 |
2 – 5 |
Berapa kali zone dites sebelum strength turun ke LOW |