ユーザーに配布するアルゴリズムのポートフォリオが大きい場合、ユーザーがローカルマシンでアルゴリズムを簡単に管理できるカスタムパネルやシステムを提供することを検討するかもしれません。このようなシステムは、例えば、互いに補完し合う複数の製品(例:2つのcBotと1つのカスタムインジケーター)が必要な場合に特に価値があります。ユーザーが必要な製品のインストールをスキップした場合には、この事実を警告することができます。
さらに、多くのアルゴリズムにアクセスがある場合、すべてを追跡するのが難しいことがあります。例えば、ユーザーが価値のあるアルゴリズムを誤って削除し、その後にそのアルゴリズムなしでは運用できなくなったことに気づくかもしれません。
あなたとユーザーを助けるために、Algo API は現在インストールされているアルゴリズムとアンインストールされたアルゴリズムの統計を動的に追跡する便利な手段を提供する AlgoRegistry
インターフェースを公開しています。
Algo Registry の使い方
AlgoRegistry
では、各アルゴリズムは AlgoType
で表され、これにはアルゴリズムのユニークな名前と AlgoKind
(例:AlgoKind.CustomIndicator
)が含まれます。
特定のアルゴリズムをレジストリから取得するには、以下のメソッドを呼び出します。
1 |
|
特定の種類のアルゴリズムのカウントを取得するには、以下のメソッドを呼び出します。
1 |
|
また、以下のイベントにカスタムハンドラーを追加することもできます。
AlgoTypeInstalled
– 新しいアルゴリズムがインストールされるたびにトリガーされます。AlgoTypeDeleted
– 新しいアルゴリズムが削除されるたびにトリガーされます。AlgoTypeChanged
– インストールされたアルゴリズムが変更されるたびにトリガーされます。
AlgoRegistry の異なるモードでの動作
AlgoRegistry
はバックテストと最適化では意図した通りに動作しますが、cTrader CLI では動作しません。
サンプルプラグインの作成
AlgoRegistry
は、cTrader UI にアルゴリズムに関する情報を直接表示するプラグインを作成するのに最適です。以下のプラグインはまさにその目的を果たします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
|
プラグインをビルドすると、’アクティブシンボルパネル‘ に以下のブロックが表示されるはずです。ブロック内のデータは、毎秒動的に更新されます。