選択シグナルのプロパティ値(文字列型)を取得 SignalBaseGetString 関数

関数

トレードシグナル関数

SignalBaseGetString 関数

 この関数は、選択したシグナルの文字列型のプロパティ値を取得します。
 取得できるプロパティ値は ENUM_SIGNAL_BASE_STRING 列挙値にある内容です。

 シグナルの選択は SignalBaseSelect関数を使用します。

データ型と構成・戻り値

string SignalBaseGetString(①);

 戻り値は、選択したシグナルの文字列型のプロパティ値を返します。

引数 [1]

 SignalBaseGetString関数は 1個の引数で構成されます。


引数名データ型単位初期値説明
property_idenumシグナルのプロパティ識別子。
ENUM_SIGNAL_BASE_STRING 列挙値から選択します。

使用例

SignalBaseGetString関数による選択シグナルプロパティ値の確認

 SignalBaseGetString関数を使ってインデックスが「999」のシグナルのプロパティ値(文字列型)を確認します。

コード

// SignalBaseGetString関数による選択シグナルプロパティ値の確認
#property strict
void OnInit() {

int s_index=999; // ★選択するシグナルのインデックス

int t=SignalBaseTotal();
if(s_index >= t) {
   Print("インデックスを 0~", t-1, "の範囲で設定して下さい。");
} else {

SignalBaseSelect(s_index);

Print("①シグナルID:",                  SignalBaseGetInteger(SIGNAL_BASE_ID));             // 0
Print("②シグナル購読開始日:",(datetime)SignalBaseGetInteger(SIGNAL_BASE_DATE_PUBLISHED)); // 1
Print("③モニタリング開始日:",(datetime)SignalBaseGetInteger(SIGNAL_BASE_DATE_STARTED));   // 2
Print("④購読数:",                      SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS));    // 4
Print("⑤アカウントの種類:",            SignalBaseGetInteger(SIGNAL_BASE_TRADE_MODE));     // 5
Print("⑥アカウントのレバレッジ:",      SignalBaseGetInteger(SIGNAL_BASE_LEVERAGE));       // 6
Print("⑦取引回数:",                    SignalBaseGetInteger(SIGNAL_BASE_TRADES));         // 7
Print("⑧利益(単位:Pips):",            SignalBaseGetInteger(SIGNAL_BASE_PIPS));           // 8
Print("⑨ポジション比率:",              SignalBaseGetInteger(SIGNAL_BASE_RATING));         // 9

Print("⑩ブローカー名:",                SignalBaseGetString(SIGNAL_BASE_BROKER));          //10
Print("⑪ブローカーサーバー:",          SignalBaseGetString(SIGNAL_BASE_BROKER_SERVER));   //11
Print("⑫シグナル名:",                  SignalBaseGetString(SIGNAL_BASE_NAME));            //12
Print("⑬シグナル作成者のログイン:",    SignalBaseGetString(SIGNAL_BASE_AUTHOR_LOGIN));    //13
Print("⑭シグナルの基軸通貨:",          SignalBaseGetString(SIGNAL_BASE_CURRENCY));        //14

Print("⑮シグナル購読価格:",            SignalBaseGetDouble(SIGNAL_BASE_PRICE));           //15
Print("⑯利益:",                        SignalBaseGetDouble(SIGNAL_BASE_GAIN));            //16
Print("⑰口座残高:",                    SignalBaseGetDouble(SIGNAL_BASE_BALANCE));         //17
Print("⑱最大ドローダウン:",            SignalBaseGetDouble(SIGNAL_BASE_MAX_DRAWDOWN));    //18
Print("⑲証拠金:",                      SignalBaseGetDouble(SIGNAL_BASE_EQUITY));          //19
Print("⑳投資利益率(%):",              SignalBaseGetDouble(SIGNAL_BASE_ROI));             //20

Print("選択シグナルインデックス:", s_index, " 全シグナル数:", t);
}
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

 行の後ろにあるコメントの数値は、引数①の識別子に対応する値です。識別子の代わりにこの値を使うこともできます。

結果

 他のシグナルを確認したい場合は、5行目の「int s_index=999;」の値を変えてください。

タイトルとURLをコピーしました