Экспорт "Обзор рынка" - "Символы", или списка всех доступных символов, а также "Спецификации" каждого символа в Excel - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Даже если сделать как в одном из примеров здесь https://www.mql5.com/en/forum/333100
Все равно получаем не то что показывает в Спецификации брокер.
Вы предположили, что перечисления начинается с 0. Но оно не обязано. Более того, оно не должно быть последовательным (1, 2, 3, 4), а может иметь пропуски.
Вот так должно быть правильно:
Вы предположили, что перечисления начинается с 0. Но оно не обязано. Более того, оно не должно быть последовательным (1, 2, 3, 4), а может иметь пропуски.
Вот так должно быть правильно:
Спасибо. Странно, что они дают этот хороший пример в stringformat, при этом нет никакой ссылки на него с SymbolInfoInteger или ENUM_SYMBOL_INFO_INTEGER
Попробую Ваш пример из Справочника.
Я до Вашего поста плюнул на то что брокер сделал по своему и сделал только перечисление того что брокер указал в терминале.
Решение, которое Вы указали хорошо тем, что как раз проверяет мод расчета маржи, так? То есть оно как универсальное в этом случае для любого брокера?
Например, если брокер показывает в Спецификации для символа CFD (мод №4 в стандартной таблице), а SYMBOL_TRADE_CALC_MODE возвращает цифру мода 6, отличную от стандартной таблицы модов, то Ваше решение позволяет избежать разбежности?
Спасибо. Странно, что они дают этот хороший пример в stringformat, при этом нет никакой ссылки на него с SymbolInfoInteger или ENUM_SYMBOL_INFO_INTEGER
Попробую Ваш пример из Справочника.
Я до Вашего поста плюнул на то что брокер сделал по своему и сделал только перечисление того что брокер указал в терминале.
Решение, которое Вы указали хорошо тем, что как раз проверяет мод расчета маржи, так? То есть оно как универсальное в этом случае для любого брокера?
Например, если брокер показывает в Спецификации для символа CFD (мод №4 в стандартной таблице), а SYMBOL_TRADE_CALC_MODE возвращает цифру мода 6, отличную от стандартной таблицы модов, то Ваше решение позволяет избежать разбежности?
Еще раз прочтите про перечисления. SYMBOL_TRADE_CALC_MODE используется один на всех.
Еще раз прочтите про перечисления. SYMBOL_TRADE_CALC_MODE используется один на всех.
Спасибо Вам огромное за тот пример - он работает идеально!
Про перечисления перечитывал не раз - в теории оно понятно, а вот дойдет только с практикой :)
Например, мой вариант
вообще не годится, так как не универсальный для любого брокера.
А Ваш вариант получается проверяет каждое перечисление и присваивает его переменной str_calc_mode, так?
Например в этом случае
именно благодаря двоеточию между SYMBOL_CALC_MODE_FOREX и str_calc_mode происходит проверка на это конкретное перечисление, да?
Спасибо Вам огромное за тот пример - он работает идеально!
Про перечисления перечитывал не раз - в теории оно понятно, а вот дойдет только с практикой :)
Например, мой вариант
вообще не годится, так как не универсальный для любого брокера.
А Ваш вариант получается проверяет каждое перечисление и присваивает его переменной str_calc_mode, так?
Например в этом случае
именно благодаря двоеточию между SYMBOL_CALC_MODE_FOREX и str_calc_mode происходит проверка на это конкретное перечисление, да?
SYMBOL_CALC_MODE_FOREX может иметь любое значение (0, 1, 25, 1984). Мы об этом не знаем.
Поэтому нужно сравнивать SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE) именно с SYMBOL_CALC_MODE_FOREX, а не с любым числом. Этим и занимается switch-case.
Экспорт символов и их настроек из обзора рынка сделаем в csv формате с описанием заголовков
SYMBOL_CALC_MODE_FOREX может иметь любое значение (0, 1, 25, 1984). Мы об этом не знаем.
Поэтому нужно сравнивать SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE) именно с SYMBOL_CALC_MODE_FOREX, а не с любым числом. Этим и занимается switch-case.
спасибо Вам огромное. Своим последним вопросом я не мог разобраться на каком этапе SymbolInfoInteger выдает enum как string (текст)? Так как SymbolInfoInteger имеет тип int, то ведь и возвращает цифру (на которую я ошибочно ориентировался), но кроме этого как я понял возвращает enum. Но для того чтоб получить enum как текст я должен сначала узнать тот ли это тип enum, так? Для этого case проверяет каждое значение с enum от SymbolInfoIntege, так? Вопрос: как case может сравнивать если SymbolInfoInteger возвращает int а не string (текст)?
спасибо Вам огромное. Своим последним вопросом я не мог разобраться на каком этапе SymbolInfoInteger выдает enum как string (текст)? Так как SymbolInfoInteger имеет тип int, то ведь и возвращает цифру (на которую я ошибочно ориентировался), но кроме этого как я понял возвращает enum. Но для того чтоб получить enum как текст я должен сначала узнать тот ли это тип enum, так? Для этого case проверяет каждое значение с enum от SymbolInfoIntege, так? Вопрос: как case может сравнивать если SymbolInfoInteger возвращает int а не string (текст)?
Попробуйте еще вот так разобраться. Может, нагляднее будет:
ленивый вариант, но 17-ли - нужно проверить, может обсчитался :)