mt4 (MetaTrader4)使い倒シストレ

メタトレーダー、自作インジケータ、自作EAで完全自動売買。使えるものは何でも使え。
インジケーター、EA(自動売買システム)製作のご依頼はこちらへ
Googolyen FX Factory
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


にほんブログ村 為替ブログ FX システムトレード派へ
--/--/--(--) --:--:-- | スポンサー広告 | Trackback(-) | Comment(-)
ArrayCopySeries
int ArrayCopySeries(double &array[], int series_index, string symbol=NULL, int timeframe=0)

直列配列をコピーし、コピーした要素の数を返す。

データ配列の実メモリ割り当てはせず、何もコピーされない。
このような配列へのアクセスはリダイレクトされる。
カスタムインジケータにおけるインデックス配列として代入された配列は除く。
この場合、データは実コピーされる。

もし今とは異なる通貨名や時間枠のデータが他のチャートからコピーされれば、必要データが不足する可能性がある。
この時ERR_HISTORY_WILL_UPDATEDエラー(4066 - 要求されたデータが未更新)が最後のエラー値になった場合、ある一定の時間を置いた後で、再コピーをする必要がある。

Notes:もしseries_indexがMODE_TIMEならば、関数へ渡される配列はdetetime型でなければならない。

Parameters:
array[]      -   double型2次元配列のコピー先への参照
series_index -   直列アレイ識別子。これらは直列データ識別子のどれかの値をとる。
symbol       -   シンボル名 (通貨ペア名)
timeframe    -   時間枠。これらは時間枠の値のどれかをとる
Sample:
datetime daytimes[];
int      shift=10,dayshift,error;
//---- the Time[] array was sroted in the descending order
ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_D1);
error=GetLastError();
if(error==4066)
  {
   //---- make two more attempts to read
   for(int i=0;i<2; i++)
     {
      Sleep(5000);
      ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_D1);
      //---- check the current daily bar time
      datetime last_day=daytimes[0];
      if(Year()==TimeYear(last_day) && Month()==TimeMonth(last_day) 
        && Day()==TimeDay(last_day)) break;
     }
  }
if(Time[shift]>=daytimes[0]) dayshift=0;
else
  {
   dayshift=ArrayBsearch(daytimes,Time[shift],WHOLE_ARRAY,0,MODE_DESCEND);
   if(Period()< PERIOD_D1) dayshift++;
  }
Print(TimeToStr(Time[shift])," corresponds to ",dayshift," day bar opened at ",
      TimeToStr(daytimes[dayshift]));



にほんブログ村 為替ブログ FX システムトレード派へ
Trackback
この記事のトラックバックURL
≪この記事へのトラックバック≫
Designed by aykm.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。