CustomTicksReplace

指定された時間間隔内のカスタム銘柄の価格履歴をMqlTick型の配列からのデータで完全に置き換えます。

int  CustomTicksReplace(
  const string    symbol,            // 銘柄名
  long           from_msc,         // 開始の日付
  long           to_msc,           // 終了の日付
  const MqlTick& ticks[],           // カスタム銘柄に適用されるデータの配列
  uint            count=WHOLE_ARRAY // 使用されるticks[]配列要素の数
  );

パラメータ

symbol

[in]  カスタム銘柄名

from_msc

[in]  削除する指定範囲内の価格履歴の最初のティックの時間(1970.01.01 から経過したミリ秒)

to_msc

[in]  削除する指定範囲内の価格履歴の最後のティックの時間(1970.01.01 から経過したミリ秒)

ticks[]

[in] 昇順に並び替えられたMqlTick型のティックデータの配列

count=WHOLE_ARRAY

[in]  指定した時間間隔内の置き換えに使用されるticks[]配列要素の数。WHOLE_ARRAYはすべてのticks[]配列要素が使用されることを意味します。

戻り値

更新されたティックの数(エラーの場合は-1)

注意事項

クォーツの流れの中ではしばしば複数のティックがミリ秒単位で同じ時間を持つことがあるので(正確なティックの時間はMqlTick構造体のtime_mscフィールドに保存)、CustomTicksReplace関数は自動的にticks[]配列要素を時間順に並び替えることはありません。したがって、ティックの配列は事前に時間の昇順で並び替える必要があります。

ティックはto_mscで指定された時間まで、またはエラーが発生するまで、毎日連続して置き換えられます。指定された範囲の日は順番に処理され。ティック時間と昇順(非降順)の間の不一致が検出されると、現在の日のティックの置き換えが停止します。現在の日(間違ったティックの瞬間)と指定された間隔の残りは変更されませんが、その前日までのティックはすべて普通に置き換えられます。

ticks[] 配列にいずれの日のティックデータも含まれない場合は(一般的に、どの期間でも)、ticks[] からのティックデータが適応された後に、カスタム銘柄履歴には欠落したデータに対応する「穴」が表示されます。言い換えれば CustomTicksReplaceを欠陥したティックで呼び出すとティック履歴のその部分を削除され、これはCustomTicksDeleteを「穴」の範囲で呼び出すのと同じです。

 

参照

CustomRatesDeleteCustomRatesUpdateCustomTicksDeleteCopyTicksCopyTicksRange