Paper Trade IDX · VPS 202.10.46.193

Ringkasan strategi saham saya

Satu halaman, dari nyaring saham sampai jual. Biar kalau saya lupa, tinggal buka ini. Angkanya saya ambil langsung dari config.json dan kode di VPS per 30 September 2026, bukan dari ingatan — soalnya beberapa kali saya salah ingat sendiri.

Sen–Jum 08:30🎯 Rencana — saham yang saya pegang
Sen–Jum 08:45RSI Buy — yang belum saya pegang
Sen–Jum 17:00Trailing profit
Sabtu5 screener senyap + emas
tiap tgl 28Screening fundamental

Alurnya

1Saring perusahaannya dulu — 4× setahun, seluruh IDX dicek laba, dividen, ROE, PBV, FCF, DER.Yang saya cari: perusahaan yang tidak mendadak bangkrut.
2Cari titik masuknya — tiap hari kerja, saham bermutu yang RSI-nya udah di bawah lalu mulai balik naik.Kapan belinya. RSI itu gerbangnya, bukan tambahan.
3Atur besarnya — tangga 1 : 1,5 : 2,5 : 5. Makin turun makin besar, makin naik makin kecil.Berapa rupiahnya, bukan cuma beli atau enggak.
4Catat otomatis — email Trade Confirmation diproses sendiri, portfolio di VPS ikut diperbarui.Kalau ini enggak jalan, semua hitungan tahap jadi ngawur.
5Jual bertahap — nilai wajar yang nentuin, RSI yang ngatur waktunya.Kapan berhenti, dan berapa banyak yang dilepas.

1. Nyaring perusahaannya

15 Apr · 28 Mei/Ags/Nov

Tiap bulan, tanggal 28 jam 06:00 (1 Okt 2026). Dulu 4Γ— setahun β€” 15 April plus 28 Mei/Agustus/November β€” tapi begitu keanggotaan screening jadi syarat boleh-tidaknya beli, daftarnya enggak boleh basi berbulan-bulan. Waktu aturan itu dipasang, watchlist masih dari 22 Agustus dan jadwal berikutnya 28 November. Laporan keuangannya sendiri tetap kuartalan, tapi PBV dan dividend yield bergerak ikut harga.

SaringanAmbangSifat
Laba positif berturut5 tahunkeras
Dividen berturut3 tahunkeras
Rata-rata dividend yield 3 th>0%keras β€” diturunkan dari β‰₯1% pada 1 Okt 2026, biar saham seperti MAPI ikut masuk
ROE>5%keras
PBV<3keras
Free cash flow>0keras
DER≤2,5xkeras — satuannya kali, bukan persen. Energi/tambang ≤3,0x; sektor keuangan dilewati sama sekali (bank memang berutang)
Payout ratio<70%penanda saja saham dengan payout 85% tetap masuk, cuma dicatat

Jangan ketuker: 1% itu saringan, 3% itu selera saya

Ambang di watchlist 1%. Yang 3% itu patokan saya sendiri sebelum benar-benar beli (bareng RSI <50 yang mulai naik). Jadi itu lapisan keputusan manual, bukan saringan sistem. Saya sempat salah ingat soal ini.

Hasil jalan pertama setelah semua kriteria digabung (22 Ags 2026): 175 → 126 saham. Laporan keuangannya sendiri dicek mingguan Sabtu, terpisah dari screening ini, dan sejak 27 Sep 2026 jalan diam-diam — hasilnya cuma ngisi arsip, enggak kirim pesan sendiri.

Gunanya watchlist: menjaga yang sudah dipegang

1 Okt 2026

Saya nanya: kalau watchlist enggak dipakai buat kandidat RSI Buy, lalu apa gunanya? Ternyata jawabannya ada di sisi portfolio, bukan di sisi beli.

PosisiModalHasil bersihRugi belum nyata
Lolos screening fundamental106Rp309,3 jtβˆ’4,9%βˆ’Rp32,6 jt
Tidak lolos screening116Rp296,0 jtβˆ’15,9%βˆ’Rp71,3 jt

Modalnya hampir sama besar (49% vs 51%), tapi 69% kerugian belum nyata ada di sisi yang enggak lolos dan kinerjanya tiga kali lebih buruk. Ini korelasi, bukan bukti sebab-akibat β€” tapi arahnya masuk akal: kriteria yang gugur umumnya laba, dividen, FCF, DER, bukan harga. PBV satu-satunya yang berbasis harga, dan harga yang jatuh justru mempermudah lolos PBV. Sebagian juga saham yang saya beli di awal, sebelum screening ini ada.

Jadi sejak 1 Okt 2026 watchlist dipakai sebagai penanda di dua arah, bukan penyaring:

