コンテンツにスキップ

プラグインのファイル関連付け

FileAssociationsインターフェースは、プラグインがファイル拡張子を柔軟に登録、変更、および処理できるようにするタイプを提供します。 これらのタイプを使用して、開発者はファイル関連付けを管理するプラグインをコーディングできます。 プラグインが有効になると、cTraderは関連するファイルを認識し、処理のためにプラグインに転送します。

cTrader UIで直接ファイルを処理するように設定されたプラグインを使用すると、ユーザーはファイルを操作する際に複数のアプリケーションを切り替える必要がなくなる場合があります。 たとえば、特定の取引戦略で使用されるすべてのファイルを開いて管理するプラグインを作成できます。

ユースケース

以下は、FileAssociations機能を使用したプラグインの例です:

  • 取引履歴コンバーターは、他のプラットフォームからの取引履歴を含むCSVおよびTXTファイルを受け取り、処理して、cTrader互換形式に変換して分析したり、直接ジャーナルにインポートしたりします。
  • 取引シグナルプロセッサは、外部プロバイダーまたは自動取引システムからの取引シグナルを含むXMLまたはJSONファイルを読み取り、ユーザーがシグナルに基づいて迅速に取引を実行できるようにします。
  • リスク管理テンプレートインポーターは、リスク管理設定を含むJSONまたはCSVファイルを受け取り、処理して、ユーザーがcTraderで事前定義された設定を適用できるようにします。
  • ポートフォリオマネージャーは、トレーダーのポートフォリオ詳細を含むCSVおよびXMLファイルを処理し、資産、ポジション、パフォーマンスメトリクスの簡素化されたビューを提供しながら、ポートフォリオ管理を強化します。
  • チャートテンプレートローダーは、チャートテンプレート用のXMLまたはJSONファイルを処理し、ユーザーがチャートの好みの設定またはセットアップを保存して迅速にロードできるようにします。
  • インジケーター設定ローダーは、カスタムインジケーター設定用のJSONまたはCSVファイルを処理し、ユーザーがインジケーターの好みの設定を保存して迅速に適用できるようにします。

操作

プラグインをインストールする

cTraderユーザーが特定のファイルタイプをサポートするプラグインを初めてインストールして有効にすると、ダイアログが表示されます。 ユーザーは、ファイル拡張子をプラグインに関連付けるように求められます。

ユーザーが操作を確認すると、コンピュータはシステム全体のファイル関連付け設定を更新し、新しい設定がすぐに適用されます。

ファイルタイプの新しいアイコンがエクスプローラーに表示されます。 ファイルタイプのアイコンが提供されていない場合、デフォルトのプラグインアイコンが使用されます。

警告

プラグインは、.algoなどの制限されたファイル拡張子を処理できません。

プラグインを使用する

cTraderでファイル拡張子をサポートするプラグインが有効になっている場合、ユーザーが次のいずれかの操作を行うと、プラグインがファイルを処理するために呼び出されます:

  • ファイルをドラッグアンドドロップする - ユーザーはサポートされているファイルをドラッグしてcTrader UIにドロップできます。

  • エクスプローラーでファイルを開く - ユーザーはファイルをダブルクリックして開くか、開くオプションを使用してcTraderを選択できます。

    • cTraderアプリケーションが開いている場合、プラグインはすぐにファイルを受け取ります。
    • cTraderアプリケーションが閉じている場合、cTraderが最初に起動され、その後プラグインがファイルを受け取ります。

受け取ったファイルはプラグインのデータフォルダにコピーされ、プラグインが処理を終了すると削除されます。

プラグインのデータフォルダへのパス: …/Documents/cAlgo/Data/Plugins/{PluginName}/Temp

ファイル拡張子が複数の有効なプラグインに関連付けられている場合、各プラグインはファイルを独立して処理します。

関連するプラグインがcTraderインスタンスで無効化されたためにファイル関連付けが削除されると、同じプラグインが有効になっている別のcTraderインスタンスでファイル関連付けが自動的に再追加されます。

手動で上書きする

ユーザーが後で通常のコンピュータ設定内でファイルタイプのデフォルトプログラムを変更した場合、cTraderは自動的にそのファイルタイプの処理を停止します。

その形式のファイルを処理するためのデフォルトプログラムとしてcTraderを再度設定するには、ユーザーは次の方法でファイル関連付けを再確立する必要があります:

  1. cTraderを開き、関連するプラグインを無効にします。
  2. プラグインを有効にします。 ダイアログが表示されたら、操作を確認します。

この設定により、プラグインとcTraderアプリケーションがファイル拡張子を管理しながら、他のプログラムからの干渉を避けることができます。

注意

プラグインは、アルゴリズムやcTraderアプリケーションの再起動を必要とせずに、実行時にファイル関連付けを追加および削除できます。

例のプラグイン

例のプラグインは、次のファイルタイプのファイル関連付けを単純に追加します:

  • CSV
  • PNG
  • PDF
  • TXT
 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
using System;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;

namespace cAlgo.Plugins
{
    [Plugin(AccessRights = AccessRights.None)]
    public class FileAssociationSample : Plugin
    {
        private const string FileExtension1 = ".csv";
        private const string FileExtension2 = ".png";
        private const string FileExtension3 = ".pdf";
        private const string FileExtension4 = ".txt";

        protected override void OnStart()
        {
            AddFileAssociations();
            FileAssociations.FileOpened += FileAssociations_FileOpened;

            Print("File associations have been added.");
        }

        private void AddFileAssociations()
        {
            FileAssociations.Add(FileExtension1);
            FileAssociations.Add(FileExtension2);
            FileAssociations.Add(FileExtension3);
            FileAssociations.Add(FileExtension4);
        }

        private void FileAssociations_FileOpened(FileAssociationsFileOpenedEventArgs obj)
        {
            Print($"File opened: {obj.FilePath}");
        }

        protected override void OnException(Exception exception)
        {
            Print($"Exception: {exception}");
        }
    }
}

Image title