Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 61

 
Yedelkin:

 Не понял, в чём именно заключается неудобство. Закачали однократно историю в OnInit() для всех символов - и всё.

 Ну так разве создание индикатора гарантирует само по себе закачку истории на нужную глубину?

"Справочник MQL5Доступ к таймсериям и индикаторам - Организация доступа к данным"  https://www.mql5.com/ru/docs/series/timeseries_access

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

сколько наблюдал за загрузкой индикаторов вроде все четко работает, вызываешь индикатор из эксперта - если не подгружена история по инструменту, то сразу трафик в терминале идет, загрузились данные, можно любой ТФ из индикатора получить и трафик не изменяется

 

не нравится мне самостоятельная подгрузка данных, нужно постоянно контролировать, по логике терминал 5-го поколения сам должен заниматься этим! в МТ4 самостоятельная подгрузка истории из кода индикатора - "еще те грабли" были :)

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - Документация по MQL5
 
IgorM:
Понятно. Неудобство - в получении индикатором свежих данных (по чужим символам), а не исторических, как первоначально показалось. На этот случай только одна мысль: простенький индикатор жрёт память прямо пропорционально количеству своих буферов, так что если памяти не жалко - подгрузку можно и переложить на вспомогательные индикаторы.
 
YedelkinНа этот случай только одна мысль: простенький индикатор жрёт память прямо пропорционально количеству своих буферов, так что если памяти не жалко - подгрузку можно и переложить на вспомогательные индикаторы.

О! вот это уже конструктив, но ведь никто не запрещает ограничить число баров в настройках терминала - меньше памяти будет потреблять, CopyClose() и пр. тоже требуют массивы, а это аналогичная память компа. И кажется можно в самом индикаторе ограничить количество баров для пересчета - тоже памяти меньше

с тестером  такая конструкция будет работать корректно?

 
IgorM: но ведь никто не запрещает ограничить число баров в настройках терминала - меньше памяти будет потреблять

 Да, "предупреждён - вооружён" :)

IgorM: CopyClose() и пр. тоже требуют массивы, а это аналогичная память компа.

 Здесь не соглашусь насчёт аналогичного потребления памяти функцией CopyClose(). В целях получения свежих данных эта функция позволяет заводить маломерные массивы, а индикаторный буфер - он всегда растянут на всю длину, указанную в настройках терминала - т.е. не менее 50 тыс. баров.

IgorM: с тестером  такая конструкция будет работать корректно?
 В сентябре тестер не реагировал на ограничение числа баров в настройках терминала. Т.е. загружал историю по полной. Что касается вспомогательных индикаторов, то в тестере работают нормально.
 
скажите, а почему вычисления идут средствами ЦПУ а не ГПУ? может я чего-то не понимаю, но эффективность CUDA и OpenCL во многих отраслях признана. Даже для медицинских вычислений используются. а какие-то жалкие 2-4-8 агентов просто жалки по сравнению со 128 и более агентов от видеокарты
 
madload:

скажите, а почему вычисления идут средствами ЦПУ а не ГПУ? может я чего-то не понимаю, но эффективность CUDA и OpenCL во многих отраслях признана. Даже для медицинских вычислений используются. а какие-то жалкие 2-4-8 агентов просто жалки по сравнению со 128 и более агентов от видеокарты

Кто Вам запрещает использовать вычислительные ресурсы GPU? 

Cм.:

OpenCL: Мост в параллельные миры

OpenCL: от наивного кодирования - к более осмысленному

 
Reshetov:

Кто Вам запрещает использовать вычислительные ресурсы GPU? 

Cм.:

OpenCL: Мост в параллельные миры

OpenCL: от наивного кодирования - к более осмысленному

я скачал метатестер но там только цпу. нет возможности видеокарты подключить к вычислениям - я вот про что спрашиваю - будет ли софт под гпу?
 
madload:
нет возможности видеокарты подключить к вычислениям

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

 
Reshetov:

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


Сам пургу не гони, в агентах GPU не используется тк MQ пока так и не пришли к мнению как стандартизировать разношёрстную массу видях стоящих на компах клауда.

Проблема 1: на компе несколько ядер CPU и одна видяха, все агенты полезут на видяху просить ресурсы.

Проблема 2: видяхи очень разнятся как по памяти так и по количеству ядер (писать код под свою видяху это одно, но писать универсальный код намного сложнее). Не забывайте что интеллект толпы равен интеллекту самого тупого барана. Отсюда возникает проблема какую планку ставить. Для одного кода и 128 ядер и 512 Мб памяти будет завались, другой код потребует не меньше 2Гб и 2048 ядер. Повторюсь видяхи разнятся намного сильнее чем CPU, отсюда проблемы для применения в клауде. Для CPU вопрос решён через уровень PR с которого допускаются ядра для использования агентами.

madload:

скажите, а почему вычисления идут средствами ЦПУ а не ГПУ? может я чего-то не понимаю, но эффективность CUDA и OpenCL во многих отраслях признана. Даже для медицинских вычислений используются. а какие-то жалкие 2-4-8 агентов просто жалки по сравнению со 128 и более агентов от видеокарты

В клауде не жалкие 2-4-8 агентов, в зависимости от задачи клауд масштабируется, я тестил советник так поднималось 512 агентов, под серьёзные задачи может поднятся и больше.

 
Urain:

Сам пургу не гони, в агентах GPU не используется тк MQ пока так и не пришли к мнению как стандартизировать разношёрстную массу видях стоящих на компах клауда. 

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

См. https://www.mql5.com/ru/forum/6042/page10

Renat:

ilovebtc:

В новом билде тестера уже задействована видеокарта или нет? Если да, то где можно посмотреть результаты ее работы.

Да, конечно. Из MQL5 можно вызывать OpenCL функции и считать свои задачи.

См. https://www.mql5.com/ru/forum/23/page15

MetaTrader 5 Client Terminal build 655

...

25. MetaTester: Добавлена поддержка использования OpenCL-программ в агентах тестирования.

Программы на OpenCL предназначены для выполнения вычислений на видеокартах с поддержкой стандарта OpenCL 1.1 или выше. Современные видеокарты содержат сотни небольших специализированных процессоров, которые могут одновременно выполнять простые математические операции над входящими потоками данных. Язык OpenCL берёт на себя организацию таких параллельных вычислений и позволяет добиться огромного ускорения для некоторого класса задач.

OpenCL: внутренние тесты реализации в MQL5
OpenCL: внутренние тесты реализации в MQL5
  • www.mql5.com
Мы ведем работу над нативной поддержкой OpenCL прямо в MQL5.
Причина обращения: