Ошибки, баги, вопросы - страница 2776
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если зажать кнопку PrtScr и перемещать окно чарта по кругу - это вызывает жуткие задержки до 5 сек slow motion.
Однако, если выполнять снимок экрана только окна программы terminal.exe через ALT + PrtScr - ни каких задержек нет.
Судя по встроенному сервису VPS, опыт этого дела имеется.
I will assume that the peak is the rendering of the chart comment, otherwise, when the chart queue is empty, the call to the ChartGetXXX function (note, the call with synchronization) takes 0.13 milliseconds
Нет, Ильяс, похоже, без комментариев на графике. Я буду использовать журналы и публиковать его.
Изменить: Здесь результат, никакого взаимодействия с графиком или MT5 или Windows, после запуска, кроме как для копирования журнала. Только 1 график, никакое другое программное обеспечение не работает в системе. Пик меньше, но все же очень важен по сравнению со средним. (µs)
2020.06.13 07: 11: 25.192 342152 (EURGBP, H1) Количество = 7440
2020.06.13 07: 11: 25.192 342152 (EURGBP, H1) Мин = 37
2020.06.13 07: 11: 25.192 342152 (EURGBP, H1) Макс = 17776
2020.06.13 07: 11: 25.192 342152 (EURGBP, H1) Avg = 147
Нет, Ильяс, похоже, без комментариев на графике . Я буду использовать журналы и публиковать его.
Изменить: Здесь результат, никакого взаимодействия с графиком или MT5 или Windows, после запуска, кроме как для копирования журнала. Только 1 график, никакое другое программное обеспечение не работает в системе. Пик меньше, но все же очень важен по сравнению со средним. (µs)
2020.06.13 07: 11: 25.192 342152 (EURGBP, H1) Количество = 7440
2020.06.13 07: 11: 25.192 342152 (EURGBP, H1) Мин = 37
2020.06.13 07: 11: 25.192 342152 (EURGBP, H1) Макс = 17776
2020.06.13 07: 11: 25.192 342152 (EURGBP, H1) Avg = 147
Обновить :
Максимальный пик теперь серьезно увеличен:
2020.06.13 08: 18: 25.187 342152 (EURGBP, H1) Количество = 23520
2020.06.13 08: 18: 25.187 342152 (EURGBP, H1) Мин = 33
2020.06.13 08: 18: 25.187 342152 (EURGBP, H1) Макс = 81011
2020.06.13 08: 18: 25.187 342152 (EURGBP, H1) Avg = 149
Обновить :
Максимальный пик теперь серьезно увеличен:
2020.06.13 08: 18: 25.187 342152 (EURGBP, H1) Количество = 23520
2020.06.13 08: 18: 25.187 342152 (EURGBP, H1) Мин = 33
2020.06.13 08: 18: 25.187 342152 (EURGBP, H1) Макс = 81011
2020.06.13 08: 18: 25.187 342152 (EURGBP, H1) Avg = 149
Для чистоты эксперимента, нужно запустить данный скрипт параллельно на нескольких чартах и в нескольких терминалах. Потом сравнить время подвисаний.
Для чистоты эксперимента, нужно запустить данный скрипт параллельно на нескольких чартах и в нескольких терминалах. Потом сравнить время подвисаний.
Хорошо, но если это уже произошло с 1 графиком, он не улучшится с несколькими графиками.
Что даст вам больше, чтобы запустить его на нескольких графиках / терминалах?
Хорошо, но если это уже произошло с 1 графиком, он не улучшится с несколькими графиками.
Что даст вам больше, чтобы запустить его на нескольких графиках / терминалах?
Если это будет совпадать в разных терминалах, значит проблема лежит в плоскости ОС.
Если это будет совпадать в разных терминалах, значит проблема лежит в плоскости ОС.
Для чистоты эксперимента, нужно запустить данный скрипт параллельно на нескольких чартах и в нескольких терминалах. Потом сравнить время подвисаний.
Еще один Терминал, но 20 графиков (разных символов), стартовал одновременно.
Я проверил на AUDUSD, где пик приходит:
2020.06.13 09: 16: 35.151 342152 (USDJPY, H1) Количество = 240
2020.06.13 09: 16: 35.151 342152 (USDJPY, H1) Мин = 38
2020.06.13 09: 16: 35.151 342152 (USDJPY, H1) Макс = 2235
2020.06.13 09: 16: 35.151 342152 (USDJPY, H1) Avg = 472
2020.06.13 09: 16: 35.151 342152 (CADCHF, H1) Количество = 240
2020.06.13 09: 16: 35.151 342152 (CADCHF, H1) Min = 48
2020.06.13 09: 16: 35.151 342152 (CADCHF, H1) Макс = 2323
2020.06.13 09: 16: 35.152 342152 (CADCHF, H1) Avg = 606
2020.06.13 09: 16: 35.152 342152 (EURAUD, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (EURCHF, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (GBPCHF, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (EURCHF, H1) Мин = 141
2020.06.13 09: 16: 35.152 342152 (EURGBP, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (CHFJPY, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (AUDJPY, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (AUDJPY, H1) Мин = 47
2020.06.13 09: 16: 35.152 342152 (EURUSD, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (EURUSD, H1) Мин. = 23
2020.06.13 09: 16: 35.152 342152 (EURUSD, H1) Макс = 2368
2020.06.13 09: 16: 35.152 342152 (AUDUSD, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (EURUSD, H1) Avg = 607
2020.06.13 09: 16: 35.152 342152 (AUDUSD, H1) Мин = 74
2020.06.13 09: 16: 35.152 342152 (GBPJPY, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (AUDNZD, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (USDCHF, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (AUDNZD, H1) Min = 122
2020.06.13 09: 16: 35.152 342152 (AUDCHF, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (AUDNZD, H1) Макс = 2402
2020.06.13 09: 16: 35.152 342152 (AUDNZD, H1) Avg = 660
2020.06.13 09: 16: 35.152 342152 (AUDCHF, H1) Min = 157
2020.06.13 09: 16: 35.152 342152 (AUDCHF, H1) Макс = 2354
2020.06.13 09: 16: 35.152 342152 (AUDCHF, H1) Avg = 663
2020.06.13 09: 16: 35.152 342152 (GBPCHF, H1) Min = 32
2020.06.13 09: 16: 35.152 342152 (GBPCHF, H1) Макс = 2380
2020.06.13 09: 16: 35.152 342152 (GBPCHF, H1) Avg = 616
2020.06.13 09: 16: 35.152 342152 (EURCHF, H1) Макс = 2327
2020.06.13 09: 16: 35.152 342152 (EURCHF, H1) Avg = 618
2020.06.13 09: 16: 35.152 342152 (EURGBP, H1) Min = 36
2020.06.13 09: 16: 35.152 342152 (EURGBP, H1) Макс = 2233
2020.06.13 09: 16: 35.152 342152 (EURGBP, H1) Avg = 503
2020.06.13 09: 16: 35.152 342152 (CHFJPY, H1) Мин = 11
2020.06.13 09: 16: 35.152 342152 (CHFJPY, H1) Макс = 2387
2020.06.13 09: 16: 35.152 342152 (CHFJPY, H1) Avg = 657
2020.06.13 09: 16: 35.152 342152 (AUDJPY, H1) Макс = 2292
2020.06.13 09: 16: 35.152 342152 (AUDJPY, H1) Avg = 612
2020.06.13 09: 16: 35.152 342152 (EURNZD, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (EURNZD, H1) Min = 54
2020.06.13 09: 16: 35.152 342152 (EURNZD, H1) Макс = 2361
2020.06.13 09: 16: 35.152 342152 (EURNZD, H1) Avg = 612
2020.06.13 09: 16: 35.152 342152 (AUDCAD, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (AUDCAD, H1) Min = 121
2020.06.13 09: 16: 35.152 342152 (EURCAD, H1) Количество = 240
2020.06.13 09: 16: 35.152 342152 (AUDCAD, H1) Макс = 2328
2020.06.13 09: 16: 35.152 342152 (AUDCAD, H1) Avg = 605
2020.06.13 09: 16: 35.152 342152 (AUDUSD, H1) Макс = 2361
2020.06.13 09: 16: 35.152 342152 (AUDUSD, H1) Avg = 611
2020.06.13 09: 16: 35.152 342152 (GBPJPY, H1) Мин = 13
2020.06.13 09: 16: 35.152 342152 (GBPJPY, H1) Макс = 2411
2020.06.13 09: 16: 35.152 342152 (GBPJPY, H1) Avg = 661
2020.06.13 09: 16: 35.153 342152 (GBPUSD, H1) Количество = 240
2020.06.13 09: 16: 35.153 342152 (GBPUSD, H1) Мин = 113
2020.06.13 09: 16: 35.153 342152 (GBPUSD, H1) Макс = 2362
2020.06.13 09: 16: 35.153 342152 (GBPUSD, H1) Avg = 667
2020.06.13 09: 16: 35.153 342152 (USDCAD, H1) Количество = 240
2020.06.13 09: 16: 35.153 342152 (USDCAD, H1) Min = 151
2020.06.13 09: 16: 35.153 342152 (USDCAD, H1) Макс = 2386
2020.06.13 09: 16: 35.153 342152 (EURAUD, H1) Min = 35
2020.06.13 09: 16: 35.153 342152 (USDCAD, H1) Avg = 671
2020.06.13 09: 16: 35.153 342152 (EURAUD, H1) Макс = 2233
2020.06.13 09: 16: 35.153 342152 (EURAUD, H1) Avg = 478
2020.06.13 09: 16: 35.153 342152 (EURJPY, H1) Количество = 240
2020.06.13 09: 16: 35.153 342152 (EURJPY, H1) Мин = 10
2020.06.13 09: 16: 35.153 342152 (EURCAD, H1) Min = 123
2020.06.13 09: 16: 35.153 342152 (EURCAD, H1) Макс = 2384
2020.06.13 09: 16: 35.153 342152 (EURCAD, H1) Avg = 658
2020.06.13 09: 16: 35.153 342152 (USDCHF, H1) Min = 32
2020.06.13 09: 16: 35.153 342152 (USDCHF, H1) Макс = 2369
2020.06.13 09: 16: 35.153 342152 (USDCHF, H1) Avg = 614
2020.06.13 09: 16: 35.153 342152 (EURJPY, H1) Макс = 2344
2020.06.13 09: 16: 35.153 342152 (EURJPY, H1) Avg = 658
И вот, когда наступят вершины:
2020.06.13 09: 17: 35.151 342152 (USDJPY, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (USDJPY, H1) Min = 38
2020.06.13 09: 17: 35.151 342152 (USDJPY, H1) Макс = 17421
2020.06.13 09: 17: 35.151 342152 (USDJPY, H1) Avg = 533
2020.06.13 09: 17: 35.151 342152 (EURAUD, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (EURAUD, H1) Min = 35
2020.06.13 09: 17: 35.151 342152 (EURAUD, H1) Макс = 17406
2020.06.13 09: 17: 35.151 342152 (EURAUD, H1) Avg = 518
2020.06.13 09: 17: 35.151 342152 (EURGBP, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (EURGBP, H1) Min = 36
2020.06.13 09: 17: 35.151 342152 (EURGBP, H1) Макс = 17425
2020.06.13 09: 17: 35.151 342152 (EURGBP, H1) Avg = 515
2020.06.13 09: 17: 35.151 342152 (EURUSD, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (EURUSD, H1) Мин = 18
2020.06.13 09: 17: 35.151 342152 (EURUSD, H1) Макс = 17366
2020.06.13 09: 17: 35.151 342152 (EURCHF, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (EURUSD, H1) Avg = 618
2020.06.13 09: 17: 35.151 342152 (AUDCHF, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (USDCHF, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (AUDCHF, H1) Min = 126
2020.06.13 09: 17: 35.151 342152 (CADCHF, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (AUDCHF, H1) Макс = 10477
2020.06.13 09: 17: 35.151 342152 (EURCAD, H1) Количество = 480
2020.06.13 09: 17: 35.151 342152 (GBPUSD, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (EURCAD, H1) Min = 123
2020.06.13 09: 17: 35.152 342152 (GBPUSD, H1) Min = 112
2020.06.13 09: 17: 35.152 342152 (EURCAD, H1) Макс = 10485
2020.06.13 09: 17: 35.152 342152 (EURCAD, H1) Avg = 663
2020.06.13 09: 17: 35.152 342152 (GBPUSD, H1) Макс = 10435
2020.06.13 09: 17: 35.152 342152 (GBPUSD, H1) Avg = 661
2020.06.13 09: 17: 35.152 342152 (EURCHF, H1) Min = 71
2020.06.13 09: 17: 35.152 342152 (EURJPY, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (USDCAD, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (USDCAD, H1) Min = 54
2020.06.13 09: 17: 35.152 342152 (EURJPY, H1) Мин = 10
2020.06.13 09: 17: 35.152 342152 (EURJPY, H1) Макс = 10487
2020.06.13 09: 17: 35.152 342152 (EURJPY, H1) Avg = 664
2020.06.13 09: 17: 35.152 342152 (EURNZD, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (EURNZD, H1) Min = 54
2020.06.13 09: 17: 35.152 342152 (EURNZD, H1) Макс = 17426
2020.06.13 09: 17: 35.152 342152 (EURNZD, H1) Avg = 620
2020.06.13 09: 17: 35.152 342152 (USDCHF, H1) Min = 32
2020.06.13 09: 17: 35.152 342152 (USDCHF, H1) Макс = 17427
2020.06.13 09: 17: 35.152 342152 (USDCHF, H1) Avg = 649
2020.06.13 09: 17: 35.152 342152 (GBPCHF, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (GBPCHF, H1) Min = 32
2020.06.13 09: 17: 35.152 342152 (GBPCHF, H1) Макс = 17433
2020.06.13 09: 17: 35.152 342152 (GBPCHF, H1) Avg = 647
2020.06.13 09: 17: 35.152 342152 (AUDJPY, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (AUDJPY, H1) Мин. = 47
2020.06.13 09: 17: 35.152 342152 (AUDJPY, H1) Макс = 17415
2020.06.13 09: 17: 35.152 342152 (AUDJPY, H1) Avg = 640
2020.06.13 09: 17: 35.152 342152 (CADCHF, H1) Min = 48
2020.06.13 09: 17: 35.152 342152 (CADCHF, H1) Макс = 17435
2020.06.13 09: 17: 35.152 342152 (CADCHF, H1) Avg = 637
2020.06.13 09: 17: 35.152 342152 (AUDCHF, H1) Avg = 662
2020.06.13 09: 17: 35.152 342152 (AUDUSD, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (AUDUSD, H1) Мин = 43
2020.06.13 09: 17: 35.152 342152 (AUDUSD, H1) Макс = 17416
2020.06.13 09: 17: 35.152 342152 (AUDUSD, H1) Avg = 620
2020.06.13 09: 17: 35.152 342152 (GBPJPY, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (GBPJPY, H1) Мин = 13
2020.06.13 09: 17: 35.152 342152 (GBPJPY, H1) Макс = 10468
2020.06.13 09: 17: 35.152 342152 (GBPJPY, H1) Avg = 660
2020.06.13 09: 17: 35.152 342152 (CHFJPY, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (CHFJPY, H1) Min = 11
2020.06.13 09: 17: 35.152 342152 (CHFJPY, H1) Макс = 10474
2020.06.13 09: 17: 35.152 342152 (AUDNZD, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (AUDNZD, H1) Min = 61
2020.06.13 09: 17: 35.152 342152 (AUDNZD, H1) Макс = 10491
2020.06.13 09: 17: 35.152 342152 (AUDNZD, H1) Avg = 663
2020.06.13 09: 17: 35.152 342152 (EURCHF, H1) Макс = 17414
2020.06.13 09: 17: 35.152 342152 (EURCHF, H1) Avg = 646
2020.06.13 09: 17: 35.152 342152 (AUDCAD, H1) Количество = 480
2020.06.13 09: 17: 35.152 342152 (AUDCAD, H1) Min = 100
2020.06.13 09: 17: 35.152 342152 (AUDCAD, H1) Макс = 17421
2020.06.13 09: 17: 35.152 342152 (AUDCAD, H1) Avg = 638
2020.06.13 09: 17: 35.152 342152 (USDCAD, H1) Макс = 10488
2020.06.13 09: 17: 35.152 342152 (USDCAD, H1) Avg = 666
2020.06.13 09: 17: 35.152 342152 (CHFJPY, H1) Avg = 656
Так что все произошло одновременно. Но это все еще может быть проблемой MT5. Я проверю с другими одновременными терминалами.
Если это будет совпадать в разных терминалах, значит проблема лежит в плоскости ОС.
Проблема не в плоскости ОС, а в МТ.
Проверил на МТ5 (build 2009) - все летает, выполнения меньше 5 мс
При этом в МТ5 (build 2485) - все тормозит, время выполнения часто превышает 200 мс (особенно когда открыто 50+ чартов)
Использовался код из описания проблемы: https://www.mql5.com/en/forum/342152
Сравнил реализации функции ChartGetInteger для двух версий МТ5 2009 и МТ5 2485, возможно проблема в следующем:
1. В 2485 для чтения "атомарных" полей объекта чарта используются достаточно медленные операции:
mfence; lock mov eax,[rax+2C];
При этом в 2009 билде это делается с помощью: lock xadd [rcx+2C],eax
2. Так же похоже, что значительно изменилась логика и возможное время пребывания в ntdll_RtlEnterCriticalSection.
Раньше в 2009 в критической секции проверялась лишь пара полученных значений, без каких-либо атомарных операций.
А в 2485 может дополнительно выполняться перебор по linked-list объектам чарта.
Предположительно, проблема могла возникнуть, когда фиксили краш при работе с функциями чарта в рамках перехода на новый компилятор (месяца 2-3 назад).
Assembler-код для вызова ChartGetInteger в МТ5 (build 2485) находится во вложении.