SignalInfoSetDouble 関数
この関数は、取引シグナルのコピートレードで設定している実数 (double) 型のプロパティ値を再設定します。取引シグナルの購読方法についてはこちらをご確認ください。
データ型と構成・戻り値
bool SignalInfoSetDouble(①, ②);
戻り値は、処理が成功した場合は true、それ以外は falseが返されます。
発生するエラーについては、GetLastError関数で取得することができます。
引数 [2]
SignalInfoSetDouble関数は 2個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | property_id | enum | - | - | シグナルコピー設定プロパティの識別子。 ENUM_SIGNAL_INFO_DOUBLE 列挙値から読取専用以外を選択。 |
② | value | double | - | - | 再設定するシグナルコピーのプロパティ値。 |
使用例
SignalInfoSetDouble関数による取引シグナルプロパティ値の設定
SignalInfoSetDouble関数を使って取引シグナルの実数 (double) 型のプロパティ値を設定します。
取引シグナルを選択して購読にしておく必要があります。設定方法はこちらです。
コード
// SignalInfoSetDouble関数による取引シグナルプロパティ値の設定
#property strict
void OnInit() {
Print("①コピートレードの許可:", (bool)SignalInfoGetInteger(SIGNAL_INFO_SUBSCRIPTION_ENABLED)); // 1
Print("②損切と利確のフラグ:", (bool)SignalInfoGetInteger(SIGNAL_INFO_COPY_SLTP)); // 3
Print("③確認無し同期の有効:", (bool)SignalInfoGetInteger(SIGNAL_INFO_CONFIRMATIONS_DISABLED)); // 4
Print("④取引資金の割合:", SignalInfoGetInteger(SIGNAL_INFO_DEPOSIT_PERCENT)); // 5
Print("⑤証拠金の下限:", SignalInfoGetDouble(SIGNAL_INFO_EQUITY_LIMIT)); // 8
Print("⑥スリッページ:", SignalInfoGetDouble(SIGNAL_INFO_SLIPPAGE)); // 9
bool tf1 = SignalInfoSetInteger(SIGNAL_INFO_SUBSCRIPTION_ENABLED, false); // 1
bool tf2 = SignalInfoSetInteger(SIGNAL_INFO_COPY_SLTP, true); // 3
bool tf3 = SignalInfoSetInteger(SIGNAL_INFO_CONFIRMATIONS_DISABLED, false); // 4
bool tf4 = SignalInfoSetInteger(SIGNAL_INFO_SUBSCRIPTION_ENABLED, 50); // 5
bool tf5 = SignalInfoSetDouble(SIGNAL_INFO_EQUITY_LIMIT, 1000.0); // 8
bool tf6 = SignalInfoSetDouble(SIGNAL_INFO_EQUITY_LIMIT, 1.0); // 9
Print("成否:", tf1, " ①コピートレードの許可:", (bool)SignalInfoGetInteger(SIGNAL_INFO_SUBSCRIPTION_ENABLED)); // 1
Print("成否:", tf2, " ②損切と利確のフラグ:", (bool)SignalInfoGetInteger(SIGNAL_INFO_COPY_SLTP)); // 3
Print("成否:", tf3, " ③確認無し同期の有効:", (bool)SignalInfoGetInteger(SIGNAL_INFO_CONFIRMATIONS_DISABLED)); // 4
Print("成否:", tf4, " ④取引資金の割合:", SignalInfoGetInteger(SIGNAL_INFO_DEPOSIT_PERCENT)); // 5
Print("成否:", tf5, " ⑤証拠金の下限:", SignalInfoGetDouble(SIGNAL_INFO_EQUITY_LIMIT)); // 8
Print("成否:", tf6, " ⑥スリッページ:", SignalInfoGetDouble(SIGNAL_INFO_SLIPPAGE)); // 9
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
各行の後ろにあるコメントの数値は、引数①の識別子に対応する値です。識別子の代わりにこの値を使うこともできます。
結果
結果は、設定変更ができません。原因不明です。GetLastError関数を使ってエラーを確認したところ「関数の呼び出しは出来ません」(エラー番号:4060) となります。