DrawdownLab adalah aplikasi jurnal trading berbasis web yang membantu trader mencatat, menganalisis, dan mengevaluasi performa trading secara lebih terstruktur.
Fokus utama aplikasi ini bukan cuma mencatat profit dan loss, tapi membantu trader memahami pola kesalahan, risiko, drawdown, konsistensi, dan kualitas pengambilan keputusan. Karena ternyata masalah terbesar trader sering bukan market, tapi tangan sendiri yang terlalu percaya diri.
DrawdownLab dibuat untuk membantu trader:
- Mencatat setiap posisi trading dengan rapi
- Melihat performa akun secara objektif
- Mengukur risiko dan drawdown
- Mengevaluasi kesalahan trading
- Membentuk kebiasaan review setelah entry
- Menghindari keputusan impulsif berdasarkan emosi
Aplikasi ini cocok digunakan sebagai jurnal trading pribadi, terutama untuk trader forex, gold, crypto, dan instrumen lain yang membutuhkan evaluasi performa secara rutin.
Trader dapat mencatat detail transaksi seperti:
- Pair atau simbol trading
- Arah posisi: Buy atau Sell
- Entry price
- Exit price
- Stop loss
- Take profit
- Lot size
- Profit atau loss
- Catatan entry
- Alasan masuk posisi
- Evaluasi setelah posisi ditutup
Dashboard digunakan untuk melihat kondisi akun dan performa trading secara ringkas, seperti:
- Total profit/loss
- Win rate
- Total trade
- Average win
- Average loss
- Risk/reward
- Equity growth
- Drawdown
- Performa harian, mingguan, atau bulanan
DrawdownLab memberi perhatian khusus pada drawdown karena bagian inilah yang sering diabaikan trader pemula.
Beberapa metrik yang dapat dianalisis:
- Maximum drawdown
- Daily drawdown
- Consecutive losses
- Recovery setelah loss
- Risiko per trade
- Risiko terhadap modal
Aplikasi ini dirancang untuk membantu trader menemukan pola kesalahan yang sering terjadi, misalnya:
- Entry terlalu cepat
- Tidak menunggu konfirmasi
- Overtrade
- Revenge trading
- SL terlalu sempit
- TP terlalu ambisius
- Tidak mengikuti trading plan
- Entry saat market belum jelas
Dengan data ini, trader bisa mengevaluasi kebiasaan buruknya secara lebih objektif. Tidak menyenangkan, tapi memang begitulah cara berkembang.
Setiap trade dapat diberikan catatan review agar trader bisa belajar dari keputusan sebelumnya.
Contoh pertanyaan review:
- Apakah entry sesuai setup?
- Apakah risk management dipatuhi?
- Apakah posisi diambil karena analisis atau emosi?
- Apakah exit sudah sesuai rencana?
- Apa yang bisa diperbaiki dari trade ini?
Banyak trader hanya fokus pada profit, padahal performa trading yang sehat harus dilihat dari sisi risiko, konsistensi, dan kemampuan bertahan saat market tidak sesuai ekspektasi.
DrawdownLab dibuat dengan prinsip:
Profit itu penting, tapi bertahan hidup di market jauh lebih penting.
Aplikasi ini membantu trader melihat performa secara lebih jujur, bukan cuma merasa jago setelah satu hari profit lalu besoknya dihajar market seperti karakter NPC.
DrawdownLab ditujukan untuk:
- Trader pemula yang ingin belajar disiplin
- Trader aktif yang butuh jurnal terstruktur
- Trader forex dan gold
- Trader yang ingin mengevaluasi performa secara data-driven
- Siapa pun yang ingin berhenti trading berdasarkan feeling semata
- Setup project structure
- Authentication
- User profile
- Basic dashboard
- Manual trade journal
- Add trade form
- Edit trade
- Delete trade
- Trade history
- Trade detail page
- Trade review notes
- Profit/loss summary
- Win rate calculation
- Drawdown calculation
- Risk/reward analytics
- Daily performance chart
- Monthly performance report
- Mistake tagging
- Setup tagging
- Trading plan checklist
- Portfolio/account management
- Broker import integration
- MT5 sync integration
Project ini dirancang sebagai aplikasi web modern.
Stack saat ini:
- Backend: Laravel 13
- Frontend: Vue 3 + Inertia
- Database: SQLite/MySQL compatible
- Styling: Tailwind CSS
- Charting: ApexCharts
- Market data: Finnhub WebSocket/API
- Version Control: Git & GitHub
Clone repository:
git clone https://github.com/alfanzaky/DrawdownLab.git
cd DrawdownLab
composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate
npm run build
php artisan testDrawdownLab menggunakan koneksi WebSocket ke Finnhub secara real-time untuk mendapatkan data pergerakan harga. Karena adanya batasan ketat dari sisi API Finnhub dan demi menjaga kestabilan server, sangat penting untuk mematuhi aturan pengaturan (deployment) berikut di production:
- API Key Valid: Pastikan Anda telah memasukkan
FINNHUB_API_KEYyang valid di dalam file.env. - Satu Koneksi Saja (
numprocs=1): Finnhub secara ketat HANYA mengizinkan 1 koneksi WebSocket secara bersamaan per API key. Jika lebih dari itu, IP/Key Anda dapat diblokir. - Konfigurasi Cache: Daemon ini membutuhkan dukungan fungsi penguncian (Atomic Locks) yang tangguh. Pastikan
CACHE_STOREdi.envdisetel kedatabase(atau driver lain yang terbukti mendukung metoderefresh()). - Keamanan Log: Log sistem telah diamankan sedemikian rupa agar tidak mencetak (print) pesan raw exception yang bisa membocorkan API Key Anda ke konsol.
- Konfigurasi Supervisor: Wajib menggunakan Supervisor (atau systemd) untuk menjalankan daemon. Hal ini menjamin daemon akan otomatis restart jika koneksi terputus.
Buat sebuah file di /etc/supervisor/conf.d/drawdownlab-finnhub.conf:
[program:drawdownlab-finnhub]
process_name=%(program_name)s
command=php /path/to/drawdownlab/artisan finnhub:stream-prices
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/path/to/drawdownlab/storage/logs/finnhub.log
stopwaitsecs=3600