Пользовательские символы. Ошибки, баги, вопросы, предложения. - страница 34

 
Andrey Khatimlianskii #:

TaskManager что показывает?

 
fxsaber #:

TaskManager что показывает?

А что там можно увидеть?

Зависшие ничем не отличаются от нормальных.


 
Andrey Khatimlianskii #:

А что там можно увидеть?

Дикая нагрузка CPU на EURUSD.

 
fxsaber #:

Дикая нагрузка CPU на EURUSD.

Какое это отношение имеет к топику?

На EURUSD работают 2 советника и несколько индикаторов.

 
Andrey Khatimlianskii #:

Какое это отношение имеет к топику?

На EURUSD работают 2 советника и несколько индикаторов.

Стараюсь делать эксперименты по багам на чистом Терминале. Иначе слишком много вариантов, на что грешить.

 
fxsaber #:

Стараюсь делать эксперименты по багам на чистом Терминале. Иначе слишком много вариантов, на что грешить.

Правильно, конечно. Только сложно для каждого бага так делать.

С загрузкой EURUSD разобрался, убрал ее. Наблюдаю.

 

Билд 3099, проблема актуальна.

На одном из пользовательских инструментов, обновляемых сервисом, SymbolInfoTick возвращает данные 4-х часовой давности (не обновляются).

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

Все, как здесь — и тики есть, и время в маркет вотч обновляется, и клоуз возвращает актуальные данные:

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

Пользовательские символы. Ошибки, баги, вопросы, предложения.

Andrey Khatimlianskii, 2021.10.24 04:34

Билд 3091, застал зависшие котировки (клик):


Последний тик, возвращаемый SymbolInfoDouble и SymbolInfoTick — 04:52:07 (бид 61083.19)

При этом более новые тики есть в истории инструмента, график и  маркетвотч обновляются, iClose возвращает корректное значение.

Код для воспроизведения есть. Что еще нужно, чтобы исправить?


 

Билд 3103, проблема актуальна. И есть новые детали!

Замирание котировок пользовательских инструментов точно совпало с обрывом связи к торговому серверу (12:03:28):


2021.11.13 12:03:27.786 Network '30966228': connection to MetaQuotes-Demo lost
2021.11.13 12:03:28.476 Network '30966228': authorized on MetaQuotes-Demo through Access Point EU 4 (ping: 36.92 ms, build 3103)
2021.11.13 12:03:28.476 Network '30966228': previous successful authorization performed from *** on 2021.11.13 11:56:34
2021.11.13 12:03:28.639 Network '30966228': terminal synchronized with MetaQuotes Software Corp.: 0 positions, 0 orders, 148 symbols, 0 spreads
2021.11.13 12:03:28.639 Network '30966228': trading has been enabled - hedging mode


При этом, как и прежде, пользовательский инструмент нормально обновляется (чарт, обзор рынка, история тиков). iClose выдает актуальные данные.

А SymbolInfoTick возвращает данные, актуальные на момент обрыва связи.

 

Тут же воспроизвелось еще раз.

Попытался подключиться к другой точке доступа (вручную), получил облом. Выбрал еще другую точку, очень долго терминал коннектился, но в итоге ему это удалось. В этот момент, видимо, SymbolInfoTick "ожил" (не успел заметить). Но потом связь опять оборвалась, и SymbolInfoTick замер заново:

