Выбор видеокарты для MetaTrader 5 - страница 3

 
Prival:

это индикатор. положите его в папку индикаторов. Почему вы решили что это скрип я не понимаю. Там есть вот такая строка.

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


К сожалению, этот индикатор является демонстрацией самострела в голову из-за чрезмерной активности.

Я исправил 2 концептуальные ошибки:

  1. Отсутствие проверок на незагруженность нужных таймфреймов

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

    В скриптах и экспертах функции CopyXXX работают в синхронном режиме и явным образом дожидаются доставки данных.

  2. Самовозбуждение индикатора из-за подписки на события OnChartEvent - его так применять нельзя!

    Обратные события по добавлению/изменению объектов (8000 объектов) фактически забили очередь сообщений индикатора, что затормозило его работу.

Исправленный код приложен. Теперь индикатор работает за 1 секунду и легко ставит 8000 объектов.

2010.06.12 19:47:29     Setka_fix (GBPUSD,M5)   Time =  1.1  sec for  100000  bars


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

Файлы:
setka_fix.mq5  13 kb
 
Renat:

К сожалению, этот индикатор является демонстрацией самострела в голову из-за чрезмерной активности.

Я исправил 2 концептуальные ошибки

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

2010.06.14 23:59:40 Setka (EURUSD,M1) Time = 66.3 sec for 4005431 bars line_counter= 72549

как его убыстрить не представляю. Единственное это ограничение глубины расчетов (истории), что не хотелось бы делать. Расчеты же элементарные, ничего сложного. Отрисовал 1 раз за долю секунды при старте и забыл, но не полуается.

Я понимаю что для графического теста нужно чуть по другому написать программу. И  нужно подобное создать для других торговых платформ, что бы было с чем сравнивать. (например нарисовать заданное количество графических объектов, типа как в используемом выше тесте).

Только вот кому это нужно ? Ели бы после этих тестов терминал заработал быстрее…но это не в моих силах и от меня и от тестов совершенно не зависит.

З.Ы. если кто нибудь найдет снова ошибки. буду благодарен.  

Файлы:
setka.mq5  13 kb
 

Prival, в любом случае _все_ линии не отрисовываются. Существуют эффективные алгоритмы отсечения/удаления невидимых линий. Я уверен, что при отрисовке что-то подобное прямо или косвенно используется.

 
Тормозит именно графика, потому что драйвер не использует аппаратное ускорение, нужно искать карту с нормальным драйвером, который использует полностью аппаратное ускорение рисования линий через GDI. Единственный тест с помощью которого можно определить производительность GDI это Tom2D, ничего лучше пока найти не удалось. Остается надеяться, что кто то найдет нормальную карту 2D и выложит здесь результаты тестирования. Или придется рисовать через OpenGL.
 

Есть возможность использовать ресурсы видеокарты для тестирования в МТ5?
 
Adel.S:

Есть возможность использовать ресурсы видеокарты для тестирования в МТ5?
Такая возможность ожидается, был анонс.
 

Здравствуйте, у меня проблема с видеокартой (она не связана с МТ5, но надеюсь на помощь) в 7-ке 64-бит при оперативной память больше 3 ГБ видеокарта "говорит" Это устройство было остановлено, поскольку оно сообщило о возникновении неполадок. (Код 43), а звуковая карта вообще не определяется и в диспетчере устройств ее нету. Драйвера обновлял с сайта производителя, биос обновил, ОС переустанавливал - не помогло. Видеокарта NVIDIA GeForce 8500 GT.
 
kirill190982:

Здравствуйте, у меня проблема с видеокартой (она не связана с МТ5, но надеюсь на помощь) в 7-ке 64-бит при оперативной память больше 3 ГБ видеокарта "говорит" Это устройство было остановлено, поскольку оно сообщило о возникновении неполадок. (Код 43), а звуковая карта вообще не определяется и в диспетчере устройств ее нету. Драйвера обновлял с сайта производителя, биос обновил, ОС переустанавливал - не помогло. Видеокарта NVIDIA GeForce 8500 GT.
У меня такая же видяха стоит. Никаких проблем не было. Никаких драйверов не ставил, всё обновилось автоматически после установки 7 64-бит. Так что у Вас проблема, скорее всего, в железе.
 

Valmars:
У меня такая же видяха стоит. Никаких проблем не было. Никаких драйверов не ставил, всё обновилось автоматически после установки 7 64-бит. Так что у Вас проблема, скорее всего, в железе.

 


На такой случай, нужно ещё одну ось иметь, например Windows XP. Если и там такой же глюк, то тогда либо конкретное железо, либо какие-то настройки биоса кривые. Иногда может криво с прогибом стоять материнка  в корпусе! Сам биос может начать криво работать, можно отрубить полностью провода питания от компа и вытащить на пару минут батарейку.

 

Спасибо буду пробовать
GODZILLA:

На такой случай, нужно ещё одну ось иметь, например Windows XP. Если и там такой же глюк, то тогда либо конкретное железо, либо какие-то настройки биоса кривые. Иногда может криво с прогибом стоять материнка  в корпусе! Сам биос может начать криво работать, можно отрубить полностью провода питания от компа и вытащить на пару минут батарейку.