Lewati ke isi

Hak akses

Properti kelas AccessRights

Untuk melindungi pengguna dari kode malware, kami menjalankan setiap cBot atau indikator dalam lingkungan sandbox. Akibatnya, cBot dan indikator harus mendeklarasikan hak akses yang diperlukan melalui properti kelas AccessRights seperti yang ditunjukkan di bawah ini.

1
2
[Robot(AccessRights = AccessRights.None)]
public class SampleSARTrailingStop : Robot
1
2
[Indicator(AccessRights = AccessRights.FullAccess)]
public class SampleEMA :

Dua nilai yang mungkin untuk properti AccessRights adalah sebagai berikut:

  • None - ekstensi hanya memiliki akses ke data API yang disediakan platform. Ini tidak akan dapat mengakses apa pun di luar platform.
  • FullAccess - ekstensi memiliki hak akses tidak terbatas. Ini dapat mengakses Internet, membaca dan menulis file, menjalankan executable lain, mengimpor fungsi WinApi, menggunakan refleksi .NET dan membuat jendela. !!! note "Catatan"

    Ada beberapa fitur API yang masih memungkinkan algo untuk melakukan berbagai tindakan bahkan ketika AccessRights.None dideklarasikan.

Jika AccessRights.FullAccess dideklarasikan, jendela berikut akan ditampilkan saat menjalankan instance cBot atau indikator yang dimaksud.

Image title

Pengecualian keamanan

Jika cBot atau indikator Anda mencoba melakukan tindakan terbatas, kode akan melempar pengecualian keamanan.

Misalnya, jika cBot dengan AccessRights.None mencoba membaca dari file teks (tanpa menggunakan fitur akses file), itu akan dihentikan dan pesan berikut akan muncul di log.

Crashed in OnStart with SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Cara paling pasti untuk menghindari pengecualian ini adalah dengan mendeklarasikan AccessRights.None untuk semua ekstensi Anda kecuali Anda berencana mendistribusikannya ke trader lain.