コンテンツにスキップ

アクセス権

AccessRightsクラスプロパティ

ユーザーをマルウェアコードから保護するため、すべてのcBotまたはインジケーターをサンドボックス環境で実行します。 その結果、cBotとインジケーターは、以下のように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がテキストファイルを読み取ろうとした場合(ファイルアクセス機能を使用せずに)、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 を宣言することです。