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

 
Ivan Titov #:

В чем может быть причина ошибки в логе HistoryBase ... 1 invalid bars removed при работе с пользовательским символом: CustomTicksReplace(), CustomRatesUpdate(), CustomRatesDelete(). Причем:

1) сообщение в логе выходит 2 раза подряд каждый раз после выполнения одной из функций;

2) бары и тики изменяются нормально;

3) какие-либо ошибки функции не возвращают.

Билд 4473.

Проверил в версии 4468, все эти функции работают исправно.

Обновился до 4476 также всё хорошо.

Вероятнее всего, ошибка на вашей стороне.

 
Slava #:

Зависит от модели ноутбука. Яндекс в помощь

Слава спасибо, что предложили Яндекс, а не что-то другое…

Я и до этого сообщения пытался найти, и сейчас повторно помучился, но ничего умного не вижу.

Предложение воспользоваться утилитой не привело к успеху. В биосе разделы только «main» (если правильно помню), в общем исключительно информация о конфигурации и возможность изменить дату\время. Есть возможность поменять очередь где искать загрузку и пароли секьюрити. И всё…

Потому я и обратился за помощью здесь.

Ноут Digma PRO. Хотя при повторной попытке нашёл информацию временного отключения. На клавише Esc нарисован замок и вот сочетание клавиш Fn+Esc временно переключает. Хоть как-то можно, да и ладно.

 
Aleksandr Slavskii #:

Проверил в версии 4468, все эти функции работают исправно.

Обновился до 4476 также всё хорошо.

Вероятнее всего, ошибка на вашей стороне.

Как именно проверяли?  Заменяли существующие бары и тики? И какая может быть ошибка на моей стороне?

 
Ivan Titov #:

Как именно проверяли?  Заменяли существующие бары и тики? И какая может быть ошибка на моей стороне?

Вы писали, что " при работе с пользовательским символом: CustomTicksReplace(), CustomRatesUpdate(), CustomRatesDelete()." выводят в лог запись которой там быть не должно.

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

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

Поэтому я запустил свой код. У моего кода всё гуд. Значит проблема с вашим кодом. Логично?

 

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

Новая версия платформы MetaTrader 5 build 2360: Расширение интеграции с SQLite

Renat Fatkhullin, 2020.05.17 12:17

OnInit это именно точка входа.

Она нужна, так как не всем нужно четко ждать готовности рыночного окружения, а нужно стартовать сразу. И еще неизвестно какое окружение нужно этой программе.

Если нужного окружения нет, надо отложить инициализацию на следующие события, а не зацикливаться на «я знаю только OnInit, логика моей работы прямолинейна, я не готов думать».

_Point и _Digits гарантированно готовы в OnInit или нет?

 
Vladislav Boyko #:

_Point и _Digits гарантированно готовы в OnInit или нет?

Судя по следующему, они должны гарантированно содержать корректные значения в OnInit

https://www.mql5.com/ru/docs/predefined

Для каждой выполняющейся mql5-программы поддерживается ряд предопределенных переменных, которые отражают состояние текущего ценового графика на момент запуска программы - эксперта, скрипта или пользовательского индикатора.

Значение предопределенным переменным устанавливает клиентский терминал перед запуском mql5-программы на выполнение.

Но все-таки...

 
Vladislav Boyko #:

_Point и _Digits гарантированно готовы в OnInit или нет?

_Point и _Digits гарантированно готовы в OnInit и в любом другом месте программы. Главное помнить, что в этих предопределённых переменных хранятся значения по ТЕКУЩЕМУ ИНСТРУМЕНТУ (символу, валютной паре).

С уважением, Владимир.

 
Aleksandr Slavskii #:
Поэтому я запустил свой код.

В Вашем коде существующие бары и тики заменялись? Свой код предоставить нет возможности - более 10 модулей и 10000 строк.

 
MrBrooklin #:

_Point и _Digits гарантированно готовы в OnInit и в любом другом месте программы.

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

 
Aleksandr Slavskii #:


Александр, а у вас при активном использовании CustomTicksReplace и CustomTicksAdd не разрастается кэш баров, который сам терминал создает для кастумных инструментов?

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

Буду благодарен за подсказку или краткое описание best practices по использованию этих функций.