Build 604. Не работает CopyRates на минутном таймфрейие! И прочее....

 

1. Грузим скрипт

#property script_show_inputs

input datetime TimeStart=D'27.01.2014 00:00:00';
input datetime TimeStop=D'03.02.2014 00:00:00';
//////////////
void OnStart()
{
   MqlRates rates[];
   ArraySetAsSeries(rates,true);
   ResetLastError();
//   int count=CopyRates(Symbol(),Period(),TimeStart,TimeStop,rates);
   int count=CopyRates(Symbol(),0,TimeStart,TimeStop,rates);
   Print("count = ",count,"    GetLastError = ",GetLastError());

   return;
}
///

на M1 и получаем ошибку:

2014.02.10 03:35:00.843 Script TEST_CopyRates GBPUSD,M1: removed

2014.02.10 03:35:00.843 TEST_CopyRates GBPUSD,M1: uninit reason 1

2014.02.10 03:35:00.843 TEST_CopyRates GBPUSD,M1: count = -1 GetLastError = 4054

2014.02.10 03:35:00.843 TEST_CopyRates GBPUSD,M1: initialized

2014.02.10 03:35:00.843 TEST_CopyRates GBPUSD,M1 inputs: TimeStart=1390780800; TimeStop=1391385600;

На других фреймах работает!


2. И всё таки опять нельзя изменять входящие переменные !!!

input datetime TimeStart=D'27.01.2014 00:00:00';
input datetime TimeStop=D'03.02.2014 00:00:00';



3. Не отображается значок работы скрипта на графике.

Файлы:
 

1. Нет ошибок:


2. Меняется:


3. А должен? Это же скрипт, а не советник.

 
Вы уверены что вам CopyRates() нужна? Есть еще ArrayCopyRates(). Первая реально копирует (предполагаю), вторая нет, следовательно шустрее. CopyRates() кривая, да. Здесь писал, но немного о другом https://www.mql5.com/ru/forum/148850/page65#902176
 

1. На 7-ке, бля, работает, а на XP нет!

Но дальше идти нельзя. Выловить гада надо.

Все пробуем воспроизвести ошибку на XP sp3!!!

2. На ХР не хочет менять дату из выплывающего окна! На 7-ке всё ок.


3. Не отображается значок работы скрипта на графике при любой битности операционной системы!

 
VBAG:

1. На 7-ке, бля, работает, а на XP нет!

Но дальше идти нельзя. Выловить гада надо.

Все пробуем воспроизвести ошибку на XP sp3!!!

2. На ХР не хочет менять дату из выплывающего окна! На 7-ке всё ок.


3. Не отображается значок работы скрипта на графике при любой битности операционной системы!




Пункт ТРИ. Советники отображаются на графике рожицей. Скрипт отрабатывает ОДИН раз и выгружается. Всегда так было.
 
VBAG:

1. На 7-ке, бля, работает, а на XP нет!



Вопрос снимается. Дело было в минутных файлах hst. Их замена помогла - ошибка ушла!

Но надо иметь ввиду, что такое поведение функции возможно, причем код ошибки никак не соответствовал:

4054

ERR_INCORRECT_SERIESARRAY_USING

Неправильное использование массива-таймсерии

 
artmedia70:

Пункт ТРИ. Советники отображаются на графике рожицей. Скрипт отрабатывает ОДИН раз и выгружается. Всегда так было.

Вы просто не замечали - слишком быстро исполняются, а попробуйте зацикленные.