Алексей Тарабанов: Автор - Рустам (XRust), 2012 год.
можете подсказать какая именно его публикация (индикатор, советник или что еще) имеет тот пример кода который Вы привели в предыдущем посте?
Перерыл несколько аккакунтов Рустама и не нашел откуда этот кусок кода?
Получается нет функции, которая возвращает информацию о типе символа
(тип рынка), как приведено на картинке выше? Например, чтоб возвращало FOREX для форекс, а CFD для акций. По крайней мере я прошелся по всем
функциям Справочника MQL5 "Получение рыночной информации" и не нашел.
Сначала сформируйте массив символов, после - превратите его в кортеж характеристик, затем - экспортируйте в таблицу.
Вот первый этап:
а то получается по Вашему описанию я должен сначала создать массив символов. Но ведь я пишу его и так в CSV используя функции "Получение
рыночной информации" и построчно заполняю созданную таблицу.
Вот теперь например нужно значение Calculation (Способ расчетов) из Спецификации Символа. Для форекс пары в Спецификации любого символа в
терминале там сейчас forex, для акций CFD. Но так чтоб функция возвращала именно "forex" или "CFD" - не могу найти такую функцию.
пытался так
int MarketType=SymbolInfoInteger(symbol,SYMBOL_TRADE_CALC_MODE);
но это возвращает только цифру. Я так понял каждая цифра это определенный тип (рынок) символа. Я так понял посмотрев на ENUM_SYMBOL_CALC_MODE,
там первое SYMBOL_CALC_MODE_FOREX, второе SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE и т.д. Возможно я не правильно понял. Как получить именно вот такой
текст о типе (рынке) символа?
Дело в том что в SymbolInfoString() такой информации не нашел.
а то получается по Вашему описанию я должен сначала создать массив символов. Но ведь я пишу его и так в CSV используя функции "Получение
рыночной информации" и построчно заполняю созданную таблицу.
Вот теперь например нужно значение Calculation (Способ расчетов) из Спецификации Символа. Для форекс пары в Спецификации любого
символа в терминале там сейчас forex, для акций CFD. Но так чтоб функция возвращала именно "forex" или "CFD" - не могу найти такую
функцию.
пытался так
но это возвращает только цифру. Я так понял каждая цифра это определенный тип (рынок) символа. Я так понял посмотрев на ENUM_SYMBOL_CALC_MODE,
там первое SYMBOL_CALC_MODE_FOREX, второе SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE и т.д. Возможно я не правильно понял. Как получить именно вот
такой текст о типе (рынке) символа?
Дело в том что в SymbolInfoString() такой информации не
нашел.
есть замечательная фича (не совсем функция) EnumToString :-) и есть оператор языка switch, комбинируя их можно получить требуемое.. по
заранее известным константам отдать строковые константы, по прочим вырезать "SYMBOL_CALC_MODE_" и получить в остатке
FOREX,FOREX_NO_LEVERAGE и так далее
есть замечательная фича (не совсем функция) EnumToString :-) и есть оператор языка switch, комбинируя их можно получить требуемое.. по
заранее известным константам отдать строковые константы, по прочим вырезать "SYMBOL_CALC_MODE_" и получить в остатке
FOREX,FOREX_NO_LEVERAGE и так далее
я не могу понять, почему в MQL5 для того чтоб взять обычное значение из спецификации нужно делать непонятные танцы с бубном?! Это же просто
значение в таблице по каждому символу. Для любой другой информации можно получить значение, а для Calculation (Способ расчетов) из
Спецификации Символа такой функции (возможности) нет?! Я не могу в это поверить ((( Ведь этому полю в Спецификации должна быть обычная
функция которая вернет значение этого поля, разве нет?!
Alexey Kolybelnikov: я не могу понять, почему в MQL5 для
того чтоб взять обычное значение из спецификации нужно делать непонятные танцы с бубном?! Это же просто значение в таблице по каждому
символу. Для любой другой информации можно получить значение, а для Calculation (Способ расчетов) из Спецификации Символа такой
функции (возможности) нет?! Я не могу в это поверить ((( Ведь этому полю в Спецификации должна быть обычная функция которая вернет
значение этого поля, разве нет?!
даже если делаю так
long MarketType; int CalcMethod=SymbolInfoInteger(symbol,SYMBOL_TRADE_CALC_MODE,MarketType);
и
потом записываю в CSV значение MarketType, переменная возвращает цифру ((( Пожалуйста помогите с этой загадкой Спецификации Символа
После объявления перечисления появляется новый целочисленный 4-байтовый тип данных. Объявление нового типа данных позволяет компилятору строго контролировать типы передаваемых параметров, так как перечисление вводит новые именованные константы. В приведенном примере именованная константа January имеет значение 0, February имеет значение 1...
Загадка не в спецификации. Разберитесь, что такое перечисление.
Я правильно понял? - получить "текст" как в Спецификации не получится. Придется создавать список с названиями из enum и присваивать
каждому номеру название из этого перечисления? Например, "если 0 то это forex, если 1 то это no-leverage-forex" и т.д. в таком же
духе?
Я правильно понял? - получить "текст" как в Спецификации не получится. Придется создавать список с названиями из enum и присваивать каждому номеру название из этого перечисления? Например, "если 0 то это forex, если 1 то это no-leverage-forex" и т.д. в таком же духе?
Да, или StringSubString + EnumToString, как советовали выше.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Автор - Рустам (XRust), 2012 год.
можете подсказать какая именно его публикация (индикатор, советник или что еще) имеет тот пример кода который Вы привели в предыдущем посте? Перерыл несколько аккакунтов Рустама и не нашел откуда этот кусок кода?
Получается нет функции, которая возвращает информацию о типе символа (тип рынка), как приведено на картинке выше? Например, чтоб возвращало FOREX для форекс, а CFD для акций. По крайней мере я прошелся по всем функциям Справочника MQL5 "Получение рыночной информации" и не нашел.Сначала сформируйте массив символов, после - превратите его в кортеж характеристик, затем - экспортируйте в таблицу.
Вот первый этап:
а то получается по Вашему описанию я должен сначала создать массив символов. Но ведь я пишу его и так в CSV используя функции "Получение рыночной информации" и построчно заполняю созданную таблицу.
Вот теперь например нужно значение Calculation (Способ расчетов) из Спецификации Символа. Для форекс пары в Спецификации любого символа в терминале там сейчас forex, для акций CFD. Но так чтоб функция возвращала именно "forex" или "CFD" - не могу найти такую функцию.
пытался так
но это возвращает только цифру. Я так понял каждая цифра это определенный тип (рынок) символа. Я так понял посмотрев на ENUM_SYMBOL_CALC_MODE, там первое SYMBOL_CALC_MODE_FOREX, второе SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE и т.д. Возможно я не правильно понял. Как получить именно вот такой текст о типе (рынке) символа?
Дело в том что в SymbolInfoString() такой информации не нашел.а то получается по Вашему описанию я должен сначала создать массив символов. Но ведь я пишу его и так в CSV используя функции "Получение рыночной информации" и построчно заполняю созданную таблицу.
Вот теперь например нужно значение Calculation (Способ расчетов) из Спецификации Символа. Для форекс пары в Спецификации любого символа в терминале там сейчас forex, для акций CFD. Но так чтоб функция возвращала именно "forex" или "CFD" - не могу найти такую функцию.
пытался так
но это возвращает только цифру. Я так понял каждая цифра это определенный тип (рынок) символа. Я так понял посмотрев на ENUM_SYMBOL_CALC_MODE, там первое SYMBOL_CALC_MODE_FOREX, второе SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE и т.д. Возможно я не правильно понял. Как получить именно вот такой текст о типе (рынке) символа?
Дело в том что в SymbolInfoString() такой информации не нашел.есть замечательная фича (не совсем функция) EnumToString :-) и есть оператор языка switch, комбинируя их можно получить требуемое.. по заранее известным константам отдать строковые константы, по прочим вырезать "SYMBOL_CALC_MODE_" и получить в остатке FOREX,FOREX_NO_LEVERAGE и так далее
есть замечательная фича (не совсем функция) EnumToString :-) и есть оператор языка switch, комбинируя их можно получить требуемое.. по заранее известным константам отдать строковые константы, по прочим вырезать "SYMBOL_CALC_MODE_" и получить в остатке FOREX,FOREX_NO_LEVERAGE и так далее
я не могу понять, почему в MQL5 для того чтоб взять обычное значение из спецификации нужно делать непонятные танцы с бубном?! Это же просто значение в таблице по каждому символу. Для любой другой информации можно получить значение, а для Calculation (Способ расчетов) из Спецификации Символа такой функции (возможности) нет?! Я не могу в это поверить ((( Ведь этому полю в Спецификации должна быть обычная функция которая вернет значение этого поля, разве нет?!
даже если делаю так
и потом записываю в CSV значение MarketType, переменная возвращает цифру ((( Пожалуйста помогите с этой загадкой Спецификации СимволаПожалуйста помогите с этой загадкой Спецификации Символа
Загадка не в спецификации. Разберитесь, что такое перечисление.
Загадка не в спецификации. Разберитесь, что такое перечисление.
Я правильно понял? - получить "текст" как в Спецификации не получится. Придется создавать список с названиями из enum и присваивать каждому номеру название из этого перечисления? Например, "если 0 то это forex, если 1 то это no-leverage-forex" и т.д. в таком же духе?
Я правильно понял? - получить "текст" как в Спецификации не получится. Придется создавать список с названиями из enum и присваивать каждому номеру название из этого перечисления? Например, "если 0 то это forex, если 1 то это no-leverage-forex" и т.д. в таком же духе?
Да, или StringSubString + EnumToString, как советовали выше.
Даже если сделать как в одном из примеров здесь https://www.mql5.com/en/forum/333100
Все равно получаем не то что показывает в Спецификации брокер.