- Параллельная работа индикатора и советника
- Как передать переменную в советник?
- Скорость закрытия (последовательное или параллельное с разных ip)
Доброго времени суток. Появился такой вопрос: у меня в одном советнике обрабатывается информация по 12 валютным парам и это занимает достаточно много времени. Если я раскидаю советник на несколько, чтобы каждый проводил сбор информации и вычисления на своей валютной паре - как это будет работать? Все советники будут работать параллельно или поочередно? Сможет ли это ускорить обработку информации если я просто нужные данные с разных советников/индикаторов вынесу в глобальные переменные, а уже главный советник будет их использовать для торговли?
каждый советник технически работает в отдельном потоке и данные по своему символу получает шустрее. Поэтому да, отчасти работать будет быстрее.
Есть подводные камни - обмен через глобальные переменные может стать bottleneck. И если нет опыта с многопоточными приложениями, широкое поле напортачить
Доброго времени суток. Появился такой вопрос: у меня в одном советнике обрабатывается информация по 12 валютным парам и это занимает достаточно много времени. Если я раскидаю советник на несколько, чтобы каждый проводил сбор информации и вычисления на своей валютной паре - как это будет работать? Все советники будут работать параллельно или поочередно? Сможет ли это ускорить обработку информации если я просто нужные данные с разных советников/индикаторов вынесу в глобальные переменные, а уже главный советник будет их использовать для торговли?
Попробуйте расчеты поместить в индикаторы, так сможете относительно просто контролировать окончание вычислений, и при этом сохранится возможность использовать тестер стратегий.
Попробуйте расчеты поместить в индикаторы, так сможете относительно просто контролировать окончание вычислений, и при этом сохранится возможность использовать тестер стратегий.
это не про параллельность.. индикаторы (все используемые советником) исполняются в его потоке. Тут ускорения не будет, разве что вычисления могут упростится (а могут и нет)
перенос вычислений обычно делается наоборот - из индикаторов в советники. То есть был индикатор, стала функция или библиотека чтобы без расчетов всей истории "от Адама" и только когда надо и только на ограниченном промежутке
это не про параллельность.. индикаторы (все используемые советником) исполняются в его потоке. Тут ускорения не будет, разве что вычисления могут упростится (а могут и нет)
перенос вычислений обычно делается наоборот - из индикаторов в советники. То есть был индикатор, стала функция или библиотека чтобы без расчетов всей истории "от Адама" и только когда надо и только на ограниченном промежутке
Где Вы прочли, что индикаторы рассчитываются в одном потоке?
Один поток на один инструмент со всеми индикаторами что на нём.
Для визуализации все потоки синхронизируются, при большом количестве синхронизаций визуализация подвисаетТак я и не говорю, что иначе - тут же речь о разных инструментах - за счёт этого предполагаю разгрузку.
Может я не прав - я просто не вижу, где написано в инструкции иное.
Каждый скрипт, сервис и эксперт работает в собственном отдельном потоке. Все индикаторы, рассчитываемые на одном символе, даже если они запущены на разных графиках, работают в одном потоке. Таким образом, все индикаторы на одном символе делят между собой ресурсы одного потока.
И что в Вашем сообщении нового, чего ещё тут не обсудили? Речь идёт об индикаторах на разных символах - если они задействованы одним советником.
И что в Вашем сообщении нового, чего ещё тут не обсудили? Речь идёт об индикаторах на разных символах - если они задействованы одним советником.
У советника один поток. От того, что он использует данные индикаторов, пусть даже у каждого из них свой собственный поток, работать быстрее не будет, т. к. нет распараллеливания вычислений внутри советника. Советнику все равно нужно будет вызывать расчеты последовательно внутри своего единственного потока.
У советника один поток. От того, что он использует данные индикаторов, пусть даже у каждого из них свой собственный поток, работать быстрее не будет, т. к. нет распараллеливания вычислений внутри советника. Советнику все равно нужно будет вызывать расчеты последовательно внутри своего единственного потока.
Вы противоречите сами себе. В индикаторах может быть всё рассчитано для своего инструмента и тогда советнику остаётся считать из буфера результат, когда он там появится.
В общем надо провести эксперимент :)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования