Новая версия платформы MetaTrader 5 build 1860: Функции для работы с барами в MQL5 и улучшения в тестере стратегий - страница 9
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
а по существу можете что-то добавить?
по существу - все хендлы запускаются в онините, дальше в онтике (или онтаймере) проверяем расчет всех периодов (индикаторов).
И если всё запустилось, только тогда идем дальше (рисуем дашбоард).
У меня есть такой мт5 дашбоард в продуктах.
пс. IndicatorRelease делать только в деините (или когда индикатор больше не нужен).
Ренат, а скиньте мне пожалуйста в личку, что настроить - я им передам.
Ответ был точный.
К тому же, у брокеров есть свой сервисдеск.
по существу - все хендлы запускаются в онините, дальше в онтике (или онтаймере) проверяем расчет всех периодов (индикаторов).
И если всё запустилось, только тогда идем дальше (рисуем дашбоард).
У меня есть такой мт5 дашбоард в продуктах.
пс. IndicatorRelease делать только в деините (или когда индикатор больше не нужен).
Ваш дашборд сделан в потоке индикатора, насколько я вижу, а значит данные прилетают не по запросу , а по готовности, соответственно и реал-таймовость сомнительная.
В моём понимании дашборд-это обработка всех символов хотя-бы форекс группы (~60 штук). Попробуйте добавить 60 символов в свой индикатор и посмотрите как будут обновлятся данные.
А насчёт хендлов в онинете я уже писал,вы невнимательны. У меня памяти даже близко нехватает. А нужно создать ~ 60*9=540 хендлов (при 20 терминал валится с ошибкой на нехватку памяти) и при этом ещё и отслеживать сигнальные патерны и чарт-ивенты.
А теперь насчёт IndicatorRelease... Явное указание его в функции где создаётся хендл позволяет быстее освобождать память, по крайней мере мне так показалось, бросил сравнительные попытки после нескольких зависаний терминала и пока что весь проект отложил до лучших времён.
З.Ы. Пожалуйста отпишитесь об эксперементах с 50-60 символами.
Ваш дашборд сделан в потоке индикатора, насколько я вижу, а значит данные прилетают не по запросу , а по готовности, соответственно и реал-таймовость сомнительная.
В моём понимании дашборд-это обработка всех символов хотя-бы форекс группы (~60 штук). Попробуйте добавить 60 символов в свой индикатор и посмотрите как будут обновлятся данные.
А насчёт хендлов в онинете я уже писал,вы невнимательны. У меня памяти даже близко нехватает. А нужно создать ~ 60*9=540 хендлов (при 20 терминал валится с ошибкой на нехватку памяти) и при этом ещё и отслеживать сигнальные патерны и чарт-ивенты.
А теперь насчёт IndicatorRelease... Явное указание его в функции где создаётся хендл позволяет быстее освобождать память, по крайней мере мне так показалось, бросил сравнительные попытки после нескольких зависаний терминала и пока что весь проект отложил до лучших времён.
З.Ы. Пожалуйста отпишитесь об эксперементах с 50-60 символами.
Нет проблем)
60 символов
загрузка ЦП 16-5%
при добавлении периода MN1 индикатор продолжает работать, но начинается загрузка всех минуток для MN1, загрузка процессора 80-60%
пс. хотя позже, занятая память освободилась с 1 ГБ до 400 МБ.
ппс. да, обновление всех ячеек раз в полсекунды. Таймер 500 мс.
Нет проблем)
Хмм.Ок, только странно что такая разница между индикатором и экспертом. Если не трудно запустите мой эксперт,который я выложил страничку назад,посмотреть какое будет время исполнения.
P.S. Спасибо
Хмм.Ок, только странно что такая разница между индикатором и экспертом.
мой индикатор работает по таймеру, так что нет отличий от эксперта.
Если не трудно запустите мой эксперт,который я выложил страничку назад,посмотреть какое будет время исполнения.
У вас неправильная логика программы - не вижу смысла проверять
мой индикатор работает по таймеру, так что нет отличий от эксперта.
У вас неправильная логика программы - не вижу смысла проверять
Где вы там увидели неправильную логику? Вы думаете загружать в память все ресурсы,хендлы и т.д. это правильная логика? Вы то свой чудо-индикатор на 32-битной машине пробовали? Я практически уверен что он успешно повесит терминал и весь ПК.
На 32-йке терминал я так понял получает доступ к половине памяти, а на 32-йке это максимум 2047 мб.,почему-то файлы подкачки неучитываются.
Вот тест на 32-йке
Windows 7 Service Pack 1 (build 7601), IE 11, AMD Athlon 7750 Dual-Core Processor, Memory: 1951 / 3583 Mb, Disk: 14 / 365 Gb
MEMORY_TOTAL:2047 MEMORY_AVAILABLE:1664 MEMORY_USED:383
MEMORY_TOTAL:2047 MEMORY_AVAILABLE:68 MEMORY_USED:1981
программа прекратила создавать хедлы на 15-ом символе,успев создать 15*9=135 хендлов и успешно повесила терминал и ПК минут на 10.
а вот второй тест с созданием хендлов в онинит на 64-битной машине
Terminal Windows 10 (build 16299) x64, IE 11, UAC, Intel Core i7-7500U @ 2.70GHz, Memory: 5475 / 8089 Mb, Disk: 16 / 116 Gb, GMT+2
47 pairs Load finished: MEMORY_TOTAL:16178 MEMORY_AVAILABLE:13410 MEMORY_USED:2768
потратив около 2-х минут на создание хендлов и первый проход по ним панелька запустилась и успешно работает на 47 парах
Вывод:
использовать в 32-ой системе способ предварительного создания хендлов(в mql5) для дашбордов нельзя,по крайней мере жёстко ограничен их допустимым кол-вом, а создавать на лету нет смысла, так как первый доступ к данным очень долгий.
Вывод:
вывод тот же)
(с) Вы не любите кошек? Да вы просто не умеете их готовить!
пс. мои запуски, все были на 32-ух битке ХР SP3 с 3 ГБ ОЗУ (билд 1736)ппс. на 7-ке, билд МТ5 1861, мой чудо-индикатор, также работает без проблем, памяти жрёт чуть меньше.
вывод тот же)
(с) Вы не любите кошек? Да вы просто не умеете их готовить!
пс. мои запуски, все были на 32-ух битке ХР SP3 с 3 ГБ ОЗУ (билд 1736)ппс. на 7-ке, билд МТ5 1861, мой чудо-индикатор, также работает без проблем, памяти жрёт чуть меньше.
какой-то лютый звиздец...у меня уже нервы сдают. Сегодня опять запустил,индикатор без проблем стартанул и загрузил все хендлы
61 pairs Load finished: MEMORY_TOTAL:2047 MEMORY_AVAILABLE:164 MEMORY_USED:1881
но когда начал копировать данные,снова получаю привет
Какое-то старнное поведение, вчера явно оперативки нехватало даже на загрузку 15 символов, а сегодня все хендлы без проблем загрузились, но опять чегото нехватает.
Так чего спрашивается? на диске более 40 гб свободной памяти.Так какой памяти нехватает и почему такое поведение? Может кто из начальства прокоментирует?