int ArrayCopySeries(void array[ ], int series_index, string symbol=NULL, inttimeframe=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:
パラメータ:
|
Sample:
サンプル:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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])); |