![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
это индикатор. положите его в папку индикаторов. Почему вы решили что это скрип я не понимаю. Там есть вот такая строка.
В разговорной речи скриптом у нас называется любая MQL5 программа. Нетрудно заметить, что рядом со словом "скрипт", я всегда в соседнем предложении писал слово "индикатор".
К сожалению, этот индикатор является демонстрацией самострела в голову из-за чрезмерной активности.
Я исправил 2 концептуальные ошибки:
В индикаторах нельзя ждать окончания загрузки нужных таймфреймов, так как они могут подкачиваться с сервера и это может занимать много времени. Поэтому работа с другими таймфреймами через CopyXXX функции должна вестись в асинхронном режиме путем проверок наличия данных.
В скриптах и экспертах функции CopyXXX работают в синхронном режиме и явным образом дожидаются доставки данных.
Обратные события по добавлению/изменению объектов (8000 объектов) фактически забили очередь сообщений индикатора, что затормозило его работу.
Исправленный код приложен. Теперь индикатор работает за 1 секунду и легко ставит 8000 объектов.
На стоячем рынке нужно дать команду Refresh на чарте, чтобы эксперт пересчитался после асинхронного поднятия данных.
К сожалению, этот индикатор является демонстрацией самострела в голову из-за чрезмерной активности.
Я исправил 2 концептуальные ошибки
с вашими исправлениями он стал работать быстрее, но все равно мне кажеться это именно графика тормозит.
2010.06.14 23:59:40 Setka (EURUSD,M1) Time = 66.3 sec for 4005431 bars line_counter= 72549
как его убыстрить не представляю. Единственное это ограничение глубины расчетов (истории), что не хотелось бы делать. Расчеты же элементарные, ничего сложного. Отрисовал 1 раз за долю секунды при старте и забыл, но не полуается.
Я понимаю что для графического теста нужно чуть по другому написать программу. И нужно подобное создать для других торговых платформ, что бы было с чем сравнивать. (например нарисовать заданное количество графических объектов, типа как в используемом выше тесте).
Только вот кому это нужно ? Ели бы после этих тестов терминал заработал быстрее…но это не в моих силах и от меня и от тестов совершенно не зависит.
З.Ы. если кто нибудь найдет снова ошибки. буду благодарен.
Prival, в любом случае _все_ линии не отрисовываются. Существуют эффективные алгоритмы отсечения/удаления невидимых линий. Я уверен, что при отрисовке что-то подобное прямо или косвенно используется.
Есть возможность использовать ресурсы видеокарты для тестирования в МТ5?
Есть возможность использовать ресурсы видеокарты для тестирования в МТ5?
Здравствуйте, у меня проблема с видеокартой (она не связана с МТ5, но надеюсь на помощь) в 7-ке 64-бит при оперативной память больше 3 ГБ видеокарта "говорит" Это устройство было остановлено, поскольку оно сообщило о возникновении неполадок. (Код 43), а звуковая карта вообще не определяется и в диспетчере устройств ее нету. Драйвера обновлял с сайта производителя, биос обновил, ОС переустанавливал - не помогло. Видеокарта NVIDIA GeForce 8500 GT.
Здравствуйте, у меня проблема с видеокартой (она не связана с МТ5, но надеюсь на помощь) в 7-ке 64-бит при оперативной память больше 3 ГБ видеокарта "говорит" Это устройство было остановлено, поскольку оно сообщило о возникновении неполадок. (Код 43), а звуковая карта вообще не определяется и в диспетчере устройств ее нету. Драйвера обновлял с сайта производителя, биос обновил, ОС переустанавливал - не помогло. Видеокарта NVIDIA GeForce 8500 GT.
Valmars:
У меня такая же видяха стоит. Никаких проблем не было. Никаких драйверов не ставил, всё обновилось автоматически после установки 7 64-бит. Так что у Вас проблема, скорее всего, в железе.
На такой случай, нужно ещё одну ось иметь, например Windows XP. Если и там такой же глюк, то тогда либо конкретное железо, либо какие-то настройки биоса кривые. Иногда может криво с прогибом стоять материнка в корпусе! Сам биос может начать криво работать, можно отрубить полностью провода питания от компа и вытащить на пару минут батарейку.
Спасибо буду пробовать
На такой случай, нужно ещё одну ось иметь, например Windows XP. Если и там такой же глюк, то тогда либо конкретное железо, либо какие-то настройки биоса кривые. Иногда может криво с прогибом стоять материнка в корпусе! Сам биос может начать криво работать, можно отрубить полностью провода питания от компа и вытащить на пару минут батарейку.