Operasi dagangan cBot
Dalam panduan ini, kami menerangkan secara terperinci operasi dagangan utama yang boleh anda laksanakan menggunakan cBot yang dibangunkan melalui API Algo.
Berikut adalah beberapa operasi yang disokong untuk cBot:
- Menghantar pesanan pasaran.
- Membuat pesanan tertangguh.
- Mengubah suai pesanan tertangguh dan posisi terbuka.
- Menutup posisi dan membatalkan pesanan.
- Melanggan kepada peristiwa dagangan (posisi, pesanan dan aktiviti berkaitan).
Hantar pesanan pasaran
Pesanan pasaran dihantar ke pelayan dagangan apabila kaedah ExecuteMarketOrder() dipanggil. Selepas membuat cBot baharu, anda boleh menambah kaedah ini dengan beberapa sifat pesanan pasaran yang ditakrifkan (simbol, volum, ambilan untung, henti rugi, dan lain-lain). Contoh di bawah membuat pesanan pasaran apabila cBot bermula.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
1 2 3 4 5 6 7 8 9 10 | |
Petua
Dalam contoh ini, beberapa parameter pesanan sengaja dibiarkan tidak ditakrifkan "". Semak Rujukan untuk tandatangan dan susunan semua parameter ExecuteMarketOrder().
Setelah membina cBot dan menambah satu contoh, anda akan melihat bahawa pesanan pasaran dengan parameter yang dinyatakan telah dilaksanakan pada permulaan. Tab Posisi dan Log dalam panel Pantau Dagangan memaparkan entri posisi dan log yang sepadan.
Buat pesanan tertangguh
cTrader menyokong tiga jenis pesanan tertangguh, iaitu pesanan henti, pesanan had dan pesanan henti had. Untuk membuat pesanan tertangguh pada permulaan, anda boleh menggantikan pesanan pasaran dengan cebisan kod berikut dalam contoh cBot sebelumnya.
1 2 3 | |
1 2 3 | |
Petua
Untuk memeriksa parameter kaedah dengan cepat, mula taip nama kaedah dan tanda kurung pembuka. Anda akan melihat tetingkap timbul IntelliSense dengan maklumat tambahan.

Petua
Jika anda klik pada kaedah/parameter dalam cTrader Algo dan tekan F1, panel bantuan di sebelah kanan tetingkap kod akan menunjukkan hasil carian yang sepadan. Jika kursor teks kekal di luar tetingkap kod dan anda menekan F1, tetingkap Pusat Bantuan akan muncul untuk membantu anda.
Anda akan melihat rekod berikut dalam panel Pantau Dagangan selepas berjaya membina dan menjalankan cBot.
Ubah suai pesanan tertangguh dan posisi terbuka
Apabila pesanan tertangguh dibuat, ia akan tersedia dalam koleksi PendingOrders cBot anda. Melalui koleksi ini, anda boleh mengakses dan mengubah suainya. Pesanan tertangguh yang sedia ada boleh diubah suai dengan melaraskan tahap henti rugi mereka seperti berikut.
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 | |
Tab Log panel Pantau Dagangan memaparkan bahawa ketiga-tiga pesanan tertangguh telah berjaya diubah suai serta-merta selepas dibuat.

Selepas pelbagai jenis pesanan dilaksanakan dengan jayanya, posisi akan dibuka untuk akaun anda. Semua posisi terbuka tersedia dalam koleksi Positions cBot anda. Sama seperti mengubah suai pesanan tertangguh dalam contoh sebelumnya, anda boleh mengubah suai posisi terbuka. Memandangkan pesanan pasaran adalah cara terpantas untuk membuka posisi, mari kita tambahkan kaedah OnBar() dengan tindakan pengubahsuaian posisi kepada cBot pertama dalam panduan ini.
1 2 3 4 5 6 7 | |
1 2 3 4 | |
Seperti yang ditunjukkan dalam log, posisi terbuka telah diubah suai pada bar pertama yang dibuka.

Tutup posisi dan batalkan pesanan
Anda boleh melihat contoh cBot di bawah yang menutup semua posisi terbuka dan membatalkan semua pesanan tertangguh pada hari Jumaat pada pukul 11:00 (UTC) dengan memanggil kaedah OnTick().
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |

Langgan kepada peristiwa dagangan
cTrader membolehkan pembangun algoritma melanggan kepada peristiwa dagangan dan memantau aktiviti dagangan, tidak kira sama ada ia telah dimulakan oleh cBot atau secara manual. Ia dicapai dengan mendengar peristiwa yang tersedia dalam dua koleksi yang ditunjukkan sebelum ini, Positions dan PendingOrders.
Terdapat tiga peristiwa yang tersedia untuk posisi:
OpenModifiedClosed
Ia dicetuskan apabila anda membuka, mengubah suai dan menutup posisi pada akaun anda, masing-masing.
Dalam cebisan kod di bawah, ketiga-tiga peristiwa diisytiharkan dalam kaedah OnStart() dan kaedah yang akan dipanggil ditugaskan. Ini akan secara automatik membuat tandatangan kod untuk kita gunakan. Selepas itu, kenyataan Print() ditambahkan kepada setiap kaedah peristiwa.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Sama ada anda atau cBot yang melaksanakan peristiwa Open, Modified dan Closed, algoritma akan mencapainya setiap kali dengan mesej yang dicetak seperti yang ditunjukkan dalam log di bawah.

Begitu juga, anda boleh melanggan kepada peristiwa yang berkaitan dengan pesanan tertangguh. Terdapat empat peristiwa yang tersedia untuk pesanan tertangguh:
CreatedModifiedFilledCancelled
Keempat-empat peristiwa diisytiharkan dalam kaedah OnStart(), dan pengendali peristiwa ditambahkan seperti berikut.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Jika melanggan kepada peristiwa yang berkaitan dengan pesanan tertangguh, cBot akan bertindak balas kepada aktiviti dagangan manual dan yang diprogramkan.

Ringkasan
Kesimpulannya, cTrader melengkapkan pembangun algoritma dengan pelbagai operasi dagangan yang mengesankan yang boleh dilaksanakan oleh cBot. Dengan menggunakannya secara mahir, anda boleh mengejar strategi dagangan yang disesuaikan dan canggih.



