Новая версия платформы MetaTrader 5 build 4260: общие улучшения - страница 5

 
fxsaber #:

Так почему iTime все время выдает ноль?

не успевает проскочить ;-) точнее ты из одного индикатора вызываешь другой индикатор и очевидно получаешь прежнее (кешированное в буферах) значение

нельзя из OnCalculate форсить приход тика, сам же видишь что получается цикл - это индикатор и в этом колбеке он должен исключительно считать. 

заведи таймер поменьше и с него уже дёрни ChartSetSymbolPeriod

можно попробовать обойтись SymbolGetInteger(SYMBOL_TIME) или SYMBOL_TIME_MSC. Но у них ещё более загадочное поведение :-)

 
Maxim Kuznetsov #:

не успевает проскочить ;-)

Почему-то только у меня не успевает.
 
Alexander Slavskii #:

On futures, in general, I only got error 4401 once, and no matter how many times I ran it and switched timeframes, there was no error.

I tried it on several instruments.

It’s interesting, but on VTB shares, after switching from H1 to M1, it was possible to achieve constant errors, but after removing the indicator and re-installing it on the same chart, the errors disappeared.

At other events there is a maximum of one print and silence.

Thanks for the confirmation that it is working.

Edit:

The method of using ChartSetSymbolPeriod() to load other timeframes is mentioned here

 "If you call it and specify the current chart symbol/period, this will cause a recalculation of indicators running on the chart. Thus, you can calculate the indicator on the chart even if there are no ticks."
Creating multi-symbol, multi-period indicators
Creating multi-symbol, multi-period indicators
  • www.mql5.com
In this article, we will look at the principles of creating multi-symbol, multi-period indicators. We will also see how to access the data of such indicators from Expert Advisors and other indicators. We will consider the main features of using multi-indicators in Expert Advisors and indicators and will see how to plot them through custom indicator buffers.
 
amrali #:

Thanks for the confirmation that it is working.

Вы меня не правильно поняли.

Я написал, что ошибку воспроизвести не получилось.

Так как однократное ноль от функции iTime при запуске индикатора вполне обычное явление.

Многократная ошибка у меня была только на одном графике, который я только что добавил и ни разу на нём не переключал таймфреймы.

Я не считаю это ошибкой.


P.S.  или я вас не правильно понял :)
 
fxsaber #:
Сложно понять, на каких конфигурациях этот код вызывает полную нагрузку соответствующего ядра CPU.

Если воспроизводится проблема (запускаю на M1-таймфрейме), сообщите о своей конфигурации.

Ну так обновление делается на таймфрейме M1, а попытки считать данные - с H1. "Чужой" символ или таймфрейм нужно в индикаторе принудительно прокачать. Посмотрите в книге раздел Мультивалютные и мультитаймфреймовые индикаторы (в частности QuoteRefresh).

Учебник по MQL5: Создание прикладных программ / Создание пользовательских индикаторов / Мультивалютные и мультитаймфреймовые индикаторы
Учебник по MQL5: Создание прикладных программ / Создание пользовательских индикаторов / Мультивалютные и мультитаймфреймовые индикаторы
  • www.mql5.com
До сих пор мы рассматривали индикаторы, работающие с котировками или тиками символа, являющегося текущим символом графика. Однако иногда необходимо...
 
Stanislav Korotky #:

Ну так обновление делается на таймфрейме M1, а попытки считать данные - с H1. "Чужой" символ или таймфрейм нужно в индикаторе принудительно прокачать. Посмотрите в книге раздел Мультивалютные и мультитаймфреймовые индикаторы (в частности QuoteRefresh).

Это все понимаю, спасибо. Почему у других не воспроизводится моя проблема?

 
fxsaber #:

Это все понимаю, спасибо. Почему у других не воспроизводится моя проблема?

Возможно проблема наподобие моей.

Суть: два терминала, одинаковые счета, одинаковые торговые инструменты, все настройки тоже одинаковые.

На днях, в одном из терминалов перестала в индикаторе работать функция OnChartEvent().

Хз, что там случилось, но вот перестала и всё. Во втором всё норм, тот же индикатор работает как и раньше работал.

Я скопировал файл терминала из папки терминала где работает индикатор в папку где не работает.

Не помогло.

В общем помогло полное удаление терминала со всеми пользовательскими данными и установка по новой.

Теперь работает всё нормально. 

Хорошо хоть не забыл предварительно скопировать папки с индикаторами и советниками :)

 
fxsaber #:
Сложно понять, на каких конфигурациях этот код вызывает полную нагрузку соответствующего ядра CPU.

Если воспроизводится проблема (запускаю на M1-таймфрейме), сообщите о своей конфигурации.

Это в независимости от состояния рынка? В выходной запустил - нагрузки нет.

 
Aleksey Vyazmikin #:

Это в независимости от состояния рынка? В выходной запустил - нагрузки нет.

Воспроизводится на RannForex XAUUSD M1 при запуске этого индикатора.

iForexSessions
iForexSessions
  • www.mql5.com
Highlights the Forex Market Sessions (Sydney, Tokyo, London, New York).
 
fxsaber #:

Воспроизводится на RannForex XAUUSD M1 при запуске этого индикатора.

Не понял, нужно два индикатора запускать? И именно только у этого ДЦ такой эффект?

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