Обсуждение статьи "Биржевые данные без посредников: подключаем MetaTrader 5 к MOEX через ISS API" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Станислав, спасибо за огромную проделанную работу. Тот редкий случай, когда статейный материал носит хрестоматийный характер... есть вопрос такого плана. В файле moexindex.mqh в определении перечисления MOEX_SECURITYTYPES вижу такое:
Т.е. к примеру именованная константа определена как currency·gold_metal. Наверное корректная запись могла быть такой currency_gold_metal.
Ну и соот-но новый компилятор (build 5200) ругается, что имена некоторых идентификаторов совпадают:
После более внимательного рассмотрения вопроса, я склоняюсь к мысли, что ошибка относится не к символу дот, а к тому, что имена элементов перечислений теперь сводятся воедино между всеми перечислениями.
Ума не приложу, как такое исправить на прикладном уровне. Если влоб добавлять название перечисления к идентификатору переменной, не хватит разрешенной длины переменной в большинстве мест.
Полагаю, что пока проще всего отредактировать дубликаты руками, например, добавить номера.
Да, символ "дот" (· посередине, код Unicode 0x00B7) работает.
Засада в другом. Попробовал изменить перечисления. В частности:
Компилятор отработал хотя бы без ошибок. Но. При составлении URL скрипт moexmarket выдал такой адрес:
где в конце строки есть такое:
security_collection=sec_coll_stock_shares_oneВидимо нужно как-то модифицировать нативную ф-цию EnumToString(), чтобы получить stock_shares_one, а не sec_coll_stock_shares_one.
Да, символ "дот" (· посередине, код Unicode 0x00B7) работает.
Засада в другом. Попробовал изменить перечисления. В частности:
Компилятор отработал хотя бы без ошибок. Но. При составлении URL скрипт moexmarket выдал такой адрес:
где в конце строки есть такое:
Видимо нужно как-то модифицировать нативную ф-цию EnumToString(), чтобы получить stock_shares_one, а не sec_coll_stock_shares_one.
Ну, если достаточно однократного разрешения конфликта, то попробуйте вот так:
Хотя конкретно с этим перечислением мне не понятно, почему элементы с чем-то конфликтуют - в частности stock_shares_one есть только в MOEX_SECURITYCOLLECTIONS (общий перечень коллекций) и в MOEX_SECURITYCOLLECTIONS_STOCK_SHARES (специфическая коллекция для отдельной секции, одна из многих), которое в моих примерах не подключено, т.к. все такие "мелкие" перечисления обложены директивой MOEX_DEMO_INPUTS и отключены по умолчанию - они зарезервированы для другого подхода сборки программ с API-биржи, где связи более жестко прописаны на этапе компиляции (т.е. грубо говоря, когда программа предназначена для конкретной секции).
Здравствуйте, уважаемые знатоки!
Есть необходимость протестировать советника в тестере стратегий MT5. Подскажите, как простому пользователю, не владеющему навыком администрирования и программирования подключить MT5 к MOEX-FORTS (брокер БКС) в текущих реалиях?
Благодарю!
Есть необходимость протестировать советника в тестере стратегий MT5. Подскажите, как простому пользователю, не владеющему навыком администрирования и программирования подключить MT5 к MOEX-FORTS (брокер БКС) в текущих реалиях?
Вопрос из двух частей, потому ответ - тоже из двух.
В тестере стратегий можно тестировать советник на кастом-инструментах, создаваемых на данных, запрашиваемых по описанному API напрямую от MOEX (без брокера).
Указанный брокер, насколько я знаю, не работает с МТ5, так что торговать из МТ5 без навыков администрирования и программирования (нужных для интеграции с интерфейсами, предлагаемыми брокером) - проблематично.