Cara membuat cBot untuk cTrader dalam 5 Menit
Dalam artikel ini dan video terkait, kami akan menjelaskan cara cepat untuk membuat cBot di cTrader Algo. cBot yang akan kita buat akan mengimplementasikan strategi trading sederhana yang disebut Three white soldiers dan three black crows. Anda dapat mempelajari lebih lanjut tentang strategi ini di basis pengetahuan kami.
Sebelum mengikuti instruksi kami, pastikan Anda telah mengunduh dan menginstal aplikasi cTrader Windows atau Mac dari situs web resmi. Jalankan, dan navigasikan ke bagian cTrader Algo. Anda dapat menemukannya di panel kiri. Klik tab Algo, dan bagian cTrader Algo akan muncul.
Tambahkan cBot baru
Klik tombol Baru di cTrader Algo untuk memulai membuat cBot baru. Masukkan nama, pilih bahasa pemrograman antara C# dan Python, dan lanjutkan hingga editor kode terbuka.
Tambahkan pengaturan cBot
Sebelum kita mulai mengimplementasikan strategi trading, kita akan melihat parameter dan metode dasar cBot. Anda juga dapat melihat dokumentasi kami untuk membiasakan diri dengan apa yang dilakukan oleh parameter dan metode yang berbeda.
-
Parameter cBot – memungkinkan Anda untuk mendefinisikan atribut yang dapat dikonfigurasi seperti volume trading atau jarak stop-loss/take-profit.
-
Metode cBot – mendefinisikan bagaimana cBot Anda berperilaku ketika peristiwa tertentu terjadi. Ada empat peristiwa utama yang perlu Anda tangani saat mengembangkan cBot cTrader, dan masing-masing dikelola oleh metode yang sesuai yang disediakan oleh cTrader. Metode-metode tersebut adalah
OnStart(),OnTick(),OnBar(),OnStop()untuk C# danon_start(),on_tick(),on_bar_closed(),on_stop()untuk Python. Perhatikan bahwa metodeOnBar()untuk C# danon_bar_closed()untuk Python tidak termasuk dalam template kode default.
Tabel berikut mendefinisikan keempat metode ini secara detail.
| C# | Python | Tujuan |
|---|---|---|
OnStart() | on_start() | Dipicu ketika instance cBot mulai beroperasi. Digunakan untuk menginisialisasi variabel apa pun yang Anda rencanakan untuk digunakan dalam cBot Anda seperti indikator, penghitung, penangan peristiwa atau timer. |
OnTick() | on_tick() | Dipicu pada setiap tick (pembaruan harga) pada grafik trading di mana instance cBot berjalan. Umumnya digunakan untuk logika entri atau keluar cepat berdasarkan data real-time. Di dalam metode ini, Anda dapat memprogram kondisi entri dan keluar kustom serta fungsi tambahan lainnya yang perlu dijalankan ketika tick baru tiba. |
OnBar() | on_bar_closed() | Dipicu pada penutupan setiap bar. Di dalam metode ini, Anda dapat memprogram kondisi entri dan keluar kustom atau fungsi lain yang perlu dijalankan pada pembentukan setiap bar baru. |
OnStop() | on_stop() | Dipanggil ketika cBot berhenti. Digunakan untuk melakukan operasi akhir seperti menutup posisi, menyimpan keadaan dan lainnya |
Tambahkan logika trading
Sekarang kita akan menambahkan kode untuk strategi trading kita. cBot kita harus membuka posisi beli ketika tiga bar hijau terbentuk pada grafik dan posisi jual ketika ada tiga bar merah berturut-turut.
Pertama, kita perlu mendefinisikan parameter cBot kita. Parameter ini akan sepenuhnya dapat disesuaikan dari UI cTrader. Kita akan mendefinisikan tiga parameter dalam cBot kita.
- Volume setiap trading.
- Stop loss dalam pip.
- Take profit dalam pip.
Tempelkan kode berikut ke dalam editor kode Anda tepat di bawah kurung kurawal setelah deklarasi kelas (public class NewcBot : Robot)
1 2 3 4 5 6 7 8 | |
Catatan
cBot Python menggunakan parameter yang dapat disesuaikan yang dideklarasikan dalam file .cs mereka.
1 2 3 4 5 6 7 8 | |
Sekarang kita perlu mengimplementasikan logika di balik strategi trading kita. Tempelkan kode berikut di metode OnBar() atau on_bar_closed() Anda. Ingat bahwa metode ini dipanggil setiap kali bar baru terbentuk.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
1 2 3 4 5 6 7 8 9 10 11 | |
Sekarang kita akan memeriksa kode lebih dekat. cTrader menyediakan akses ke bar historis grafik, memungkinkan kita untuk memeriksa apakah tiga bar terakhir semuanya hijau atau semuanya merah, masing-masing. Dalam metode OnBar() untuk C# dan on_bar_closed() untuk Python di atas, pertama-tama kami memeriksa apakah tiga bar terakhir semuanya hijau. Kemudian kita mengevaluasi apakah bar-bar ini semuanya merah.
Jika salah satu dari dua kondisi tersebut benar, kami menempatkan order pasar menggunakan metode ExecuteMarketOrder(). Metode ini memerlukan beberapa input (argumen), dengan yang paling penting adalah arah trading, simbol, volume trading, stop loss, dan take profit.
Dalam kasus kami, arah order (TradeType.Buy, TradeType.Sell) ditentukan oleh kondisi strategi trading. Nama simbol diambil langsung dari grafik tempat cBot kami berjalan SymbolName. Volume trading, stop loss, dan take profit (C#'s Volume, StopLoss, TakeProfit dan Python's VolumeInLots, StopLossInPips, TakeProfitInPips) semuanya diambil dari parameter cBot yang kami definisikan.
Build dan jalankan cBot
Sekarang kita perlu memeriksa apakah cBot kita berhasil di-build. Secara default, jendela hasil build terletak tepat di bawah editor kode. Jika Anda tidak melihatnya, klik tombol Layout di bilah paling atas UI cTrader dan pilih Build Result. Pintasan keyboard untuk tindakan ini adalah Ctrl + W
Setelah itu, klik tombol Build yang terletak di bilah paling atas UI cTrader. Atau, klik kanan cBot Anda dan klik Build di menu yang baru muncul, atau cukup tekan Ctrl + B.

Jika build berhasil, Anda akan melihat pesan berwarna hijau di area Build Result di bagian bawah editor kode.

Atau, jika ada masalah dengan kode Anda, Anda akan melihat pesan merah dan ringkasan detail semua kesalahan build.

Setelah cBot Anda berhasil di-build, Anda dapat mulai menggunakannya. Yang perlu Anda lakukan hanyalah menambahkan instance pada grafik trading. Untuk melakukannya, cukup klik ikon + di sebelah kanan nama cBot Anda. Anda akan melihat daftar semua simbol yang dapat Anda gunakan untuk menjalankan cBot Anda.

Kita akan memilih EURUSD. Setelah Anda memilih simbol, instance cBot baru akan ditambahkan. Anda akan melihat item baru dalam daftar cBot dengan nama simbol dan timeframe yang ingin Anda tradingkan.
Anda juga akan melihat parameter yang telah Anda kodekan di tab Parameters tepat di bawah grafik trading.

Anda dapat mengubah parameter ini sesuai keinginan Anda atau membiarkannya pada nilai default.
Selain itu, Anda akan melihat tombol Play di bagian atas grafik EURUSD.

Untuk meluncurkan instance Anda, tekan tombol ini. Atau, salinan tombol ini juga terletak di sebelah kanan instance Anda dalam daftar cBot di sebelah kiri. Salah satu dari tombol ini akan memulai cBot.
Setelah mengeklik salah satu tombol, Anda akan melihatnya berubah menjadi oranye, yang berarti instance cBot kita sekarang sedang berjalan. Di tab Log, Anda juga akan melihat baris baru yang menyatakan bahwa cBot telah dimulai.
Lakukan backtesting cBot
cBot kita mungkin membutuhkan waktu lama untuk membuka posisi pada grafik trading riil. Kita akan menjalankan backtest cepat untuk melihatnya beraksi pada data historis. Untuk melakukan ini, buka tab Backtest.

Gunakan penggeser kalender di dekat bagian atas layar untuk memilih rentang tanggal yang ingin Anda gunakan untuk backtesting. Aktifkan flag Visual mode untuk melacak hasil backtesting saat terjadi.
Kita akan menggeser penggeser mundur satu bulan. Klik tombol Play untuk meluncurkan cBot pada data historis yang dipilih.
Setelah itu, Anda akan dapat melihat posisi baru dibuka dan/atau ditutup di tab tepat di bawah grafik trading dan di sebelah kanan bagian Parameters. Secara khusus, setelah mendeteksi salah satu dari dua pola yang telah kita kodekan, cBot akan menempatkan order beli atau jual.
Menjalankan backtest adalah cara yang berguna untuk menganalisis apakah cBot Anda bekerja dengan benar.
Ringkasan
Kami berharap artikel ini telah membantu dalam mendemonstrasikan bagaimana Anda dapat membuat robot trading otomatis menggunakan cTrader.
