Получение информации о стакане завязано на событие OnBookEvent, которое может получить только программа на графике - эксперт или индикатор. Об этом сказано и в книге, и в документации.
Сервисы в их текущей концепции невозможно использовать для событий.
Если ничто не подпишется на стакан сперва (вызвав MarketBookAdd), то вряд ли MarketBookGet что-то прочитает. Так что, чисто теоретически, если и пытаться читать стаканы из сервиса, потребуется другая программа для подписки. Кроме того, если MarketBookAdd запрещена для сервисов, то я подозреваю, что и MarketBookGet запрещена. Но я из сервисов не пробовал.
Может быть, и достаточно из сервиса найти любой чарт с требуемым символом и подпихнуть его в MarketBookAdd (и это сработает без ошибки), но если этот чарт закроют, то подозреваю, сервис перестанет получать обновления. Так что идея с отдельно взятым сервисом как обработчиком стакана пока кажется ущербной, если MQ не поменяют API.
Если ничто не подпишется на стакан сперва (вызвав MarketBookAdd), то вряд ли MarketBookGet что-то прочитает. Так что, чисто теоретически, если и пытаться читать стаканы из сервиса, потребуется другая программа для подписки. Кроме того, если MarketBookAdd запрещена для сервисов, то я подозреваю, что и MarketBookGet запрещена. Но я из сервисов не пробовал.
Может быть, и достаточно из сервиса найти любой чарт с требуемым символом и подпихнуть его в MarketBookAdd (и это сработает без ошибки), но если этот чарт закроют, то подозреваю, сервис перестанет получать обновления. Так что идея с отдельно взятым сервисом как обработчиком стакана пока кажется ущербной, если MQ не поменяют API.
Можно с наскока попробовать в сервисе получить стакан, если не получиться открыть из сервиса советник, а в параметрах этого советника прописать символ. Советник открывается, подписывается на стакан символа и закрывается.
Можно с наскока попробовать в сервисе получить стакан, если не получиться открыть из сервиса советник, а в параметрах этого советника прописать символ. Советник открывается, подписывается на стакан символа и закрывается.
Здесь поподробнее, пожалуйста.
Но в любом случае, если я правильно понимаю механизм событий МТ5, нужен выделенный открытый график - в довесок к сервису. А тогда и нет смысла городить сервис.
сервис в терминах Mt - это просто отдельный системный тред, который запустить иначе нельзя. (его нет в профиле). Это такая мега-фича :-)
Как эта общеизвестная информация оправдывает применение сервиса для получения стакана, если без доп.графика все равно нельзя инициировать его трансляцию?
Как эта общеизвестная информация оправдывает применение сервиса для получения стакана, если без доп.графика все равно нельзя инициировать его трансляцию?
и куда он будет транслироваться ?
вот как системщик системщику - куда и как ??
в "сервисе" единственный OnStart - и понеслась..
ps/ "сервис" может генерить стакан. Это в принице зашибись. Я так понимаю разработчики постарались чтобы это было возможным. и ничего не крякнулось.и куда он будет транслироваться ?
вот как системщик системщику - куда и как ??
в "сервисе" единственный OnStart - и понеслась..
Это вопрос не ко мне. Если почитаете ветку повнимательнее, то может быть заметить, что pivomoe предложил в сервисе читать стакан вызовами MarketBookGet (по идее этого достаточно, если стакан-таки в терминале уже получен). Я ему расписал собственное представление об этом, т.е. необходимость инициирования подписки на график и т.д. Куда и что будет ли "транслироваться" - вы можете проверить сами - вызов MarketBookGet оставляет организацию "трансляции" "внешним силам".
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Помогите решить эту проблему - запуск MarketBookAdd из Сервиса.
Задача - получать изменения стакана. Сейчас получаем с помощью обычного скрипта, который вешается на график. Соответственно, он зависит от графика. Хочется не зависеть.