Ambang dividennya juga saya samakan dengan RSI Buy: dari β‰₯1% jadi >0%, karena ada saham fundamental bagus yang dividennya kecil tapi layak ditradingkan (MAPI misalnya). Syarat dividen 3 tahun berturut tetap, jadi “>0%” otomatis terpenuhi oleh adanya dividen itu sendiri. Keanggotaan baru berubah saat screening berikutnya jalan.

2. Titik masuk

RSI Buy 08:45

Universe RSI Buy bukan dari watchlist fundamental

Ini yang paling gampang bikin saya keliru. Kandidat masuk enggak diambil dari 126 saham watchlist, tapi dari saringan mutu TradingView langsung: harga ≥Rp50, nilai transaksi ≥Rp1 M/hari (rata-rata 10 hari), mcap ≥Rp1 T, float cukup, PSR dan DER masuk akal, dan ada riwayat lapkeu. Watchlist fundamental dipakainya di bandarmologi harian.

SyaratIsinya
Udah di zona lemahmin(RSI hari ini, kemarin, 2 hari lalu) ≤ 40 — dasar tiga hari, bukan RSI hari ini saja. Jadi saham yang mantul dari 32 ke 41 tetap kena.
Mulai balik naikRSI naik 1 kali, minimal 0,05 poin biar yang datar enggak kehitung. Dihitung dari penutupan resmi, bukan bar berjalan.
Belum saya pegangSejak 30 Sep 2026 saham yang saya pegang dibuang dari daftar ini — semua keputusan soal posisi yang udah ada pindah ke Rencana. Sisa di bawah 1 lot tetap dihitung “enggak dipegang”.
ValuasiπŸ”΄ overvalue disembunyikan. βšͺ fair tetap muncul — undervalue bukan syarat buat tampil.
DividenYang belum pernah bagi dividen disembunyikan (30 Sep 2026). Yang pernah bagi terus berhenti tetap muncul, lengkap dengan tahun terakhirnya.

Analisa bandar cuma buat kandidat di sini, enggak ada laporan bandarmologi terpisah lagi — yang Senin & Rabu itu saya matikan 21 Sep 2026 karena makan Β±100 permintaan NeoBDM per jalan.

1 Okt 2026: beli baru wajib lolos watchlist DAN undervalue

Dasarnya angka portfolio saya sendiri: 116 posisi di luar screening membawa modal Rp296 jt dengan hasil −15,9%, sementara 106 posisi yang lolos membawa Rp309 jt dengan hasil −4,9%. Modal hampir sama, tapi 69% kerugian ada di sisi yang enggak lolos. Jadi untuk beli baru harus lebih ketat.

Saran beli cuma muncul kalau lolos screening fundamental DAN undervalue (diskon ≥15%). Kalau salah satu gagal, sahamnya tetap ditampilkan β€” biar saya tetap lihat apa yang bergerak β€” tapi barisnya berubah:

➑️ Kalau dibeli: Stockbit Long (dividen 6.2%/th)
β›” Bukan kandidat beli baru β€” belum undervalue (diskon < 15%)
β›” Bukan kandidat beli baru β€” belum lolos screening fundamental
β›” Bukan kandidat beli baru β€” belum lolos screening fundamental dan belum undervalue (diskon < 15%)

Posisi yang sudah ada tidak dilabeli ulang. Yang terlanjur salah beli diurus lewat program penyelamatan, bukan dengan buru-buru cut loss β€” kategori Long/Trading/Spekulatif-nya tetap seperti sekarang, karena kategori itu yang menentukan aturan jual dan avg down, dan 94 posisi akan berubah perilakunya serentak kalau dilabeli ulang.

Kandidat = undervalue (diskon ≥15%) + fundamental bersih (enggak ada satu pun poin pengurang) + dividen >0. Cuma mereka yang dapat tambahan: 🏦 analisa bandar NeoBDM, πŸ“ posisi terhadap rentang 52 minggu, πŸ“¦ konsolidasi + lonjakan volume, πŸ‘€ orang dalam beli, πŸ†• saham baru terbit, πŸ“Š rilis lapkeu — masing-masing pakai tanggal kejadiannya.

3. Tangga belinya

lib/tangga.py

Bentuknya 1 : 1,5 : 2,5 : 5 satuan, selalu 4 tahap. Satu satuan = maks(Rp1 juta, harga 1 lot). Jadi saham mahal satuannya ikut naik, enggak dipaksa muat Rp10 juta — kalau memang butuh Rp20-an juta ya enggak apa-apa.

Contoh1 lotTahap 1Tangga penuhRiil sesudah dibulatkan ke lot
CSRA Rp690Rp69 rbRp1,0 jtRp10,0 jtRp9,9 jt
GGRM Rp17.125Rp1,71 jtRp1,7 jtRp17,1 jtRp14,9 jt
ITMG Rp25.050Rp2,51 jtRp2,5 jtRp25,1 jtRp21,8 jt

