콘텐츠로 이동

액세스 권한

AccessRights 클래스 속성

사용자를 악성 코드로부터 보호하기 위해 모든 cBot 또는 지표를 샌드박스 환경에서 실행합니다. 결과적으로, 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 리플렉션을 사용하며, 창을 생성할 수 있습니다. !!! note "참고"

    AccessRights.None이 선언된 경우에도 다양한 작업을 수행할 수 있는 여러 API 기능이 있습니다.

AccessRights.FullAccess가 선언된 경우, 해당 cBot 또는 지표의 인스턴스를 실행할 때 다음 창이 표시됩니다.

Image title

보안 예외

cBot 또는 지표가 제한된 작업을 시도하면 코드는 보안 예외를 발생시킵니다.

예를 들어, AccessRights.None인 cBot이 텍스트 파일에서 읽기를 시도하면 (파일 접근 기능을 사용하지 않고) 중지되고 로그에 다음 메시지가 나타납니다.

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을 선언하는 것입니다.