メタトレーダーのMQL言語でプログラミングする自動売買システム作成サイト メタシス・シーカー

メタトレーダーMQLプログラミング自動売買システム作成サイト メタシス・シーカー
メタトレーダーMQLプログラミング自動売買システム作成サイト メタシス・シーカー メタトレーダー関連書籍 メタトレーダーMQL言語リファレンス日本語翻訳マニュアル 準備中 準備中 このサイト「メタシス・シーカー」について

直列配列のコピー【ArrayCopySeries】

配列関数【Array functions】

int ArrayCopySeries(void array[ ], int series_index, string symbol=NULL, int timeframe=0)


Copies a series array to another one and returns the count of the copied elements.
直列配列を別の配列にコピーし、そして、コピーされた要素の数を返します。

There is no real memory allocation for data array and nothing is copied. When such an array is accessed, the access is redirected. Excluded are arrays that are assigned as indexed ones in custom indicators. In this case, data are really copied.
データ配列のために実際にメモリ割り当てがないと、何もコピーされません。このような配列にアクセスすると、アクセスがリダイレクトされます。カスタム インディケータでインデックス割り当てをした配列は除外され、この場合、データは実際にコピーされます。

If data are copied from another chart with different symbol and/or timeframe, it is possible that the necessary data will lack. In this case, error ERR_HISTORY_WILL_UPDATED (4066 - requested history data under updating) will be placed into the last_error variable, and there will be necessary to retry copying after a certain period of time.
もし、データを、異なる通貨ペアか、時間枠の別チャートからコピーした場合、必要なデータが不足する可能性があります。この場合、エラー ERR_HISTORY_WILL_UPDATED (4066 - 要求された履歴データが更新中です)が、last_error 変数に格納され、ある一定の時間後にコピーを再試行する必要があります。

Note: If series_index is MODE_TIME, the array to be passed to the function must be of the datetime type.
注意:もし、series_index が MODE_TIME である場合、関数に渡される配列は、datetime 型である必要があります。

Parameters:
パラメータ:
array[] -
Reference to the destination one-dimensional numeric array.
コピー先の1次元数値配列への参照。
series_index -
Series array identifier. It must be one of series array listed identifiers values.
直列配列の識別子。値は直列配列リストにある識別子のいずれかである必要があります。
symbol -
Symbol name (the name of the currency pair)
シンボル名(通貨ペアの名前)
timeframe -
Timeframe of the chart. It can be any of Timeframe list values.
チャートの時間枠。値は時間枠のいずれかの値をとることができます。

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]));






トップページメタトレーダー関連書籍メタトレーダー日本語翻訳MQL言語リファレンス マニュアルこのサイト「メタシス・シーカー」についてサイトマップ
Copyright(C) 2009 MetaSys-Seeker.net All Rights Reserved.
免責事項:当サイト(メタシス・シーカー)のFx外国為替保証金取引、メタトレーダー、自動売買、システムトレード検証、サンプルプログラム、MQL言語リファレンスマニュアルなどの情報に関しては十分に注意した上で掲載するよう努めておりますが、その正確性を保証するものではありません。万一、当サイトに記載されている情報利用によって損害が生じても当サイト運営者は一切責任を負うものではありません。また、当サイトの内容や情報は予告なく変更、中止されることがありますことを予めご了承ください。掲載情報については、ご利用者自身の判断と責任でご利用ください。