Di tab Plugin dari aplikasi Algo, klik tombol Baru untuk membuka wizard pembuatan algoritma.
Masukkan nama untuk plugin Anda, lalu pilih bahasa pemrograman antara C# dan Python.
Pilih metode pembuatan dari:
Dari awal – plugin baru hanya akan berisi template dasar.
Menggunakan template – Anda akan dapat memilih algoritma yang sudah jadi dari daftar template Python# atau C#, yang mencakup berbagai penempatan dan fungsionalitas plugin.
Catatan
Plugin yang sudah jadi telah berisi logika penempatan dan fungsionalitas. Plugin seperti ini siap bekerja begitu Anda menyimpan dan membangunnya.
Setelah Anda mengklik Buat, editor kode akan terbuka dan Anda dapat mulai mengedit kode plugin.
Edit kode
Pengantar plugin menunjukkan bahwa plugin dapat menambahkan elemen baru ke UI cTrader, termasuk Panel Simbol Aktif (ASP), Pemantau Trading, area grafik dan jendela kustom. Tutorial penempatan plugin menjelaskan cara menempatkannya di area-area tersebut. Tentukan penempatan informasi atau kontrol plugin Anda sebelum menulis kode apa pun.
Catatan
Saat menentukan penempatan, sesuaikan output plugin dengan area UI yang paling tepat. Bingkai grafik cocok untuk WebView besar, Panel Simbol Aktif lebih baik untuk panel kompak dan Pemantau Trading adalah pilihan yang kuat untuk pesan berulang.
Tergantung pada metode pembuatan Anda, kode plugin berisi satu atau lebih dari yang berikut:
Atribut Plugin dengan properti opsional seperti AccessRights muncul di atas deklarasi kelas plugin (SimplePlugin).
Plugin ini menggunakan metode OnStart(), yang dipanggil ketika plugin dimuat. Ikon ini menambahkan ikon kustom ke toolbar grafik 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.
Tampilkan jendela kustom - membuka jendela mengambang baru yang berisi WebView yang memuat halaman eksternal.
Tambahkan blok ASP - menambahkan blok yang dapat diperluas baru ke Panel Simbol Aktif (ASP), menyematkan WebView.
Tambahkan tab ASP - menyisipkan tab baru di ASP, memuat WebView ke dalamnya.
Tambahkan tab Pemantau Trading - menambahkan tab baru di Pemantau Trading dan memuat WebView ke dalamnya.
Tambahkan bingkai kustom - membuat bingkai grafik kustom yang ditumpangkan pada grafik dan mengisinya dengan WebView.
Sesuaikan grafik aktif - mengubah tampilan dan pengaturan grafik yang sedang aktif (misalnya, warna latar belakang, tingkat zoom, visibilitas volume tick).
Setiap tombol di panel diberi gaya menggunakan objek Style dan ditambahkan ke StackPanel vertikal. Panel itu sendiri dibungkus di dalam Border bergaya, yang dikembalikan sebagai hasil dari perintah toolbar.
Referensi mencakup semua kelas, event, metode, variabel, dll. untuk membangun plugin di cTrader, sementara contoh dan template algoritma lengkap tersedia di repositori GitHub."
Kelas SimplePlugin merepresentasikan plugin yang ditulis dalam Python yang menggunakan Algo API untuk memperluas antarmuka platform dengan kontrol dan interaksi kustom.
Metode on_start() adalah titik masuk, dipanggil ketika plugin diinisialisasi. Ini menambahkan ikon SVG kustom ke toolbar grafik.
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.
Tampilkan jendela kustom - membuka jendela mengambang baru yang berisi WebView yang memuat halaman eksternal.
Tambahkan blok ASP - menambahkan blok yang dapat diperluas baru ke Panel Simbol Aktif (ASP), menyematkan WebView.
Tambahkan tab ASP - menyisipkan tab baru di area ASP, memuat WebView ke dalamnya.
Tambahkan tab Pemantau Trading - menambahkan tab baru ke Pemantau Trading dan memilihnya secara default.
Tambahkan bingkai kustom - membuat bingkai grafik mengambang dan menyisipkan WebView di dalamnya.
Tambahkan item menu utama - menambahkan item baru ke menu tingkat atas utama dengan ikon kustom, membuka WebView yang mengarah ke situs Bantuan cTrader.
Tambahkan item bawah menu utama - menambahkan item ke bagian bawah menu utama, yang mencetak pesan saat diklik.
Sesuaikan grafik aktif - mengubah grafik yang sedang aktif dengan mengubah warna latar belakang, menyembunyikan volume tick, dan menyesuaikan tingkat zoom.
Tombol-tombol ini ditambahkan ke tata letak yang ditumpuk secara vertikal (StackPanel) dan dibungkus dalam Border bergaya, yang mendefinisikan dimensi, padding, latar belakang, ketebalan batas dan warnanya. Panel tersebut kemudian dikembalikan sebagai CommandResult, yang menampilkannya di UI grafik.
Dengan mempelajari dasar-dasar Python dan meninjau contoh kode plugin, Anda dapat memperdalam pemahaman Anda tentang pengembangan algoritma di cTrader.
Catatan
Referensi mencakup semua kelas, event, metode, variabel, dll. untuk membangun plugin di cTrader, sementara contoh dan template algoritma lengkap tersedia di repositori GitHub."
Terapkan pengetahuan baru Anda untuk mengedit kode plugin dan menyesuaikannya dengan kebutuhan Anda.
Simpan dan build
Simpan kode Anda dengan mengklik tombol Save di bagian atas editor kode atau gunakan pintasan Ctrl+S.
Sebelum Anda dapat menggunakan plugin Anda, Anda perlu memvalidasi kodenya dengan membangun proyek plugin. Klik tombol Build di bagian atas editor kode atau tekan Ctrl+B.
Simpan kode Anda dengan mengklik ikon Save di bagian atas editor kode atau gunakan pintasan Cmd+S.
Sebelum Anda dapat menggunakan indikator Anda, Anda perlu memvalidasi kodenya dengan membangun proyek indikator. Klik ikon Build di bagian atas editor kode atau tekan Cmd+B.
Ketika proses build berhasil, Anda akan melihat pesan konfirmasi di Hasil build. Jika build gagal, ringkasan semua kesalahan yang ditemui akan muncul sebagai gantinya.
Jika ada perubahan pada kode sejak build terakhir, tanda bintang akan muncul di sebelah ikon Build. Dalam hal ini, Anda harus membangun plugin lagi agar perubahan berlaku.
Pada pembangunan yang berhasil, plugin akan segera menambahkan elemen kustom ke area UI cTrader yang ditentukan dalam kodenya.
Gunakan metode khusus (opsional)
Serupa dengan cBot, plugin dapat menggunakan metode OnStart(), metode OnStop() dan objek Timer:
Handler OnStart() dipanggil sekali ketika plugin baru diinisialisasi.
Handler OnStop() dipanggil ketika instance plugin dinonaktifkan, dihapus, atau dihentikan karena cTrader ditutup.
Objek Timer digunakan untuk menjalankan kode pada interval teratur. Setelah menginisialisasi dan memulai timer bawaan dari kelas Timer, metode yang ditentukan dijalankan setiap kali interval yang ditentukan berlalu.
Penanganan pengecualian
Seperti algo lainnya, plugin dapat mengakses metode OnException, yang sering digunakan untuk mengontrol bagaimana algoritma menangani kesalahan.
Untuk mendemonstrasikan penggunaan metode-metode yang disebutkan di atas, pertimbangkan plugin sederhana yang menunjukkan jumlah total posisi menguntungkan yang saat ini terbuka. Terpasang ke ASP, plugin ini memperbarui tampilannya setiap detik menggunakan timer bawaan.