Ошибки, баги, вопросы - страница 2619

 
Slava:

Именно инструмента.

Кнопка F5 на графике, выбор "Обновить" из контекстного меню графика делают то же самое, что и ChartSetSymbolPeriod(NULL,0,0). А именно обновление ценовых данных.

После того, как с сервера придёт ответ все кеши периодов этого самого инструмента насильно перестраиваются. Чем больше кешей, тем дольше перестройка (интерфейс, кстати, при этом не замораживается)

Нажмите F5 и засеките время, когда появится строка Calc в журнале экспертов

Кнопка F5 и пункт контекстного меню Refresh работают по-разному: F5 визуально ничего не делает, Refresh - подвешивает терминал аналогично.

 
Slava:

После того, как с сервера придёт ответ, все кеши периодов этого самого инструмента насильно перестраиваются. Чем больше кешей, тем дольше перестройка (интерфейс, кстати, при этом не замораживается)

Тогда это очень жесткий рефреш. В MQL нужен какой-то более легкий способ обновить один единственный индикатор, без инвалидации котировок и кешей.

 
Stanislav Korotky:

Кнопка F5 и пункт контекстного меню Refresh работают по-разному: F5 визуально ничего не делает, Refresh - подвешивает терминал аналогично.

Да, точно. В MT5 нажатие F5 не вызывает обновления данных (в отличие от MT4)

Refresh подвешивает терминал? До состояния "(не отвечает)"? Вы не можете даже вкладки менять?

 
Slava:

Да, точно. В MT5 нажатие F5 не вызывает обновления данных (в отличие от MT4)

Refresh подвешивает терминал? До состояния "(не отвечает)"? Вы не можете даже вкладки менять?

Нет "подвес" мягкий, все работает, только обновляемый чарт "думает" и CPU 100%.

PS. Удалось выяснить, что все дело в настройке "Неограниченного" количества баров. Поставил 1 млн, и теперь задержка на обновление 1 секунда. Полагаю, что если поставить несколько тысяч, будет незаметно.

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

 
Stanislav Korotky :

Нет "подвес" мягкий, все работает, только обновляемый чарт "думает" и CPU 100%.

PS. Удалось выяснить, что все дело в настройке "Неограниченного" количества баров . Поставил 1 млн, и теперь задержка на обновление 1 секунда. Полагаю, что если поставить несколько тысяч, будет незаметно.

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

Уже просили более 6 месяцев назад.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов

Alain Verleyen, 2019.05.09 15:59

1 ° Хорошо, но не могли бы вы обновить документацию.

2 ° Я бы хотел обновить (вызвать OnCalculate) ТОЛЬКО на текущем индикаторе. Является ли это возможным ? Мне нужно, чтобы при работе с сервисом сервис отправлял пользовательское событие на 1 индикатор, и этот индикатор должен обновиться. Если это невозможно в настоящее время, можете ли вы добавить способ сделать это?

Я могу обновить расчет самостоятельно, но затем: a. Я должен собирать данные OHLC с функциями CopyXXX (вместо того, чтобы быть предоставленными OnCalculate) и б. 'prev_calculated' установлен неправильно.


 
Если при оптимизации пользовательский параметр выдаёт одно и то-же отрицательное число, то в окошке графика пишутся не эти отрицательные числа, а нули... Если изменить его высоту, то всё становится правильно.
 
Михаил:
Если при оптимизации пользовательский параметр выдаёт одно и то-же отрицательное число, то в окошке графика пишутся не эти отрицательные числа, а нули... Если изменить его высоту, то всё становится правильно.

Поправим

 

не могу понять почему такое происходит:

в коде нет никаких проверок на время или чего-то подобного - одни и те же формулы для всех баров.

сначала подумал, что точности не хватает - нет, не оно...

если индикатор делать при несерийном close, то наоборот, самые свежие значения неверные, старые правильные. 

Файлы:
 

всё-таки дело в точности вычислений. на картинке две версии, одна поверх другой:

в новой версии вместо индекса бара передаём сдвиг относительно начала расчёта. но вообще, double, должно быть более чем достаточно для подобных порядков величин. нет?

Файлы:
 

Не знаю ошибка или нет, но при публикации новой версии советника невозможно изменить его цену.

При этом сайт не выдает никаких предупреждений.

Есть предупреждение о том что в следующие 24 часа невозможно будет поменять цену.

Я залил новую версию советника, сохранил, затем попытался изменить цену, получил сообщение о 24 часах, нажал сохранить и применить, и ничего не сохранилось.

Делал с двух браузеров.