ข้ามไปที่เนื้อหา

สิทธิในการเข้าถึง

คุณสมบัติคลาส AccessRights

เพื่อป้องกันผู้ใช้จากโค้ดมัลแวร์ เราจะรันทุก cBot หรืออินดิเคเตอร์ในสภาพแวดล้อมแบบ sandbox ดังนั้น cBots และอินดิเคเตอร์จะต้องประกาศสิทธิ์การเข้าถึงที่จำเป็นผ่านคุณสมบัติคลาส AccessRights ดังที่แสดงด้านล่าง

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

ค่าที่เป็นไปได้สองค่าสำหรับคุณสมบัติ AccessRights มีดังนี้:

  • None - ส่วนขยายมีสิทธิ์เข้าถึงเฉพาะข้อมูล API ที่แพลตฟอร์มจัดเตรียมให้เท่านั้น จะไม่สามารถเข้าถึงสิ่งใดนอกแพลตฟอร์มได้
  • FullAccess - ส่วนขยายมีสิทธิ์การเข้าถึงไม่จำกัด สามารถเข้าถึงอินเทอร์เน็ต อ่านและเขียนไฟล์ รันโปรแกรมอื่นๆ นำเข้าฟังก์ชัน WinApi ใช้ .NET reflection และสร้างหน้าต่างได้ !!! note "หมายเหตุ"

    มีคุณสมบัติ API หลายอย่างที่ยังคงอนุญาตให้ Algo ดำเนินการต่างๆ ได้แม้ว่าจะประกาศ AccessRights.None

หากมีการประกาศ AccessRights.FullAccess หน้าต่างต่อไปนี้จะแสดงขึ้นเมื่อรันอินสแตนซ์ของ cBot หรืออินดิเคเตอร์ที่เกี่ยวข้อง

Image title

ข้อยกเว้นด้านความปลอดภัย

หาก cBot หรืออินดิเคเตอร์ของคุณพยายามดำเนินการที่ถูกจำกัด โค้ดจะแสดงข้อยกเว้นด้านความปลอดภัย

ตัวอย่างเช่น หาก cBot ที่มี AccessRights.None พยายามอ่านจากไฟล์ข้อความ (โดยไม่ใช้ คุณสมบัติการเข้าถึงไฟล์) มันจะถูกหยุดและข้อความต่อไปนี้จะปรากฏในบันทึก

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.

วิธีที่แน่นอนที่สุดในการหลีกเลี่ยงข้อยกเว้นนี้คือการประกาศ AccessRights.None สำหรับส่วนขยายทั้งหมดของคุณ เว้นแต่คุณวางแผนที่จะแจกจ่ายให้กับนักเทรดคนอื่น