この記事とその付随するビデオでは、cBotおよびインディケーターでパラメーターを宣言および使用する方法を示します。シンプルなインディケーターを開発し、そのパラメーターをcTraderのUIから設定する方法を示します。また、cTraderのcBotやインディケーターで使用できるパラメーターの種類と、それらをコード内でどのように宣言して使用するかを説明します。
パラメーターの定義
パラメーターは、チャートにインディケーターを追加するときやcBotを実行する前にユーザーが設定できる設定可能な値です。パラメーターは、cBotやインディケーターにとって便利な機能であり、アルゴリズムの設定を「ハードコーディング」せずに行うことができます。
インディケーターでのパラメーターの使用
インディケーターでは、パラメーターを使用して、考慮する期間や使用するデータソースなど、インディケーターの出力に影響を与える変数を設定できます。
cBotでのパラメーターの使用
cBotでは、ストップロスやテイクプロフィットレベルなど、実行に影響を与える設定を構成するためにパラメーターを使用できます。
このチュートリアルで示されているように、cTraderは8つのパラメータータイプをサポートしています。
int
double
string
bool
DataSeries
TimeFrame
enum
Color
注意
異なるパラメータータイプはcTraderのUIで異なる形で表示されます。
パラメーターを使用したシンプルなインディケーターの作成
カスタムインディケーターでパラメーターを使用する方法を示すために、新しいインディケーターを作成し、「標準偏差」と呼びます。
標準偏差を計算するには、まず価格の移動平均を計算する必要があります。その後、移動平均インディケーターに必要なパラメーターを宣言し、移動平均期間から始めます。
1 |
|
サポートされているタイプの公開プロパティは、インディケーターのパラメーターになることができます。MaPeriod
プロパティをパラメーターに変換するには、必要な宣言を追加するだけです。
1 2 |
|
Parameter
属性は、このプロパティをインディケーターのパラメーターパネルに定義された名前("MA Period"
)で表示するようにcTraderに指示します。
以下に示すように、Parameter
属性は、表示名、デフォルト値、このパラメーターが配置されるグループ、最大値および最小値、ならびに上下の矢印を押したときにパラメーターが変更されるステップ(数値値の場合のみ)など、パラメーターのいくつかのプロパティを定義することもできます。
1 2 |
|
次に、移動平均インディケーターに必要な他のパラメーターを追加します。MaType
パラメーターは、移動平均の種類を決定するのに役立ちます。これはenum
であり、cTraderのUIにドロップダウンメニューとして表示されます。
1 2 |
|
Source
パラメーターは、移動平均インディケーターのデータソースを指定するオプションをユーザーに提供します。このパラメーターはDataSeries
タイプです。
1 2 |
|
必要なパラメーターが宣言されたら、移動平均を定義して初期化します。
1 2 3 4 5 6 |
|
この時点で、標準偏差の計算を実装する準備が整いました。デフォルトのコードテンプレートには、計算結果を表示するために使用できるOutput
プロパティが既に含まれています。
1 2 |
|
最後に、Calculate()
メソッドで標準偏差の計算を実装します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
インディケーターをチャートに追加すると、「インスタンスを追加」ウィンドウにすべてのパラメーターが表示されるはずです。
追加のパラメーターの追加
標準偏差が完成したので、インディケーターの視覚的な閾値として機能する水平線を追加することもできます。この目的のために、いくつかのパラメーターを追加する必要があります。
最初のものは、線が表示されるかどうかを決定するブールパラメーターです。
1 2 |
|
LineLevel
パラメーターは、線を描画する価格レベルを決定するオプションを提供します。
1 2 |
|
線の色を選択できるパラメーターも追加します。
1 2 |
|
必要なパラメーターがすべて揃ったので、インディケーターが添付されているチャートに線を描画するコードを記述できます。
1 2 3 4 |
|
インディケーターを再度ビルドし、新しいインスタンスを追加すると、線を表示/非表示にしたり、上下に移動したり、線の色を選択したりできるようになります。
以下の例に示すように、特定のタイムフレームのチャートにインディケーターが追加された場合にのみ表示されるようにするために、パラメーターを使用することもできます。
1 2 |
|
Initialize()
メソッドで、インディケーターが添付されているチャートのタイムフレームを確認します。それがTF
パラメーターの値と一致しない場合、インディケーターが表示されないようにします。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
このガイドが、パラメーターとそれがcTraderアルゴトレーディングでどのように機能するかを理解するのに役立ったことを願っています。他の機能について学ぶには、詳細な技術ドキュメントを参照し、新しいビデオを公開するたびに通知を受けるためにYouTubeチャンネルを購読してください。