SignalBaseSelect 関数
この関数は、用意されているシグナルの中からシグナルを選択して、MT4で操作ができるようにします。
データ型と構成・戻り値
bool SignalBaseSelect(①);
戻り値は、処理が成功した場合は true、それ以外は falseが返されます。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [1]
SignalBaseSelect関数は 1個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | index | int | - | - | トレードシグナル基の選択するシグナルのインデックス。 インデックス値は 0が一番開始日の古いシグナルになっています。 |
使用例
SignalBaseSelect関数によるシグナルの選択
SignalBaseSelect関数を使ってインデックスが「999」のシグナルを選択します。シグナルを選択することにより他の関数を用いて選択したシグナルの情報を確認することができます。
コード
// SignalBaseSelect関数によるシグナル総数の取得
#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;」の値を変えてください。