1) Если у меня открыто 40 инструментов - код будет брать данные уже скачанные или каждый раз будет запрашивать данные с брокера. Эти команды: SymbolInfoDouble и CopyRates
2) Если у меня открыто 40 инструментов, то я ведь смогу взять информацию по 1000 другим инструментам от брокера ?
3) Как можно быстро взять только текущие цены от 1000 инструментов ? Надо за минуту собрать их все хотя бы. Это реально ? И делать это всегда, каждую минуту. или брокеры заблочат ?
Идея такая
1) Одна MT собирает постоянно историю 1000 инструментов - тут скорость не нужна. нужны только H1 данные. Поэтому с этим проблем нет.
2) Вторая МТ собирает постоянно текущие цены - за минуту надо собрать все 1000. Была бы какая-нибудь команда которая просто берет все последние цены всех инструментов брокера. Без 1000 выполнений SymbolInfoDouble .Потянет ли брокер за секунду 1000 SymbolInfoDouble ?
3) Третья Python или PHP или Rust или всё что угодно, спокойно анализирует графики отдельно с приятным html интерфейсом и раздает команды MT на ордера и прочие . С этим проблем нет.
По уму конечно это всё можно делать через платные API тикеров. но они платные и Real time стоит дорого. Поэтому хочется делать через MT - бесплатно и real time .
Проблема не в скорости анализа, а в скорости скачивания кучи данных .
Думаю, за такое точно заблочат.
Почитайте тут . Там указано ограничение в 5000 инструментов.
- Если символ скрыт в окне "Обзор рынка", данные по нему невозможно использовать в MQL5-программах и тестере стратегий.
- В обзор рынка можно добавить не более 5000 торговых инструментов.
Чарты открывать ненужно - только добавить в обзор рынка и работать с приходящими ценами. Если нужна глубокая история, то её можно предварительно скачать.
- www.metatrader5.com
Делал тесты.
Чтоб массово собирать текущие цены приходится делать так.
1) Добавить инструмент
2) Sleep 100 - без этого ошибка . паралельно грузит чтоли ...
3) Берем цену - SymbolInfoDouble(ticker, SYMBOL_BID)
4) Удаляем инструмент
Добавляет и удаляет инструмент если он не подключен.
Итого 25 секунд на 250 инструментов вышло. 1000 значит минуты 2е.
У разных брокеров разные лимиты на одновременное подключение . 100 обычно ( из тех что я пользую ).
Если инструменты уже подключены ( до 100 ) то мгновенное чтение цен.
Как изврат вариант - запустить 10 метатрейдеров, 10 аккаунтов, 10 IP. И в каждом по 100 добавить ))) будет мгновенно 1000.
Такое скорости стоят за 200 баксов в месяц если через API делать.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
1) Если у меня открыто 40 инструментов - код будет брать данные уже скачанные или каждый раз будет запрашивать данные с брокера. Эти команды: SymbolInfoDouble и CopyRates
2) Если у меня открыто 40 инструментов, то я ведь смогу взять информацию по 1000 другим инструментам от брокера ?
3) Как можно быстро взять только текущие цены от 1000 инструментов ? Надо за минуту собрать их все хотя бы. Это реально ? И делать это всегда, каждую минуту. или брокеры заблочат ?
Идея такая
1) Одна MT собирает постоянно историю 1000 инструментов - тут скорость не нужна. нужны только H1 данные. Поэтому с этим проблем нет.
2) Вторая МТ собирает постоянно текущие цены - за минуту надо собрать все 1000. Была бы какая-нибудь команда которая просто берет все последние цены всех инструментов брокера. Без 1000 выполнений SymbolInfoDouble .Потянет ли брокер за секунду 1000 SymbolInfoDouble ?
3) Третья Python или PHP или Rust или всё что угодно, спокойно анализирует графики отдельно с приятным html интерфейсом и раздает команды MT на ордера и прочие . С этим проблем нет.
По уму конечно это всё можно делать через платные API тикеров. но они платные и Real time стоит дорого. Поэтому хочется делать через MT - бесплатно и real time .
Проблема не в скорости анализа, а в скорости скачивания кучи данных .