Tangga turun — avg down

1 Okt 2026: avg down enggak boleh buat saham overvalue

Saya nanya soal BBHI: pemicu −10% kena, fundamentalnya lolos, tapi harganya 104% di atas nilai wajar — kok malah disuruh nambah? Ternyata memang enggak konsisten: RSI Buy nyembunyiin overvalue, tangga jual malah nyuruh lepas di premium ≥20%, tapi avg down tetap nawarin beli. BBHI hari itu muncul dua kali di satu pesan: di daftar “di atas nilai wajar tapi rugi” dan sebagai “AVG DOWN Rp8,0 jt”.

Sebabnya umur aturannya beda-beda. Avg down itu yang paling tua, dibikin waktu nilai wajar belum dipakai buat apa pun; yang nambahin nilai wajar belakangan cuma nyentuh daftar pantau (21 Sep) dan sisi jual (29 Sep). Ditambah lagi syarat “fundamental lolos” itu layak_tambah() yang cuma ngecek laba positif dan enggak ada tanda rusak — bukan murah-mahal.

Sekarang yang πŸ”΄ overvalue (premium ≥15%) enggak disaranin avg down, tapi tetap muncul sebagai info “AVG DOWN ditahan” lengkap dengan premiumnya. Ongkosnya kecil: dari 30 posisi yang lolos pemicu, 22 undervalue dan 5 fair — cuma 3 yang keblokir (BBHI, BBCA, BOLT).

Tangga naik — avg up

Cuma buat portfolio Long, waktu harga udah di atas harga rata-rata tapi sahamnya masih di bawah nilai wajar. Ukurannya mengecil, soalnya tiap tambahan naikin harga rata-rata saya.

SyaratAmbang
Sinyal RSI≤50 lalu mulai naik — beda dari entry & avg down yang ≤40 (1 Okt 2026). Level reset episode ikut naik ke 60.
Dividend yield>5% — jaring pengaman kalau harganya jadi kemahalan terus koreksi dalam
Ukuran menurut diskon≥30% → 1 satuan · 20–30% → 0,7 · 10–20% → 0,4 · <10% berhenti
Jarak dari pembelian terakhirminimal +5%, biar enggak nyicil tiap hari selama sinyalnya bertahan
Batas total5 satuan selama harga di atas rata-rata — separuh anggaran saya simpan buat kalau harganya balik turun
Penjaga harga rata-rataditahan kalau tambahannya bikin avg lewat 80% nilai wajar
Harga vs rata-rataharga harus ≥ harga rata-rata β€” ini yang bikin namanya β€œup”. Posisi rugi jalurnya avg down; tanpa syarat ini posisi Long yang rugi tapi belum turun 10% bakal nyelip dan ambang avg down jadi percuma
Valuasiundervalue, diskon ≥15% β€” sama kayak beli baru dan avg down
Fundamentallaba positif, lapkeu enggak merah
Screening fundamentalwajib lolos (1 Okt 2026). Avg up memasukkan uang BARU ke posisi yang udah untung β€” sifatnya sama dengan beli baru, bukan penyelamatan. Yang di luar screening tetap boleh di-avg down kalau turun, cuma enggak dikejar ke atas; mereka muncul di blok ⏸️ AVG UP ditahan

1 Okt 2026: ambang RSI avg up dilonggarkan ke 50

Saya nanya: avg up harus nunggu RSI mulai naik dan di bawah 40 juga? Dulu iya — cabangnya nempel di sinyal yang sama dengan entry. Masalahnya logikanya beda: entry nyari saham yang jatuh terus mulai pulih, sedangkan avg up buat saham yang sedang naik dan masih murah. Nunggu RSI balik ke 40 berarti hampir selalu kehilangan kesempatan nambah di pemenang yang masih diskon 40–50%.

Datanya: dari 25 posisi Long yang udah lolos semua syarat avg up lainnya, yang RSI-nya ≤40 cuma 5; yang ≤50 ada 15 — termasuk MPMX (DY 16,7%), PSAB (19,6%), SPTO, UNIC, TUGU. Angka 50 juga patokan saya sendiri 8 Sep 2026: “yield >3%, RSI <50 mulai naik”.

Syarat “mulai naik” tetap, biar enggak nambah di tengah lonjakan vertikal — ULTJ dengan RSI 77,8 tetap enggak lolos. Avg down dan entry tetap ≤40.

Beli lagi separo

Kalau saya pernah jual separo dan belum beli balik: disaranin waktu sinyal RSI nyala dan harga ≥10% di bawah harga jual saya. Jumlahnya dari tangga, bukan sebanyak lembar yang dijual.

