Artikel ini menggariskan langkah-langkah untuk mencipta plugin natif, termasuk alat untuk dagangan algoritma atau operasi manual dalam ekosistem cTrader.
Dalam tab Plugin aplikasi Algo, klik butang Baharu untuk membuka wizard penciptaan algoritma.
Masukkan nama untuk plugin anda, kemudian pilih bahasa pengaturcaraan antara C# dan Python.
Pilih kaedah penciptaan daripada:
Dari awal – plugin baharu akan mengandungi templat asas sahaja.
Menggunakan templat – anda akan dapat memilih algoritma yang telah disediakan daripada senarai templat Python# atau C#, yang merangkumi pelbagai penempatan dan fungsi plugin.
Nota
Plugin yang telah disediakan sudah mengandungi logik penempatan dan fungsi. Plugin sedemikian sedia untuk berfungsi sebaik sahaja anda menyimpan dan membinanya.
Selepas anda klik Cipta, penyunting kod akan dibuka dan anda boleh mula menyunting kod plugin.
Sunting kod
Pengenalan kepada plugin menunjukkan bahawa plugin boleh menambah elemen baharu kepada UI cTrader, termasuk Panel Simbol Aktif (ASP), Pantau Dagangan, ruang carta dan tetingkap tersuai. Tutorial penempatan plugin menerangkan cara meletakkannya di ruang-ruang ini. Tentukan penempatan maklumat atau kawalan plugin anda sebelum menulis sebarang kod.
Nota
Apabila menentukan penempatan, selaraskan output plugin dengan ruang UI yang paling sesuai. Bingkai carta sesuai untuk WebView yang besar, Panel Simbol Aktif lebih sesuai untuk panel padat dan Pantau Dagangan adalah pilihan yang baik untuk mesej berulang.
Bergantung pada kaedah penciptaan anda, kod plugin mengandungi satu atau lebih perkara berikut:
Atribut Plugin dengan sifat pilihan seperti AccessRights muncul di atas deklarasi kelas plugin (SimplePlugin).
Plugin ini menggunakan kaedah OnStart(), yang dipanggil apabila plugin dimuatkan. Ikon ini menambah ikon tersuai pada bar alat carta menggunakan Commands.Add.
When clicked, the icon triggers a user-defined handler (OnIconClicked) that opens a panel with several UI controls.
These are main actions available in the UI:
Show message box - opens a standard message box with Yes/No buttons.
Tunjuk tetingkap tersuai - membuka tetingkap terapung baharu yang mengandungi WebView yang memuatkan halaman luaran.
Tambah blok ASP - menambah blok boleh kembang baharu pada Panel Simbol Aktif (ASP), membenamkan WebView.
Tambah tab ASP - memasukkan tab baharu dalam ASP, memuatkan WebView ke dalamnya.
Tambah tab Pantau Dagangan - menambah tab baharu dalam Pantau Dagangan dan memuatkan WebView ke dalamnya.
Tambah bingkai tersuai - mencipta bingkai carta tersuai yang diletakkan di atas carta dan mengisinya dengan WebView.
Sesuaikan carta aktif - mengubah rupa dan tetapan carta yang sedang aktif (contohnya, warna latar belakang, tahap zum, keterlihatan volum tick).
Setiap butang dalam panel digayakan menggunakan objek Style dan ditambah kepada StackPanel menegak. Panel itu sendiri dibungkus dalam Border bergaya, yang dikembalikan sebagai hasil perintah bar alat.
Dengan mempelajari asas C# atau asas Python dan menyemak contoh kod plugin, anda boleh memperdalamkan pemahaman anda tentang pembangunan algoritma dalam cTrader.
Nota
Rujukan merangkumi semua kelas, acara, kaedah, pemboleh ubah, dan lain-lain untuk membina plugin dalam cTrader, manakala contoh algoritma penuh dan templat boleh didapati dalam repositori GitHub."
Kelas SimplePlugin mewakili plugin yang ditulis dalam Python yang menggunakan API Algo untuk memperluaskan antara muka platform dengan kawalan dan interaksi tersuai.
Kaedah on_start() ialah titik masuk, dipanggil apabila plugin diinisialisasikan. Ia menambah ikon SVG tersuai pada bar alat carta.
When clicked, the icon triggers the command_handler method, which returns a styled panel (CommandResult) containing multiple interactive buttons.
Each button performs a distinct platform interaction:
Show message box - opens a standard message box with yes and no buttons.
Tunjuk tetingkap tersuai - membuka tetingkap terapung baharu yang mengandungi WebView yang memuatkan halaman luaran.
Tambah blok ASP - menambah blok boleh kembang baharu pada Panel Simbol Aktif (ASP), membenamkan WebView.
Tambah tab ASP - memasukkan tab baharu dalam ruang ASP, memuatkan WebView ke dalamnya.
Tambah tab Pantau Dagangan - menambah tab baharu ke dalam Pantau Dagangan dan memilihnya secara lalai.
Tambah bingkai tersuai - mencipta bingkai carta terapung dan memasukkan WebView di dalamnya.
Tambah item menu utama - menambah item baharu pada menu peringkat teratas utama dengan ikon tersuai, membuka WebView yang menunjuk ke laman Bantuan cTrader.
Tambah item bawah menu utama - menambah item di bahagian bawah menu utama, yang mencetak mesej apabila diklik.
Sesuaikan carta aktif - mengubah carta yang sedang aktif dengan menukar warna latar belakang, menyembunyikan volum tick, dan melaraskan tahap zum.
Butang-butang ini ditambah pada susun atur bertindih menegak (StackPanel) dan dibungkus dalam Border bergaya, yang menentukan dimensi, pelapik, latar belakang, ketebalan sempadan dan warnanya. Panel ini kemudiannya dikembalikan sebagai CommandResult, yang memaparkannya dalam UI carta.
Dengan mempelajari asas Python dan menyemak contoh kod plugin, anda boleh memperdalamkan pemahaman anda tentang pembangunan algoritma dalam cTrader.
Nota
Rujukan merangkumi semua kelas, acara, kaedah, pemboleh ubah, dan lain-lain untuk membina plugin dalam cTrader, manakala contoh algoritma penuh dan templat boleh didapati dalam repositori GitHub."
Gunakan pengetahuan baharu anda untuk menyunting kod plugin dan menyesuaikannya mengikut keperluan anda.
Simpan dan bina
Simpan kod anda dengan mengklik butang Save di bahagian atas penyunting kod atau gunakan pintasan Ctrl+S.
Sebelum anda boleh menggunakan plugin anda, anda perlu mengesahkan kodnya dengan membina projek plugin. Klik butang Build di bahagian atas penyunting kod atau tekan Ctrl+B.
Simpan kod anda dengan mengklik ikon Save di bahagian atas penyunting kod atau gunakan pintasan Cmd+S.
Sebelum anda boleh menggunakan indikator anda, anda perlu mengesahkan kodnya dengan membina projek indikator. Klik ikon Build di bahagian atas penyunting kod atau tekan Cmd+B.
Apabila pembinaan berjaya, anda akan melihat mesej pengesahan dalam Hasil pembinaan. Jika pembinaan gagal, ringkasan semua ralat yang ditemui akan muncul.
Jika terdapat perubahan pada kod sejak pembinaan terakhir, tanda bintang akan muncul di sebelah ikon Build. Dalam kes ini, anda harus membina plugin sekali lagi supaya perubahan tersebut berkuat kuasa.
Setelah berjaya dibina, plugin akan segera menambah elemen tersuai pada ruang UI cTrader yang dinyatakan dalam kodnya.
Gunakan kaedah khas (pilihan)
Sama seperti cBot, plugin boleh menggunakan kaedah OnStart(), kaedah OnStop() dan objek Timer:
Pengendali OnStart() dipanggil sekali apabila plugin baharu diinisialisasikan.
Pengendali OnStop() dipanggil apabila contoh plugin dinyahdayakan, dinyahpasang atau ditamatkan kerana cTrader ditutup.
Objek Timer digunakan untuk menjalankan kod pada selang masa yang tetap. Selepas menginisialisasi dan memulakan pemasa terbina dalam kelas Timer, kaedah yang dinyatakan dilaksanakan setiap kali selang masa yang ditentukan berlalu.
Pengendalian pengecualian
Seperti algo lain, plugin boleh mengakses kaedah OnException, yang sering digunakan untuk mengawal cara algoritma mengendalikan ralat.
Untuk menunjukkan penggunaan kaedah yang dinyatakan di atas, pertimbangkan plugin mudah yang menunjukkan jumlah bilangan posisi menguntungkan yang sedang dibuka. Dilekatkan pada ASP, plugin ini mengemas kini paparannya setiap saat menggunakan pemasa terbina dalam.