Fungsi kecergasan tersuai untuk pengoptimuman
Pengoptimuman cBot adalah proses menentukan nilai parameter terbaik yang mungkin untuk cBot sebelum menggunakannya untuk dagangan langsung. Dalam cTrader, anda boleh mengoptimumkan cBot berdasarkan pelbagai kriteria terbina dalam seperti memaksimumkan keuntungan atau meminimumkan pengurangan ekuiti. Walau bagaimanapun, anda juga boleh menulis fungsi kecergasan anda sendiri untuk pengoptimuman yang boleh berguna jika anda ingin menggunakan kriteria prestasi tersuai pada cBot. Dalam artikel ini dan video yang berkaitan, kami membincangkan bagaimana fungsi kecergasan tersuai berfungsi.
Perhatikan bahawa artikel ini tidak meliputi proses pengoptimuman cBot menggunakan kriteria terbina dalam.
Takrifkan fungsi kecergasan tersuai
Fungsi kecergasan tersuai hanyalah penggantian kaedah GetFitness().
1 2 3 4 | |
Penggantian mesti menerima satu hujah jenis args GetFitness untuk ia dikira sebagai fungsi kecergasan tersuai.
Tulis fungsi kecergasan tersuai
Oleh kerana kaedah GetFitness() mesti mengembalikan double, badan kaedah harus mengandungi pengiraan yang menghasilkan nilai jenis ini.
Sebagai contoh, kita boleh menulis fungsi kecergasan tersuai mudah yang menggandakan jumlah keseluruhan dagangan yang menang yang dibuat oleh cBot dan kemudian membahagikan nilai ini dengan jumlah nilai dagangan yang rugi. Dengan cara ini, kita memperuntukkan lebih banyak pemberat kepada dagangan yang menang dan, dalam erti kata lain, membenarkan cBot yang dioptimumkan membuat beberapa permainan berisiko.
Inilah rupa fungsi kecergasan kita.
1 2 3 4 | |
Pada ketika ini, kita boleh menambah penggantian kepada mana-mana cBot yang kita mahu, kemudian simpan dan binanya.
Gunakan fungsi kecergasan tersuai dalam pengoptimuman
Selepas menambah fungsi kita, kita perlu menambah tika cBot pilihan kita dan kemudian beralih ke tab Ujian Belakang. Untuk menjalankan pengoptimuman menggunakan fungsi tersuai kita, semua yang perlu kita lakukan adalah membuka bahagian Kriteria pengoptimuman dan memilih pilihan Tersuai. Selepas itu, kita boleh menjalankan pengoptimuman seperti biasa.
Semasa pengoptimuman, skor kecergasan yang lebih tinggi akan diperuntukkan kepada lulus di mana cBot telah memaksimumkan nisbah antara bilangan dagangan yang menang dikuadratkan dan bilangan dagangan yang rugi.
Ubah suai fungsi kecergasan tersuai
Kita juga boleh kembali ke fungsi tersuai kita dan mengubah suainya seperti berikut.
1 2 3 4 5 6 7 8 9 10 11 | |
Fungsi ini masih mengikuti algoritma sebelumnya tetapi ia hanya menggunakan pengiraan tersuai jika lebih daripada 20 dagangan telah dilakukan oleh cBot. Dalam kes lain, fungsi mengembalikan double yang paling rendah yang mungkin. Secara teori, ini sepatutnya meningkatkan keputusan dengan mengurangkan kemungkinan bias statistik.
Jika kita membina semula bot dan menjalankan pengoptimuman sekali lagi, kita sepatutnya melihat beberapa lulus mendapat skor kecergasan yang sangat rendah disebabkan oleh jumlah dagangan yang rendah yang dilakukan oleh cBot.
Akhir sekali, kita mahu meminimumkan pengurangan ekuiti sambil masih menggalakkan dagangan aktif.
1 2 3 4 5 6 7 8 | |
Jika kita menjalankan pengoptimuman sekali lagi, kita sepatutnya melihat lulus terbaik yang mungkin diberikan strategi dagangan kita.
Fungsi kecergasan tersuai menyediakan alat yang sangat baik untuk menentukan nilai parameter terbaik yang mungkin yang sesuai dengan pendekatan unik anda terhadap dagangan.