C#は強く型付けされた言語であるため、cBotsやインジケーターで変数やクラスプロパティを宣言する際にはデータ型を指定する必要があります。APIはすべてのデータ型をパラメータとしてサポートしているわけではないため、アルゴリズム開発者はそれらをうまく使い分けることが重要です。
パラメータの使用例とUI
cTraderは以下のパラメータタイプのみをサポートしており、主な使用例と関連するUI要素は以下の表にまとめられています。
データ型 | 使用例 | UI |
---|---|---|
int | 注文量、バーの数、期間の数など。 | 数値入力フィールド(ステッパー付き) |
double | 価格、注文量など。 | 数値入力フィールド(ステッパー付き) |
string | カスタムメッセージ、ポジションラベルなど。 | テキスト入力フィールド |
bool | 保護機構、トレードの許可、メールの許可など。 | ドロップダウンリスト(Yes/No) |
DataSeries | 市場価格のソースなど。 | ドロップダウンリスト |
TimeFrame | 選択されたタイムフレームなど。 | タイムフレームセレクター |
enum | チャート描画の配置、個別のリスクレベルなど。 | ドロップダウンリスト |
Color | チャート描画、テクニカル分析手段の色、カスタム要素など。 | カラーピッカー |
例えば、cTraderのUIではbool
、double
、int
パラメータが次のように表示されます。
次の3つの例は、DataSeries
、カスタムenum
データ(このガイドでフルコードも提供しています)、およびstring
データを示しています。
以下に示すように、Color
パラメータタイプはカラーピッカーで表されます。
最後に、TimeFrame
データのUIは「Trade」アプリケーションの取引チャートのタイムフレームを反映しています。
cBotの例
以下のcBotでは、ポジションラベルはstring
パラメータです。
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 |
|
以下のアルゴリズムでは、DataSeries
、int
、およびbool
データが例示されています。
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 |
|
このcBotでは、Color
データをパラメータとして使用し、チャートエリア内のテキストの視覚化を定義します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
以下の例では、double
データ型がパラメータとして使用され、ロット単位で注文量を入力します。cBotは、3本連続して赤いバーが出現した後に買いの成行注文を実行します。
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 |
|
インディケーターの例
以下のインディケーターコードは、TimeFrame
パラメータの使用方法を示しています。
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 |
|
遊び心のある「色覚テスト」インディケーターがあり、enum
を使用して、色覚オプション(通常、色覚異常、グレースケール)を選択できるようにし、チャートに描画された水平線の色を判断することができます。
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 |
|
まとめると、宣言された変数やクラスプロパティに正しいデータ型を選択することで、標準的でないタスクにも対応できるcBotやインディケーターを作成することができます。