プラグインのカスタマイズ可能なパラメーター
カスタマイズ可能なパラメーターは、アルゴリズムの操作で使用される値や設定を持つユーザー編集可能なフィールドです。 これらのパラメーターにより、プラグインのユーザーはそのソースコードにアクセスまたは変更することなく、プラグインの動作を設定または制御できます。
プラグインのカスタマイズ可能なパラメーターを1分で理解
- カスタマイズ可能なパラメーターは、プラグインが達成できることを大幅に拡張し、静的なプラグインコードを動的で設定可能なロジックに変換します。
- プラグイン開発者は、エンドユーザーがアルゴの動作を自分の好みに合わせて調整できるように、コードにカスタマイズ可能なパラメーターを使用します。
- プラグインのカスタマイズ可能なパラメーターは、アクセシビリティを向上させ、プラグインの操作をcBotやインジケーターの確立された機能に合わせます。
利用可能な場合、プラグインのカスタマイズ可能なパラメーターには、設定のプラグインセクションからアクセスして編集できます。

パラメーター宣言
パラメーターは、パブリックC#プロパティの上に配置された[Parameter]属性を使用して宣言されます。 プラグインエンジンは、初期化時にこれらの属性を読み取り、それに応じてパラメーターパネルを作成します。
注意
Pythonプラグインは、.csファイルで宣言されたカスタマイズ可能なパラメーターを使用します。
以下のコードは、cTraderにAPIキーテキストフィールドをAPI & システム設定グループの下に表示するように指示し、ユーザーが入力した内容がプラグインの開始前にApiKeyプロパティに割り当てられます。
| [Parameter("API Key", Group = "API & SYSTEM SETTINGS", DefaultValue = " ")]
public string ApiKey { get; set; }
|

以下は、いくつかのカスタマイズ可能なパラメーターを宣言するコード例です:
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 | // API & SYSTEM SETTINGS
[Parameter("API Key", Group = "API & SYSTEM SETTINGS", DefaultValue = " ")]
public string ApiKey { get; set; }
[Parameter("Max Retries", Group = "API & SYSTEM SETTINGS", DefaultValue = 3)]
public int MaxRetries { get; set; }
[Parameter("Enable Logging", Group = "API & SYSTEM SETTINGS", DefaultValue = false)]
public bool EnableLogging { get; set; }
// RISK MANAGEMENT
[Parameter("Stop Loss (pips)", Group = "RISK MANAGEMENT", DefaultValue = 40.0, MinValue = 1.0, Step = 1.0)]
public double StopLossPips { get; set; }
[Parameter("Enable Trailing Stop", Group = "RISK MANAGEMENT", DefaultValue = true)]
public bool EnableTrailingStop { get; set; }
[Parameter("Stop Loss Trigger Method", Group = "RISK MANAGEMENT", DefaultValue = StopTriggerMethod.Trade)]
public StopTriggerMethod StopLossTrigger { get; set; }
// TRADE SETTINGS
[Parameter("Trade Direction", Group = "TRADE SETTINGS", DefaultValue = TradeType.Buy)]
public TradeType TradeDirection { get; set; }
// ORDER SETTINGS
[Parameter("Pending Order Type", Group = "ORDER SETTINGS", DefaultValue = PendingOrderType.Limit)]
public PendingOrderType OrderType { get; set; }
[Parameter("Expiry Time (HH:mm:ss)", Group = "ORDER SETTINGS", DefaultValue = "00:30:00")]
public string ExpiryTime { get; set; }
|
パラメーターの使用法
パラメーターが定義されると、プラグインコード内の任意のメソッドで使用できます。 ほとんどの場合、これらの値は OnStart() 内で読み取られるか、操作中に使用されます。
このコード例では、プラグインの起動時に実行されるプリントステートメントで、いくつかの事前に宣言されたカスタマイズ可能なパラメーターが使用されています:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | protected override void OnStart()
{
Print($"API Key: {ApiKey}");
Print($"Max Retries: {MaxRetries}");
Print($"Enable Logging: {EnableLogging}");
Print($"Stop Loss (pips): {StopLossPips}");
Print($"Enable Trailing Stop: {EnableTrailingStop}");
Print($"Stop Loss Trigger Method: {StopLossTrigger}");
Print($"Trade Direction: {TradeDirection}");
Print($"Pending Order Type: {OrderType}");
Print($"Expiry Time: {ExpiryTime}");
}
|
