CustomTicksAdd

カスタム銘柄の価格履歴にMqlTick型の配列からデータを追加します。カスタム銘柄は気配値ウィンドウで選択されなければなりません。

int  CustomTicksAdd(
  const string    symbol,            // 銘柄名
  const MqlTick& ticks[],           // カスタム銘柄に適用されるティックデータの配列
  uint            count=WHOLE_ARRAY  // 使用されるticks[]配列要素の数
  );

パラメータ

symbol

[in]  カスタム銘柄名

ticks[]

[in]   [in]以前のデータから最近のものまでの時間順に配列されたMqlTick型のティックデータの配列、すなわちk<nの場合はticks[k].time_msc <= ticks[n].time_msc。

count=WHOLE_ARRAY

[in] 追加に使用されるticks[]配列要素の数。WHOLE_ARRAYはすべてのticks[]配列要素が使用されることを意味します。

戻り値

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

さらなる注記

CustomTicksAdd関数は、気配値ウィンドウで開かれているカスタム銘柄に対してのみ機能します。銘柄が気配値ウィンドウで選択されていない場合にはCustomTicksReplaceを使用してティックを追加するべきです。

MqlTick 構造体には、1970年1月1日からカウントされた時間(秒単位のティック時間)とtime_msc(ミリ秒単位のティック時間)の2つの時間値を持つフィールドがあります。追加されたティックのこれらのフィールドは、次の順序で処理されます。

  1. ticks[k].time_msc!=0の場合、これはticks[k].timeフィールドへの書き入れに使われます。すなわちticks[k].time=ticks[k].time_msc/1000(整数除算)がtickに設定されます。
  2. ticks[k].time_msc==0でticks[k].time!=0の場合、ミリ秒単位の時間は、1000を掛けることによって得られます。すなわちticks[k].time_msc=ticks[k].time*1000です。
  3. ticks[k].time_msc==0でticks[k].time==0の場合、これらのフィールドにはCustomTicksAddが呼ばれたときの現在の取引サーバー時間がミリ秒まで書かれます。

ticks[k].bid, ticks[k].ask、ticks[k].lastまたはticks[k].volume の値が正の場合は、適切なフラグの組み合わせがticks[k].flags fieldに書かれます。

  • TICK_FLAG_BID – ティックが買値を変更した
  • TICK_FLAG_ASK  – ティックが売値を変更した
  • TICK_FLAG_LAST – ティックが直近の約定値を変更した
  • TICK_FLAG_VOLUME – ティックが取引量を変更した

フィールドの値がゼロ以下の場合、対応するフラグは ticks[k].flagsフィールドに書き込まれません。

 

TICK_FLAG_BUYフラグとTICK_FLAG_SELLフラグはカスタム銘柄の履歴には追加されません。

 

参照

CustomRatesDeleteCustomRatesUpdateCustomTicksReplaceCopyTicksCopyTicksRange