Stop Loss Tidak Selalu Menyelamatkan Posisi

Stop loss membatasi risiko, tetapi bukan garansi harga keluar.

· · 9 min read

Gue dulu menganggap stop loss seperti sabuk pengaman: pasang level, lalu posisi pasti keluar di sana. Kenyataannya, stop loss hanya instruksi untuk mencoba keluar ketika kondisi tertentu terjadi. Ia bukan jaminan harga.

Harga trigger bukan harga eksekusi

Stop market berubah menjadi market order setelah trigger tersentuh. Jika pasar bergerak cepat, order bisa terisi lebih buruk dari level yang dipilih. Stop limit memberi batas harga, tetapi bisa tidak terisi sama sekali jika pasar melewati limit.

Membeli di 100 dengan stop 95 tidak berarti kerugian pasti 5%. Jika berita buruk membuat harga berikutnya tersedia di 90, stop market bisa terisi dekat 90. Stop limit mungkin tetap menggantung di 95 karena tidak ada penjual di harga yang sesuai. Dua jenis order, dua jenis risiko.

Likuiditas menentukan perlindungan

Stop tidak menciptakan pembeli atau penjual. Di order book tipis, satu order dapat memakan beberapa tingkat harga. Karena itu jangan hanya menghitung jarak stop dari chart. Bandingkan ukuran posisi dengan volume yang tersedia dan spread normal.

Stop yang terlalu dekat mudah tersentuh noise. Stop terlalu jauh membuat kerugian tidak masuk akal. Letakkan stop pada titik thesis invalid, bukan pada angka bulat yang terasa nyaman.

Sebelum entry, tulis: kapan thesis salah, berapa kerugian maksimum, apa rencana partial fill, dan apa yang dilakukan jika exchange/API bermasalah. Untuk bot, tambahkan cooldown dan kill switch agar retry tidak berubah menjadi order berulang.

Stop loss hanyalah satu lapisan. Ia tidak menggantikan position sizing, batas exposure, atau kemampuan menerima bahwa pasar tidak berutang exit yang rapi.

Operasional dan validasi

Stop loss juga menghadapi maintenance exchange, timeout setelah order diterima, websocket tertinggal, dan partial fill. Bot harus menyimpan order state, memakai client order ID yang idempotent, dan melakukan rekonsiliasi sebelum retry. Trailing stop dapat tersapu retracement normal, jadi uji spread, fee, latency, dan gap. Hitung risiko dalam nominal dan total exposure; keberadaan stop bukan bukti risiko sudah selesai.

Stop market dan stop limit menyelesaikan masalah berbeda

Stop market memprioritaskan keluar dan bisa terisi jauh dari trigger. Stop limit memprioritaskan harga, tetapi posisi dapat tetap terbuka. Pilih berdasarkan spread, depth, ukuran posisi, dan perilaku aset saat volatilitas tinggi.

Gap dan partial fill bukan edge case. Simpan requested quantity, filled quantity, average price, serta status final. Timeout API tidak selalu berarti gagal karena exchange mungkin sudah menerima order. Lakukan rekonsiliasi sebelum retry dan gunakan client order ID yang idempotent.

Backtest harus memasukkan spread, fee, slippage, latency, gap, dan urutan intrabar. Paper trading hanya menguji integrasi; simulator tidak menjamin liquidity production. Uji berikutnya dengan nominal kecil untuk memastikan state machine order bekerja.

Ukuran posisi harus diturunkan dari nominal risiko dan jarak invalidasi. Jangan memperlebar stop karena size telanjur besar. Stop baru berguna jika ditemani exposure limit, monitoring, cooldown, dan kill switch.

Checklist sebelum mengandalkan stop

Periksa jenis trigger yang dipakai exchange: last price, mark price, atau index price. Catat siapa yang menangani partial fill dan berapa lama bot menunggu sebelum membatalkan sisa order. Uji restart saat order masih pending. Pastikan secret API hanya punya izin trading yang dibutuhkan dan withdrawal dimatikan. Terakhir, bandingkan expected loss dengan loss setelah fee dan slippage. Jika selisihnya konsisten besar, model risiko perlu diperbaiki—bukan sekadar stop dipindahkan.

Sumber

• https://www.investor.gov/introduction-investing/investing-basics/glossary/stop-order
• https://www.cmegroup.com/education/courses/trading-and-analysis/stop-orders.html
• https://www.sec.gov/investor/pubs/assetallocation.htm