Новая версия платформы MetaTrader 5 build 2715: Общие улучшения - страница 5

 
Konstantin Seredkin:

Кто подкованный просветите

Есть рабочий комп на 12 ядер, к домашней сети подключен еще один комп на 12 ядер.

Но на том который запущена оптимизация использует в агентах 24 потока, а тот что с локальной машины подгружает только 12

Это так задумано или же он все же использует все 24 потока с локальной машины ?




Да, метаквотам лень решить простую задачу, чтобы для локальных агентов разрешить все потоки, а для облака на продажу - только честные ядра. Поэтому, они просто запретили использовать гипертрединг для всех.

 
Konstantin Seredkin :

Кто подкованный просветите

Есть рабочий комп на 12 ядер, к домашней сети подключен еще один комп на 12 ядер.

Но на том который запущена оптимизация использует в агентах 24 потока, а тот что с локальной машины подгружает только 12

Это так задумано или же он все же использует все 24 потока с локальной машины ?


Только представьте, что на вашем компьютере запущено 24 потока тестера стратегий, каждый из которых пытается загрузить полную историю в ОЗУ, что легко может стать узким местом, если вы проводите тестирование на реальных тиках в течение более длительного времени. Затем ваш компьютер перестает работать, поскольку он переключает данные между ОЗУ и жестким диском.

Вы на своем компьютере можете управлять им самостоятельно, но тот, кто предоставляет свой компьютер в облаке, внезапно сталкивается с неработающим компьютером, и клиент, который платит за оптимизацию, платит не за оптимизацию, а за обмен данных между ОЗУ и жестким диском. диск.

Но это только мое предположение, поскольку я не знаю подробностей.

Just imagine on your pc are running 24 threads of the Strategy Tester each is trying to load the complete history in the RAM, which can easily become the bottleneck if you are testing on real ticks for a longer time. Then your pc stops working as it swaps the data between RAM and hard disk.

You on your pc can control it yourself, but someone who provides his pc in the cloud suddenly is faced with a non-working pc and the client who pays for the optimization is paying not for the optimization but for swapping the data between RAM and hard disk.

But this is only my guess as I don't know the details.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Carl Schreiber:

Только представьте, что на вашем компьютере запущено 24 потока тестера стратегий, каждый из которых пытается загрузить полную историю в ОЗУ, что легко может стать узким местом, если вы проводите тестирование на реальных тиках в течение более длительного времени. Затем ваш компьютер перестает работать, поскольку он переключает данные между ОЗУ и жестким диском.

Вы на своем компьютере можете управлять им самостоятельно, но тот, кто предоставляет свой компьютер в облаке, внезапно сталкивается с неработающим компьютером, и клиент, который платит за оптимизацию, платит не за оптимизацию, а за обмен данных между ОЗУ и жестким диском. диск.

Но это только мое предположение, поскольку я не знаю подробностей.

Just imagine on your pc are running 24 threads of the Strategy Tester each is trying to load the complete history in the RAM, which can easily become the bottleneck if you are testing on real ticks for a longer time. Then your pc stops working as it swaps the data between RAM and hard disk.

You on your pc can control it yourself, but someone who provides his pc in the cloud suddenly is faced with a non-working pc and the client who pays for the optimization is paying not for the optimization but for swapping the data between RAM and hard disk.

But this is only my guess as I don't know the details.

Спорно это все

Вот идет оптимизация эксперта на каждом тике + это реальные биржевые тики фьючерса Si + еще подгружается история стакана за 2 недели это примерно 10 гигабайт данны...

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

По памяти терминал съедает 6 гигов на 24 потока оптимизации + работа системы и т.д загрузка по памяти 55%

Свободно еще куча памяти, на второй машине, там серверное все стоит, память 64гб ECC REG с коррекцией ошибок, она сама их исправляет если что появляется.


К примеру мое железо как ни нагружай оно не зависнет, пока такого не наблюдал. Но вот если человек будет продавать к примеру свои 12 ядер с 8-ю гигами оперативки, то тут да, я с вами соглашусь, что все будет печально, озу будет не хватать, при грамотном подходе файл подкачки расширять нужно будет...а лучше все продумать

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

 
Carl Schreiber:

Только представьте, что на вашем компьютере запущено 24 потока тестера стратегий, каждый из которых пытается загрузить полную историю в ОЗУ, что легко может стать узким местом, если вы проводите тестирование на реальных тиках в течение более длительного времени. Затем ваш компьютер перестает работать, поскольку он переключает данные между ОЗУ и жестким диском.

Вы на своем компьютере можете управлять им самостоятельно, но тот, кто предоставляет свой компьютер в облаке, внезапно сталкивается с неработающим компьютером, и клиент, который платит за оптимизацию, платит не за оптимизацию, а за обмен данных между ОЗУ и жестким диском. диск.

Но это только мое предположение, поскольку я не знаю подробностей.

Just imagine on your pc are running 24 threads of the Strategy Tester each is trying to load the complete history in the RAM, which can easily become the bottleneck if you are testing on real ticks for a longer time. Then your pc stops working as it swaps the data between RAM and hard disk.

You on your pc can control it yourself, but someone who provides his pc in the cloud suddenly is faced with a non-working pc and the client who pays for the optimization is paying not for the optimization but for swapping the data between RAM and hard disk.

But this is only my guess as I don't know the details.

Абсолютно верно.

В корне проблемы лежит дисбалланс между количеством ядер и памятью. А точнее - абсолютный дефицит памяти по отношению к количеству ядер.

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


Мы работаем над новым многопотоковым тестером стратегий, который будет кратно экономнее текущего по ресурсам.

 

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

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

 
Renat Fatkhullin:

Абсолютно верно.

В корне проблемы лежит дисбалланс между количеством ядер и памятью. А точнее - абсолютный дефицит памяти по отношению к количеству ядер.

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


Мы работаем над новым многопотоковым тестером стратегий, который будет кратно экономнее текущего по ресурсам.

Вот это отличные новости Ренат.

 
Renat Fatkhullin:

Мы работаем над новым многопотоковым тестером стратегий, который будет кратно экономнее текущего по ресурсам.

Ренат, в новом тестере будет алгоритм биржевого исполнения ?

 
Renat Fatkhullin:

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

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

Может быть, для решения принимать во внимание размер памяти на компьютере? Например, если есть 1 Гб (?) на каждый агент, разрешать все.

 

Было бы действительно полезно в MetaEditor, если бы он мог переводить отмеченный текст с помощью Google NotePad++, имея приложение, которое, к сожалению, больше не работает: Сначала вы определяете язык перевода, затем помечаете текст (ограниченный максимальной длиной строки и временем), нажимаете определенную комбинацию клавиш, ждете одну секунду, и помеченный текст заменяется переводом.
It would really be a useful feature of the MetaEditor if it could translate marked text with Google NotePad++ had an app that unfortunately doesn't work anymore: You first define the target language, then you mark a text (limited by a maximum of line length and per time), press a defined key combination, wait one second and the marked text was replaced by the translation.

Take for example from / Возьмем для примера: https://www.mql5.com/ru/code/download/30455/csv_fast.mqh

...
   void              Filter_columns_clear();//Делает все столбцы активными и сбрасывает их порядок
   void              Filter_rows_add(//Добавить фильтр отбора строк таблицы для указанного столбца. Фильтр необходимо ещё будет применить (..)
      int col,//Индекс столбца
      eOperator op,//Оператор сравнения, который будет отфильтровывать значения
      long param,//Параметр фильтра
      bool filtered=true//Среди активных столбцов, иначе всех
   );
   void              Filter_rows_add(//Добавить фильтр отбора строк таблицы для указанного столбца. Фильтр необходимо ещё будет применить Filter_rows_apply(..)
      int col,//Индекс столбца
      eOperator op,//Оператор сравнения, который будет отфильтровывать значения
      double param,//Параметр фильтра
      bool filtered=true//Среди активных столбцов, иначе всех
   );
   void              Filter_rows_add(//Добавить фильтр отбора строк таблицы для указанного столбца. Фильтр необходимо ещё будет применить Filter_rows_apply(..)
      int col,//Индекс столбца
      eOperator op,//Оператор сравнения, который будет отфильтровывать значения
      string param,//Параметр фильтра
      bool filtered=true//Среди активных столбцов, иначе всех
...

Anyone who does not speak Russian is like a dying duck in a thunderstorm :(
Любой, кто не говорит по-русски, похож на умирающую утку в грозу :(

 
Carl Schreiber:
   

Anyone who does not speak Russian is like a dying duck in a thunderstorm :(
Любой, кто не говорит по-русски, похож на умирающую утку в грозу :(

Красивая метафора :)