CopyIndicatorBuffer

指定された指標バッファのデータを指定された数量でベクトルに取得します。

データは、一番古い要素がベクトルに割り当てられた物理メモリの先頭に配置されるように複製されます。3つの関数オプションがあります。

初期位置と必要な要素数によるアクセス

bool  vector::CopyIndicatorBuffer(
  long     indicator_handle,    // 指標ハンドル
  ulong   buffer_index,        // 指標バッファ番号
  ulong   start_pos,            // 複製開始位置
  ulong   count                // 複製する要素の数
  );

開始日付と必要な要素数によるアクセス

bool  vector::CopyIndicatorBuffer(
  long     indicator_handle,    // 指標ハンドル
  ulong   buffer_index,        // 指標バッファ番号
  datetime  start_time,          // 複製開始日
  ulong   count                 // 複製する要素の数
  );

必要な時間の開始日と終了日によるアクセス

bool  vector::CopyIndicatorBuffer(
  long     indicator_handle,    // 指標ハンドル
  ulong   buffer_index,        // 指標バッファ番号
  datetime  start_time,          // 複製開始日
  datetime  stop_time             // 複製終了日
  );

パラメータ

indicator_handle

[in] 対応する指標関数によって戻された指標ハンドル

buffer_index

[in] 指標バッファの数

start_pos

[in] 最初に複製された要素のインデックス

count

[in] 複製された要素の数

start_time

[in] 最初の要素に対応するバーの時刻

stop_time

[in] 最後の要素に対応するバーの時刻

戻り値

成功の場合はtrue、エラーが発生した場合は false

注意事項

複製されたデータの要素(インデックスbuffer_indexを持つ指標バッファ)は現在から過去までカウントダウンされるため、開始位置が0に等しい場合は、現在のバー(現在のバーの指標値)です。

未知の量のデータを複製する場合、CopyBuffer()関数は受信ベクトルのサイズを複製されたデータのサイズに分配しようとするため、サイズを指定せずに(データにメモリを割り当てずに)ベクトルを宣言する必要があります。

指標値の部分複製が必要な場合は、必要な数量が複製される中間ベクトルを使用する必要があります。この中間ベクトルから、必要な数の値をメンバーごとに受信側ベクトルの必要な場所に複製できます。

所定量のデータを複製する場合は、不必要なメモリの再割り当てを避けるために、ベクトルを事前に宣言し、そのサイズを指定することをお勧めします。

指標からデータをリクエストするとき、リクエストされた時系列がまだ構築されていない場合、または開始時にサーバからダウンロードする必要がある場合、読み込み/構築中、関数はすぐにfalseを返します。

EAまたはスクリプトからデータを要求するとき、端末が適切なデータをローカルに持っていない場合、またはデータがローカル履歴から構築できるがまだ準備ができていない場合、サーバからのダウンロードが開始されます。 この関数は、タイムアウトが経過するまでに準備が整う量を返します。

参照

CopyBuffer