Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Естественно, при проверке чтения выяснилось, что читается всё криво :)
Выкладываю более-менее рабочий вариант.
Дык давно появился, я еще с 7 чтсла прошу и тут его организовать (если мона). А в ответ тишина...
Ну раз разработчики не отслеживают изменения в заявке придется тут повториться:
Я что-то в толк не возьму, почему BOOK_TYPE_BUY = 0, а не 1?
PS
Хорошо, что еще опыт позволил быстро сообразить где собака убита... :)
Давно говорю, что в справке нужно и числовые коды опубликовывать, тогда всем проще будет.
Vladimir:
А вот вы уверены в том что BOOK_TYPE_BUY = 1, а не скажем 0?
Не ясно о чем вопрос - https://www.mql5.com/ru/docs/constants/tradingconstants/enum_book_type
Виды заявок в стакане цен
Для биржевых инструментов доступно окно "Очереди заявок", в котором можно посмотреть текущие заявки на покупку и продажу. Для каждой заявки указано желаемое направление торговой операции, требуемый объем и запрашиваемая цена.
Для получения информации о текущем состоянии стакана цен средствами языка MQL5 предназначена функция MarketBookGet(), которая помещает "снимок стакана" в массив структур MqlBookInfo. Каждый элемент этого массива в поле type содержит информацию о направлении заявки – это значение из перечисления ENUM_BOOK_TYPE.
ENUM_BOOK_TYPE
Идентификатор
Описание
BOOK_TYPE_BUY
Заявка на покупку
BOOK_TYPE_SELL
Заявка на продажу
Смотри также
Поясняю в чем вопрос
Вот небольшой пример (два кажется правильных варианта), но это только кажется.
Первый из них работает, а второй глючит..
1. работает, поскольку ArrayMarketBookInfo[i].type и BOOK_TYPE_SELL = 2
2. не работает, поскольку ArrayMarketBookInfo[i].type равно 1, а как я понимаю BOOK_TYPE_BUY = 0
Vladimir:
А вот вы уверены в том что BOOK_TYPE_BUY = 1, а не скажем 0?
Не ясно о чем вопрос - https://www.mql5.com/ru/docs/constants/tradingconstants/enum_book_type
Виды заявок в стакане цен
Для биржевых инструментов доступно окно "Очереди заявок", в котором можно посмотреть текущие заявки на покупку и продажу. Для каждой заявки указано желаемое направление торговой операции, требуемый объем и запрашиваемая цена.
Для получения информации о текущем состоянии стакана цен средствами языка MQL5 предназначена функция MarketBookGet(), которая помещает "снимок стакана" в массив структур MqlBookInfo. Каждый элемент этого массива в поле type содержит информацию о направлении заявки – это значение из перечисления ENUM_BOOK_TYPE.
ENUM_BOOK_TYPE
Идентификатор
Описание
BOOK_TYPE_BUY
Заявка на покупку
BOOK_TYPE_SELL
Заявка на продажу
Смотри также
Давно уже говорю, что в справочнике нужно приводить числовые коды для таких вещей. как это было в справке по MQL4...
Поясняю в чем вопрос
Вот небольшой пример (два кажется правильных варианта), но это только кажется.
Первый из них работает, а второй глючит..
1. работает, поскольку ArrayMarketBookInfo[i].type и BOOK_TYPE_SELL = 2
2. не работает, поскольку ArrayMarketBookInfo[i].type равно 1, а как я понимаю BOOK_TYPE_BUY = 0
Приводите, пожалуйста, код, который можно понять. Вы показали кусок кода, из которого не очевидно, что проблема в языке MQL5, а не в Вашем коде. Мы же не можем догадываться, что Вы имеете в виду.
А что тут догадываться, все просто и очевидно (сам язык тут не причем, все дело в цифровом представлении идентификатора BOOK_TYPE_BUY).
По логике вещей BOOK_TYPE_BUY =1, а BOOK_TYPE_SELL = 2. И MarketBookGet(symbol,ArrayMarketBookInfo) подразумевает имено такой итог.
Но вот на практике BOOK_TYPE_BUY = 0 (ошибочно, по видимому). MarketBookGet в ArrayMarketBookInfo (которое по сути является массивом с типом MqlBookInfo) возвращает 1 (для Buy)и 2 (для Sell).
При этом поскольку BOOK_TYPE_SELL = 2 все работает, а вот с BOOK_TYPE_BUY с проблемка (поскольку возвращается 1, а сам BOOK_TYPE_BUY = 0).
Во втором случае на данный момент в ArrayMarketBookInfo (читай MqlBookInfo) тип никогда не будет равен MqlBookInfo идетификатору BOOK_TYPE_BUY (поскольку он ошибочно принимается за 0), в итоге все будет обработано как короткие позиции.
Вот попробуйте получить нормальный результат вот от этого кода... :)
Естественно, при проверке чтения выяснилось, что читается всё криво :)
Разработчикам.
Можно будет снова подключить стакан, месяца на два-три?
Желательно по всем символам которые торгуются на чемпионате...