Всем привет, подскажите пожалуйста как в массив записать данные со стакана цен (marketbook)?
https://www.mql5.com/ru/docs/constants/structures/mqlbookinfo
https://www.mql5.com/ru/docs/marketinformation/marketbookgetВсем привет, подскажите пожалуйста как в массив записать данные со стакана цен (marketbook)?
Вам не нужно копировать данные стакана цен в массив, т.к. данные по стакану цен, Вы уже получаете в виде массива структур MqlBookInfo.
Вам не нужно копировать данные стакана цен в массив, т.к. данные по стакану цен, Вы уже получаете в виде массива структур MqlBookInfo.
MqlBookInfo priceArray[]; bool getBook=MarketBookGet(NULL,priceArray); if(getBook) { int size=ArraySize(priceArray); Print("MarketBookInfo по ",Symbol()); for(int i=0;i<size;i++) { Print(i+":",priceArray[i].price +" Volume= "+priceArray[i].volume, " type = ",priceArray[i].type); } } else { Print("Не удалось получить содержимое стакана по символу ",Symbol()); }
Использую код примера и у меня постоянно скидывает в else, что не удалось получить содержимое
Для начала убедитесь, что у Вас в MetaTrader 5 действительно имеется стакан по Вашему инструменту. Если торгуете forex, то стакан как правило отсутствует.
Я на демо-счете пытаюсь написать скрипт. Чтобы убедиться в его работоспособности
MqlBookInfo priceArray[]; bool getBook=MarketBookGet(Symbol(),priceArray);
getBook постоянно False, подскажите почему?
Как получить данный массив, чтобы потом его вывести в CSV?
Я на демо-счете пытаюсь написать скрипт. Чтобы убедиться в его работоспособности
Для тех кто в танке, повторяю еще раз:
Для начала убедитесь, что у Вас в MetaTrader 5 действительно имеется стакан по Вашему инструменту. Если торгуете forex, то стакан как правило отсутствует.
Для тех кто в танке, повторяю еще раз:
Это и есть стакан цен?
Или как его проверить имеется он или нет, если я ошибаюсь
По скрншоту видно, что ваш брокер не предоставляет стакан цен. Поэтому функция MarketBookGet всегда будет возвращать false. То, что доступно у Вас в качестве "стакана цен" - в действительности является упрощенной формой для выставления лимитных заявок, не более того.
Если хотите протестировать стакан цен - подключайтесь к демо-счету от MetaQuotes. Сервер: MetaQuotes-Demo. Там стакан цен доступен.
По скрншоту видно, что ваш брокер не предоставляет стакан цен. Поэтому функция MarketBookGet всегда будет возвращать false. То, что доступно у Вас в качестве "стакана цен" - в действительности является упрощенной формой для выставления лимитных заявок, не более того.
Если хотите протестировать стакан цен - подключайтесь к демо-счету от MetaQuotes. Сервер: MetaQuotes-Demo. Там стакан цен доступен.
Спасибо большое. Попробую
Хм, все равно false бьет. В чем может быть проблема?
MqlBookInfo priceArray[]; bool getBook=MarketBookGet(Symbol(),priceArray); Alert(getBook);
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования