Persyaratan untuk cBot
Ada dua persyaratan utama yang harus Anda penuhi untuk memastikan bahwa instance cBot Anda dapat berjalan dengan lancar di Cloud: referensi waktu kompilasi dan dependensi lintas platform.
Referensi waktu kompilasi
Ada beberapa cara untuk bekerja dengan dependensi di .NET. Misalnya, Anda dapat menyediakan dependensi sebagai file .dll individual tanpa menyertakannya secara langsung dalam executable proyek Anda.
Namun, hanya referensi waktu kompilasi yang sepenuhnya kompatibel dengan menjalankan cBot di Cloud. Cloud bertindak sebagai lingkungan khusus yang menjalankan executable cBot (file .algo) tanpa mengelola file .dll eksternal apa pun.
Dependensi waktu kompilasi dipastikan dalam semua kasus di mana Anda mereferensikan pustaka dalam pernyataan using di bagian atas kode Anda. Namun, jika Anda mereferensikan file .dll mandiri dalam badan kode Anda (misalnya, melalui metode Assembly.Load()), referensi ini tidak akan menjadi waktu kompilasi, dan cBot Anda tidak akan melakukan operasi terkait apa pun di Cloud.
Dependensi lintas platform
Cloud mengeksekusi semua cBot dalam lingkungan berbasis Linux. Ini berarti jika Anda ingin menggunakan dependensi eksternal, dependensi tersebut harus lintas platform.
Sebagai ilustrasi, berikut adalah beberapa dependensi yang tidak akan berfungsi di Cloud karena spesifik untuk Windows.
- WPF
- WinForms
- WinAPI
Saat menambahkan dependensi baru ke proyek Anda, baca dokumentasinya untuk mengetahui apakah didukung di lingkungan berbasis Linux.
Fitur API
Ada beberapa fitur Algo API yang bekerja secara berbeda di Cloud dibandingkan dengan eksekusi lokal.
| Fitur/metode | Cara kerjanya di Cloud |
|---|---|
MessageBox | Selalu mengembalikan MessageBoxResult.None |
Window | Selalu diabaikan |
Notifications.PlaySound() | Selalu diabaikan |
Account.UserNickName | Selalu memanggil handler OnException() |
Chart.TakeChartshot() | Selalu mengembalikan null |
WebSocketClient | Hanya berfungsi jika Anda terhubung ke layanan melalui port 25345 |
HTTP | Tidak ada permintaan HTTP yang dikirim |
LocalStorage dan operasi file | Hanya berfungsi jika jalur relatif ditentukan atau direktori baru dibuat dari awal |
Penyimpanan lokal dan operasi file
Setiap kali instance Cloud dihentikan atau dihapus, semua sumber daya yang dialokasikan untuknya dalam Cloud secara otomatis dibebaskan. Jika cBot Anda membuat file atau direktori dan kemudian mengakses data darinya, file-file ini akan dihapus setiap kali instance di-restart atau dihapus.
