Обсуждение статьи "Как использовать торговые классы Стандартной библиотеки при написании советника" - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В классе COrderInfo также имеются строчки
return(FormatType(str,Type())); ... FormatType(type,Type()) ... if(m_type==Type() && m_state==State() &&
Но функция Type() в классе отсутствует.
В разделе 1.4 статьи приводятся особенности класса COrderInfo, который, судя по описанию, предназначен для работы с действующими отложенными ордерами. При этом предлагается сделать следующее: "Для использования этого класса с целью получения свойств отложенных ордеров, сначала запросим общее количество ордеров и выберем их по тикету ордера"
Но если функция HistorySelect() предназначена для запроса "историю сделок и ордеров", т.е. для запроса исторических ордеров, зачем использовать эту функцию при запросе общего количества действующих отложенных ордеров?В классе COrderInfo ...
Но функция Type() в классе отсутствует.
Может кто объяснит? Вот есть такой кусочек кода из класса CDealInfo:
Здесь функция CDealInfo::FormatDeal(string& str) содержит вот такую строчку:
symbol.Name(Symbol());
В свою очередь, функция Symbol() определена как в самом классе CDealInfo, так и среди стандартных функций клиентского терминала. Какая именно функция передаётся в качестве аргумента в функцию symbol.Name()? По какому правилу?Может кто объяснит? Вот есть такой кусочек кода из класса CDealInfo:
Здесь функция CDealInfo::FormatDeal(string& str) содержит вот такую строчку:
В свою очередь, функция Symbol() определена как в самом классе CDealInfo, так и среди стандартных функций клиентского терминала. Какая именно функция передаётся в качестве аргумента в функцию symbol.Name()? По какому правилу?Тут работает тоже правило что и с областью видимости переменных. Если под одним именем объявлена переменная на глобальном и локальном уровне, то внутри локальной области имя будет указывать на локальную переменную, а во вне на глобальную.
Получается если внутри класса перегружена стандартная функция, то в самом классе будет вызываться тело перегрузки а на глобальном уровне тело стандартной функции. Тело же перегруженной функции, на глобальном уровне можно вызвать через указатель класса.
Тут работает тоже правило что и с областью видимости переменных. Если под одним именем объявлена переменная на глобальном и локальном уровне, то внутри локальной области имя будет указывать на локальную переменную, а во вне на глобальную.
Получается если внутри класса перегружена стандартная функция, то в самом классе будет вызываться тело перегрузки а на глобальном уровне тело стандартной функции. Тело же перегруженной функции, на глобальном уровне можно вызвать через указатель класса.