4. Pencatatan transaksi

16:15–23:15 tiap jam · 06:00

Email Trade Confirmation saya forward ke alamat khusus, terus email_poller.py baca lewat IMAP, proses baris transaksinya, dan update avgdown_watch.json (Stockbit) plus data/avgdown_mirae.json (Mirae) di VPS. Dari berkas itu harga rata-rata, pembelian terakhir, dan uang yang udah masuk dihitung — semua tahap dan jatah tangga nempel di situ.

Gotcha Mirae: satu PDF bisa memuat dua arah sekaligus

30 Sep 2026 saya lapor “TOWR di Mirae saya beli, bukan jual” — dan memang salah baca. Satu PDF Mirae bisa berisi BUY INVOICE dan SELL INVOICE sekaligus; parser lama mengecek kata “SELL INVOICE” atas seluruh dokumen, jadi keempat barisnya ikut ditandai jual. Akibatnya TOWR 5.200 lbr tercatat jadi 1.400.

Sekarang arah dibaca per bagian: tiap penanda invoice mengganti arah untuk baris-baris di bawahnya. Stockbit tidak kena masalah ini karena arahnya dari kolom Buy/Sell per baris. Tiap baris yang terbaca juga dicatat di log lengkap dengan arahnya, biar salah baca berikutnya ketahuan tanpa bongkar email.

Kalau koneksi IMAP-nya ngadat sebentar, dicoba ulang 3 kali (jeda 5 dan 20 detik) sebelum jadi peringatan. Peringatannya juga nyebut ini cuma gangguan sesaat atau udah 3 jalan gagal berturut-turut, biar saya enggak panik untuk sesuatu yang pulih sendiri.

5. Jualnya

di Rencana 08:30

Dua hal kerja bareng: rem biar saya enggak jual kemurahan, dan tangga jual biar enggak lepas sekaligus di satu angka model.

Rem jual

Sinyal RSI jual enggak jadi saran jual kalau harganya masih ≥15% di bawah nilai wajar. Remnya dicabut kalau fundamentalnya rusak, dan untuk Spekulatif juga kalau katalisnya udah enggak ada. Yang ketahan tetap dicetak sebagai info, jadi saya masih lihat sinyalnya.

KategoriMulai lepasHabis
Tradingβ…“ waktu harga nyampe nilai wajarΒ½ sisa di +10%, semuanya di +20% atau pas sinyal RSI jual
SpekulatifΒ½ waktu nyampe nilai wajarsemuanya di +10%
Longenggak dijual di nilai wajar; β…“ waktu premium ≥15%semuanya di premium ≥25%, atau β…“ kalau yield-nya turun <3%

Dua jalur jual yang beda, jangan ketuker

Tangga jual dipicu premium terhadap nilai wajar — enggak butuh RSI sama sekali. Sinyal RSI jual (RSI pernah >70 lalu turun 2×) jalur terpisah, dan untuk Trading dia menjual seluruh posisi kalau untung. Rem itu menahan yang kedua, bukan yang pertama: sinyal RSI jual enggak jadi saran kalau diskonnya masih ≥15%, kecuali fundamentalnya rusak (atau untuk Spekulatif, katalisnya udah enggak ada).

Satu lagi yang gampang keliru: untuk Long, premium ≥25% melepas seluruh sisa, sedangkan yield <3% melepas β…“ β€” dua pemicu dengan porsi berbeda, bukan satu paket. Yield yang menipis itu alasan mengurangi, bukan alasan keluar total.

Dua laporan, enggak tumpang tindih

sejak 30 Sep 2026
🎯 Rencana hari ini (08:30)RSI Buy Alert (08:45)
Isinyasaham yang saya pegangsaham yang belum saya pegang
Bloknya⚑ perubahan status valuasi · JUAL · πŸ’° tangga jual · ⏸️ sinyal jual ditahan · πŸ“‰ di atas wajar tapi rugi · AVG DOWN · AVG UP · beli lagi separo · keputusan manual · pasangan cut lossdaftar bersinyal + valuasi, fundamental, yield band, dan buat kandidat: bandar, 52 minggu, konsolidasi, orang dalam, saham baru, rilis lapkeu
Grup temanenggak ada — pribadiversi tanpa isi portfolio, 12:30

Kalau ada posisi yang bersinyal beli tapi belum lewat pemicu −10%, dia enggak hilang: dicatat di kaki Rencana sebagai “Bersinyal beli tapi belum boleh menambah”. RSI Sell Alert saya matikan 30 Sep 2026 — keputusan jual buat saham yang saya pegang udah lengkap di Rencana.

Batasnya, biar saya enggak salah harap

Yang gampang bikin saya keliru