アクセス権

「AccessRights」クラスプロパティ

ユーザーをマルウェアコードから保護するために、すべてのcBotまたはインジケーターはサンドボックス環境で実行されます。

そのため、cBotやインジケーターは、下記のように必要なアクセス権を「AccessRights」クラスプロパティで宣言する必要があります。

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

AccessRights」プロパティの2つの可能な値は次のとおりです。

  • None。この拡張機能は、プラットフォームが提供するAPIデータにのみアクセスできます。プラットフォーム外の何もアクセスできません。
  • FullAccess。この拡張機能は無制限のアクセス権を持っています。インターネットにアクセスしたり、ファイルの読み書きを行ったり、他の実行可能ファイルを実行することができます。また、WinApi関数をインポートしたり、.NETリフレクションを使用したり、ウィンドウを作成したりできます。

API 機能

AccessRights.None」が宣言されていても、アルゴリズムがさまざまなアクションを実行できるAPI機能がいくつか存在します。

  • ファイルアクセス
  • ネットワークアクセス
  • ローカルストレージ

AccessRights.FullAccess」が宣言されている場合、cBot/インジケーターのインスタンスを実行すると、次のようなウィンドウが表示されます。

警告画像

セキュリティ例外

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」を宣言することです。

目次

このページについて