CopyLow
指定した通貨ペア・時間軸の安値のヒストリーデータを取得し、コピー先配列へコピーします。
コピーされたデータの要素の順序は、従来のものと同じです。
コピーするデータ量が未知数の場合、コピー先配列は
動的配列を使用する事をお勧めします。
動的配列であれば、要求されたデータ数がコピー先配列のサイズを超える場合、
要求されたデータが収まるようにメモリの再割り当てを行います。
コピーするデータ量が決まっている場合、過剰なメモリ割り当て防止の為に、
静的配列を使用する事をお勧めします。
コピー先配列の時系列プロパティに影響される事はありません。
配列に割り当てられた物理メモリの先頭からデータの貼り付けをします。
関数の呼び出しは3種類のバリアントがあります。
関数書式(コピー開始位置とコピー数を指定):
int CopyLow(
string symbol_name,
ENUM_TIMEFRAMES timeframe,
int start_pos,
int count,
double low_array[]
);
関数書式(コピー開始日とコピー数を指定):
int CopyLow(
string symbol_name,
ENUM_TIMEFRAMES timeframe,
datetime start_time,
int count,
double low_array[]
);
関数書式(コピー開始日とコピー終了日を指定):
int CopyLow(
string symbol_name,
ENUM_TIMEFRAMES timeframe,
datetime start_time,
datetime stop_time,
double low_array[]
);
■引数
■戻り値
コピーされた要素数を返します。
エラーの場合は-1を返します。
■備考
要求したデータ範囲のデータがサーバー上の利用可能データの範囲外にある場合、戻り値は-1を返します。
TERMINAL_MAXBARS(チャート上のバーの最大数)を超えたデータを要求した場合、戻り値は-1を返します。
インジケータかでデータを要求する時、
要求された時系列がまだ構築されておらず
サーバーからダウンロードする必要がある場合、戻り値は-1を返します。
エラーを返しますが、ダウンロード・構築プロセスは開始されます。
EAとスクリプトでデータを要求する時、
ターミナルがローカルデータに要求されたデータを持っていない場合は、サーバーからデータのダウンロードを開始します。
この関数はタイムアウト期間の間で準備されたデータ量を返しますが、ヒストリーデータのダウンロードは継続します。
次に同様の要求を行った場合、関数はより多くのデータを返します。
コピー開始日時とコピー数の引数でデータ要求した場合、
指定した日時以下の値のみコピーします。
この日時は任意のバーのオープン時間を意味します。
コピー開始日時とコピー終了日時の引数でデータ要求した場合、指定した日時の範囲のデータのみコピーします。
設定した日時の範囲は秒単位までカウントされます。
この日時は任意のバーのオープン時間を意味します。
現在の曜日が土曜日の場合、
timeframe=週足、start_time=今週の水曜日の日時、stop_time=今週の金曜日の日時の範囲でデータ要求した場合、
戻り値は0を返します。
これは週足のオープンタイムが常に日曜になる為、週足バーが指定した範囲に該当しない為です。