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

 
Vladimir Karputov:

Справка: CopyRates

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

Спасибо, это решило, взял только реально необходимые данные и каскад ошибок сразу исчез, а были и утечки паямяти и краши ))

 
BillionerClub:

Спасибо, это решило, взял только реально необходимые данные и каскад ошибок сразу исчез, а были и утечки паямяти и краши ))

Вот только остается вопрос: "ЗАЧЕМ использовать CopyRates по текущим символу и таймфрейму В ИНДИКАТОРЕ, если индикатор уже поставляет массивы OHLC в OnCalculate"?

 
Vladimir Karputov:

Вот только остается вопрос: "ЗАЧЕМ использовать CopyRates по текущим символу и таймфрейму В ИНДИКАТОРЕ, если индикатор уже поставляет массивы OHLC в OnCalculate"?

 в OnCalculate"   есть  OHLC, но может и не быть бара, когда как это грозит выходом из массива, в любом случае надо использовать Ibarshift c параметром true. 

 
BillionerClub:

 в OnCalculate"   есть  OHLC, но может и не быть бара, когда как это грозит выходом из массива, в любом случае надо использовать Ibarshift c параметром true. 

Нет. OnCalculate содержит все OHLC по текущему символу и текущему таймфрейму. Но если сер любитель на полном скаку стрелять в обе ноги лошади - тогда да, можете в ИНДИКАТОРЕ по ТЕКУЩИМ символу и таймфрейму пользовать CopyXXXX функции.

 
Vladimir Karputov:

… на полном скаку стрелять в обе ноги лошади …

Интересно какая-же это лошадь, что скачет на двух ногах?

или вы имели ввиду обе правые, или обе задние¿¿¿

 
Vladimir Karputov:

Нет. OnCalculate содержит все OHLC по текущему символу и текущему таймфрейму. Но если сер любитель на полном скаку стрелять в обе ноги лошади - тогда да, можете в ИНДИКАТОРЕ по ТЕКУЩИМ символу и таймфрейму пользовать CopyXXXX функции.

Я плохо объяснил, извиняюсь. Спасибо за ответы. Проверил вы правы, бар просто затерялся, неожиданно вылетев туда где я не ждал. Но у меня задача, как бы гружу с другого терминала данные, которые  могут не совпадать  и за отсутствия или наличия в обоих терминалах. Как не проверял лучшего решения чем баршифт не нашел.


 

Здравствуйте! ... давно я уже тут не был)

Почему функция

PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,begin);

не влияет на получение

handle = iCustom(_Symbol,PERIOD_CURRENT,"Market indices");
if(handle != INVALID_HANDLE)
   {
    Alert("RT - ",rates_total);
    Alert("BC - ",BarsCalculated(handle));
   };


Проблема в том что RT и BC совпадают


То есть, есть ли возможность узнать по хэндлу какой PLOT_DRAW_BEGIN у индикатора?

... просто я планирую делать запросы через iCustom на несколько переменных с разными периодами и мне важно знать на каком баре рассчитаны все запрашиваемые переменные

 
Почему так быстро работает, вроде поиск в массиве дорого стоит?
iBarShift
 
BillionerClub:
Почему так быстро работает, вроде поиск в массиве дорого стоит?
Скорее всего поиск реализован не через цик, а с помощью простой математики
 

Здраствуйте, у меня есть одна проблема.

Вместо русских букв у меня иероглифы. Попробовал изменить региональные настройки, но не помогло. Знаете какие-то рабочие методы?

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