Freqtrade

Hyperopt Freqtrade Tanpa Overfitting: Parameter, Loss Function, dan Validasi

Panduan memakai Hyperopt secara disiplin: memilih search space, loss function, epochs, data train-test, dan menilai stabilitas parameter.

Written by CuanTrade Research
Read time 4 min
Published July 22, 2026
Ilustrasi ruang pencarian parameter dan optimasi Hyperopt Freqtrade

Image source: CuanTrade AI

Hyperopt membantu mencari parameter strategi dengan mengevaluasi banyak kombinasi. Masalahnya, mesin optimasi sangat pandai menemukan noise. Tanpa disiplin, hasil terbaik di data training justru menjadi strategi terburuk saat live.

Apa yang Dioptimalkan?

Parameter dapat mencakup periode indikator, ambang entry, ROI, stoploss, trailing, atau jumlah posisi. Contoh:

buy_rsi = IntParameter(35, 65, default=50, space="buy")
buy_adx = IntParameter(10, 40, default=20, space="buy")

Rentang harus memiliki alasan. Search space terlalu luas meningkatkan peluang menemukan kombinasi kebetulan dan membutuhkan lebih banyak eksperimen.

Loss Function

Hyperopt meminimalkan loss. Pilihan loss menentukan definisi “terbaik”. Hanya mengejar profit dapat menghasilkan drawdown besar atau trade sangat sedikit.

Loss yang sehat mempertimbangkan kombinasi:

  • Return.
  • Drawdown.
  • Jumlah trade.
  • Konsistensi.
  • Durasi.
  • Risiko.

Gunakan loss bawaan yang sesuai atau buat custom loss dengan dokumentasi yang jelas. Jangan menyembunyikan preferensi risiko di formula yang tidak dapat dijelaskan.

Pisahkan Training dan Testing

Contoh pembagian waktu:

  • Training: 2022–2024.
  • Validation: 2025.
  • Final holdout: 2026.

Jalankan Hyperopt hanya pada training. Gunakan validation untuk memilih keluarga parameter yang stabil, bukan mengoptimalkan ulang berulang kali. Holdout dibuka terakhir sebagai pemeriksaan jujur.

Jika holdout terus digunakan untuk memperbaiki strategi, ia sudah berubah menjadi training data.

Command Hyperopt

freqtrade hyperopt \
  --config user_data/config.json \
  --userdir user_data \
  --strategy MyStrategy \
  --hyperopt-loss MultiMetricHyperOptLoss \
  --spaces buy sell roi stoploss \
  --timerange 20220101-20241231 \
  --epochs 300 \
  --job-workers 4

Nama loss dan opsi dapat berubah antarversi. Jangan menggunakan semua core jika mesin juga menjalankan layanan penting; Hyperopt dapat menghabiskan CPU dan memori.

Jangan Mengoptimalkan Semuanya Sekaligus

Urutan yang lebih terkendali:

1. Bekukan struktur entry dan exit.

2. Optimalkan sedikit parameter entry.

3. Uji stabilitas pada validation.

4. Optimalkan exit atau risk layer terpisah.

5. Uji keseluruhan pada holdout.

Terlalu banyak dimensi membuat interpretasi sulit dan menghasilkan interaksi parameter yang rapuh.

Memilih Epoch

Lebih banyak epoch bukan otomatis lebih baik. Jumlah epoch perlu sebanding dengan dimensi search space. Pantau apakah hasil terbaik terus berubah drastis atau mulai stabil.

Jalankan beberapa seed atau sesi. Jika setiap sesi menghasilkan parameter ekstrem yang berbeda tetapi skor hampir sama, pilih area parameter yang lebih stabil daripada satu titik terbaik.

Plateau Lebih Baik daripada Puncak Tajam

Misalnya RSI 49–54 memberi hasil serupa, sedangkan RSI 52 sedikit paling tinggi. Area tersebut lebih meyakinkan daripada skenario ketika hanya RSI 52 profit dan nilai di sekitarnya rugi.

Uji tetangga parameter. Strategi live menghadapi data yang tidak persis sama dengan training, sehingga parameter yang toleran terhadap perubahan kecil lebih diinginkan.

Waspadai Jumlah Trade

Hyperopt dapat menemukan aturan sangat selektif dengan beberapa trade besar. Tetapkan jumlah minimum trade yang masuk akal. Sampel kecil membuat loss mudah dimanipulasi oleh outlier.

Periksa apakah hasil tetap baik setelah trade terbaik dihilangkan.

Overfit per Pair

Parameter berbeda untuk setiap pair dapat dibenarkan jika struktur market berbeda, tetapi jumlah kebebasannya meningkat cepat. Mintalah alasan ekonomi atau mikrostruktur, bukan hanya karena backtest membaik.

Validasi parameter pair pada periode lain dan pair serupa. Jika tidak transfer, mungkin yang dipelajari hanyalah sejarah unik.

Setelah Hyperopt

Jangan langsung live. Lakukan:

  • Backtest bersih dengan --cache none.
  • Validation dan final holdout.
  • Breakdown pair, tag, bulan, dan tahun.
  • Fee/slippage stress test.
  • Lookahead dan recursive analysis.
  • Walk-forward.
  • Dry-run.

Simpan file parameter, command, timerange, seed, versi strategi, dan versi Freqtrade.

Checklist Hyperopt Sehat

  • Search space kecil dan masuk akal.
  • Loss menghukum risiko, bukan hanya mengejar profit.
  • Training terpisah dari validation dan holdout.
  • Trade count memadai.
  • Parameter tidak berada terus-menerus di batas rentang.
  • Nilai tetangga tetap layak.
  • Hasil konsisten pada beberapa sesi.
  • Final holdout belum digunakan untuk tuning.

Penutup

Hyperopt bukan alat penemu profit otomatis. Ia adalah mesin pencari yang membutuhkan batas, tujuan, dan validasi. Hasil yang sedikit lebih rendah tetapi stabil biasanya lebih bernilai daripada satu epoch spektakuler.

Artikel berikutnya membahas walk-forward testing untuk melihat apakah proses optimasi dapat bertahan ketika waktu benar-benar bergerak maju.

Bacaan lanjutan

Optimasi pada data historis menambah risiko overfitting. Selalu sisakan data yang tidak disentuh selama pengembangan.
Trending

Related Post

Expand your knowledge with these hand-picked posts.

Ilustrasi garis waktu data masa lalu dan masa depan dalam backtest Freqtrade
July 21, 2026
Freqtrade

Lookahead Bias pada Freqtrade: Cara Mendeteksi Strategi yang ‘Curang’

Kenali penyebab lookahead bias dalam dataframe Freqtrade, contoh kode berbahaya, cara menjalankan lookahead-analysis, dan batas interpretasinya.

Ilustrasi kontras kurva profit backtest dan risiko live trading
July 20, 2026
Freqtrade

Mengapa Return Backtest Tinggi Belum Tentu Layak untuk Live Trading?

Pelajari sumber return backtest yang menyesatkan: compounding, leverage, bias, overfitting, slippage, likuiditas, dan risiko eksekusi live.

Ilustrasi dashboard metrik dan kurva ekuitas backtest Freqtrade
July 19, 2026
Freqtrade

Cara Membaca Hasil Backtest Freqtrade dengan Benar

Panduan memahami profit factor, drawdown, Sharpe, expectancy, win rate, distribusi trade, dan konsistensi hasil backtest Freqtrade.

Workspace with laptop

Explore insights, stories, and strategies that help you build better products every day.

Join 1,000,000+ subscribers receiving expert tips on earning more, investing smarter and living better, all in our free newsletter.