2021.11.14 04:29:57.973 LiveUpdate      check for release version
2021.11.14 04:29:58.153 LiveUpdate      you are using the latest version
2021.11.14 04:30:23.529 Virtual Hosting 'Webzilla New York' failed to send status command [1001]
2021.11.14 04:30:37.529 Virtual Hosting 'Webzilla New York' failed to send status command [1001]
2021.11.14 04:30:51.530 Virtual Hosting 'MQL5 New York 2' failed to send status command [1001]
2021.11.14 04:31:14.296 Network '30966228': scanning network for access points
2021.11.14 04:37:40.811 Network '30966228': connecting to an access point with 0 % quality (previous: 94 %)
2021.11.14 04:37:40.811 Network '30966228': disconnected from MetaQuotes-Demo
2021.11.14 04:37:48.393 Network '30966228': connecting to an access point with 93 % quality (previous: 0 %)
2021.11.14 04:37:48.393 Network '30966228': disconnected from MetaQuotes-Demo
2021.11.14 04:38:03.725 Network '30966228': connection to MetaQuotes-Demo lost
2021.11.14 04:55:40.351 Network '30966228': authorized on MetaQuotes-Demo
2021.11.14 04:55:40.351 Network '30966228': previous successful authorization performed from *** on 2021.11.13 12:03:32
2021.11.14 04:56:31.611 Network '30966228': terminal synchronized with MetaQuotes Software Corp.: 0 positions, 0 orders, 148 symbols, 0 spreads
2021.11.14 04:56:31.611 Network '30966228': trading has been enabled - hedging mode
2021.11.14 04:56:33.557 Network '30966228': scanning network for access points
2021.11.14 04:56:45.867 Virtual Hosting 'Webzilla New York' failed to send status command [1001]
2021.11.14 04:56:59.867 Virtual Hosting 'Webzilla New York' failed to send status command [1001]
2021.11.14 04:57:04.504 Network '30966228': scanning network finished
2021.11.14 04:57:04.504 Network '30966228': auto connecting to a better access point with 94 % quality (previous: 49 %)
2021.11.14 04:57:04.504 Network '30966228': connection to MetaQuotes-Demo lost
2021.11.14 04:57:05.035 LiveUpdate      new version build 3104 (IDE: 3104, Tester: 3104) is available
2021.11.14 04:57:05.142 Network '30966228': authorized on MetaQuotes-Demo through Access Point EU 4 (ping: 36.14 ms, build 3104)
2021.11.14 04:57:05.142 Network '30966228': previous successful authorization performed from ** on 2021.11.14 04:55:44
2021.11.14 04:57:05.294 Network '30966228': terminal synchronized with MetaQuotes Software Corp.: 0 positions, 0 orders, 148 symbols, 0 spreads
2021.11.14 04:57:05.294 Network '30966228': trading has been enabled - hedging mode



Обнаружил еще один способ "обновить котировки" — это происходит при добавлении нового инструмента в обзор рынка. Похоже, в этот момент производится какая-то принудительная синхронизация (но новые тики все равно не начинают приходить в SymbolInfoTick). На видео видно время последнего тика, который видит советник — 05:08:00. При добавлении нового инструмента оно обновляется:


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

Пожалуйста, исправьте.

 

Возник вопрос по сбрасыванию кастомных тиков из памяти на диск.
Собираю кастомные данные 24/7, и перезагрузка терминала критично нежелательна для сброса тиков из памяти на диск.

Хочется понять, по какому критерию терминал выгружает кастомные тики из памяти на диск?
До какого предела он будет накапливать место в памяти?

Терминал запускается с ключом /portable
Файл .tkc как был 130 КБ при старте, так и остаётся такого же размера.
Поэтому создаётся впечатление, что с момента старта, в памяти висит больше 11165 тиков.

1

2


Хотя по дате изменения файла видно, что какие-то действия с файлом происходят.
А размер остаётся прежним. Так должно быть?

33


4



И второй вопрос-предложение.
В данном случае, не хватает функции принудительного сброса из памяти кастомных тиков на диск?
Что-то наподобие  
CustomTicksFlush(_Symbol);
Возможно ли введение в язык этой штатной функции?


UPD:

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

5

Но всё же критерий сброса памяти на диск хотелось бы знать.
В чём измеряется он? В количестве тиков или размере накопленной памяти?
Какие цифры? Чтоб примерно понимать нагрузку, для большого количества кастомных символов.

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