Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1746

 
MakarFX #:

Первое проверь это

а второе - возможно у брокера нет такого объема котировок

Не-не, я чуть-чуть копирую, пробовал периоды от суток до года. Указанные параметры стоят на максимуме (10000000). 

...

При запросе данных из индикатора, если запрашиваемые таймсерии еще не построены или их необходимо загрузить с сервера, функция сразу же вернет -1, но при этом сам процесс загрузки/построения будет инициирован.

При запросе данных из эксперта или скрипта, будет инициирована загрузка с сервера, если локально этих данных у терминала нет, либо начнется построение нужной таймсерии, если данные можно построить из локальной истории, но они еще не готовы. Функция вернет то количество данных, которые будут готовы к моменту истечения таймаута, но загрузка истории будет продолжаться, и при следующем аналогичном запросе функция вернет уже больше данных.

...


Странно. Пишут, что загрузка сама пойдёт, если копировать из незагруженной истории, но... ничего не происходит. Ошибка 4073 (и после перезагрузки если повторить)
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Организация доступа к данным - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Ivan Butko #:

Не-не, я чуть-чуть копирую, пробовал периоды от суток до года. Указанные параметры стоят на максимуме (10000000). 


Странно. Пишут, что загрузка сама пойдёт, если копировать из незагруженной истории, но... ничего не происходит. Ошибка 4073
В МТ5 не так как в МТ4
 
MakarFX #:
В МТ5 не так как в МТ4


Текст

...

При запросе данных из индикатора, если запрашиваемые таймсерии еще не построены или их необходимо загрузить с сервера, функция сразу же вернет -1, но при этом сам процесс загрузки/построения будет инициирован.

При запросе данных из эксперта или скрипта, будет инициирована загрузка с сервера, если локально этих данных у терминала нет, либо начнется построение нужной таймсерии, если данные можно построить из локальной истории, но они еще не готовы. Функция вернет то количество данных, которые будут готовы к моменту истечения таймаута, но загрузка истории будет продолжаться, и при следующем аналогичном запросе функция вернет уже больше данных.

...

Взят из справочника МТ4
https://docs.mql4.com/ru/series/copytime

Как я понял, даже после одного запроса, история должна подгрузиться
void OnStart()
  {
   datetime rates[1];
   int copied=CopyTime(Symbol(),PERIOD_CURRENT,16216,1,rates);
   if(copied<=0)
      Print("Ошибка копирования ценовых данных ",GetLastError());
   else Print("Скопировано ",ArraySize(rates)," баров");
  }
Но, не загружается. Даже один бар))
CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
 
Ivan Butko #:


Текст

Взят из справочника МТ4
https://docs.mql4.com/ru/series/copytime

Как я понял, даже после одного запроса, история должна подгрузиться
void OnStart()
  {
   datetime rates[1];
   int copied=CopyTime(Symbol(),PERIOD_CURRENT,16216,1,rates);
   if(copied<=0)
      Print("Ошибка копирования ценовых данных ",GetLastError());
   else Print("Скопировано ",ArraySize(rates)," баров");
  }
Но, не загружается. Даже один бар))

На сколько я с этим сталкивался, то МТ4 подгружает из архива, а МТ5 с сервера брокера

 
MakarFX #:

На сколько я с этим сталкивался, то МТ4 подгружает из архива, а МТ5 с сервера брокера

Уточните, пожалуйста, что значит "их архива"?

 
Ivan Butko #:

Уточните, пожалуйста, что значит "их архива"?

  
 
MakarFX #:
  

аааа, ясно. Тогда ясно

Эх, эта запись в документации теперь покоя не дает

будет инициирована загрузка с сервера, если локально этих данных у терминала нет


 

Приветствую. Подскажите, пожалста, можно ли сделать, и если да, то как.

Можно ли писать свои функции так, чтоб в написанные функции можно было передавать разное количество параметров?

Как, к примеру, в эту функцию, можно передать 4 или 5 параметров.


 
Andrey Sokolov #:

Приветствую. Подскажите, пожалста, можно ли сделать, и если да, то как.

Можно ли писать свои функции так, чтоб в написанные функции можно было передавать разное количество параметров?

Как, к примеру, в эту функцию, можно передать 4 или 5 параметров.


2,5 способа: 1) делать параметры со значениями по умолчанию 2) писать функции с одинаковыми именами, но разными аргументами. 3) писать "шаблонные функции" (используя и 1 и 2)

для пользователя функции будет подобно тому что у функции "4 или 5" параметров и/или параметр принимает разные типы

 
Maxim Kuznetsov #:

2,5 способа: 1) делать параметры со значениями по умолчанию 2) писать функции с одинаковыми именами, но разными аргументами. 3) писать "шаблонные функции" (используя и 1 и 2)

для пользователя функции будет подобно тому что у функции "4 или 5" параметров и/или параметр принимает разные типы

Спасиб.

Получается разные функции с одинаковыми названиями.  А так чтоб именно можно было передавать разное количество параметров не сделать?

Причина обращения: