Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2192
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я предлагаю вставить в мой код нужный код из класса CTrade благодаря которому в функцию открытия ордера в моем коде будет вставлен параметр СЛ и ордер закроется по СЛ. Параметр СЛ в функция открытия ордера , тоже пожалуйста вставте для полной ясности.
Спасибо
А самому почитать класс Ctrade не судьба?
Или посмотреть какие параметры можно вставить кроме лота
В метаэдитор ставите курсор на нужный непонятный оператор и нажимаете ф1. Про идентификатор не понял. В функцию нельзя передать не определенную переменную, без значения. По ссылке если передавать то переменная должна иметь значение и потом в функции может быть перерасчитана.
Это как? Я что-то не понял что вы имели ввиду…
А я могу в коде создать такую переменную и пользоваться ею?
Можете
И нигде в коде не сможете изменить значение переменной. Компилятор отловит это и выдаст ошибку.
А самому почитать класс Ctrade не судьба?
Или посмотреть какие параметры можно вставить кроме лота
Спасибо. Читал несколько раз , но пока смысл написанного до меня или не доходит, или доходит неправильно. Надеюсь , что теперь с Вашей помощью дойдет...
Можете
И нигде в коде не сможете изменить значение переменной. Компилятор отловит это и выдаст ошибку.
Тогда получается ,что все имена переменных превращенных в константы , которые являются параметрами функций по умолчанию имеют обязательное обозначение const перед своим объявлением? По аналогии с input и extern ? То есть, const превращает переменную в константу? И в программе обозначение const и само объявление и инициализация этих переменных нигде не прописывается? const и значение спрятано внутри программы и тот кто пишет код mql не видит в коде ни const , ни значение переменной ? А видит только ее имя из заглавных букв среди параметров той или иной функции?
Это как? Я что-то не понял что вы имели ввиду…
Ну тут с допущениями конечно, есть значения по умолчанию конечно. Но по логике всего программирования, если переменная не имеет определенного значения, ее нельзя передать в функцию.
Тогда получается ,что все имена переменных превращенных в константы , которые являются параметрами функций по умолчанию имеют обязательное обозначение const перед своим объявлением? По аналогии с input и extern ? То есть, const превращает переменную в константу? И в программе обозначение const и само объявление и инициализация этих переменных нигде не прописывается? const и значение спрятано внутри программы и тот кто пишет код mql не видит в коде ни const , ни значение переменной ? А видит только ее имя из заглавных букв среди параметров той или иной функции?
Спецификаторы доступа
Спецификаторы доступа указывают компилятору каким образом можно осуществлять доступ к переменным, членам структур или классов.
Спецификатор const объявляет переменную константой, и не позволяет изменять значение этой переменной в процессе выполнения программы. Допускается однократная инициализация переменной при ее объявлении.
Это из справки мт4.
Спасибо. Читал несколько раз , но пока смысл написанного до меня или не доходит, или доходит неправильно. Надеюсь , что теперь с Вашей помощью дойдет...
Вот вам доказательство того, что написание примеров кода абсолютно бесполезная помощь. Ведь нет никакой разницы что читать, код класса или чей-то код и не факт, что правильный. Главное понимать что пишешь и что должен получить в итоге. А получив, проверяешь и, убедившись что результат удовлетворяет, применять это и в других местах своего кода.
Спасибо
Какие параметры передаваемые в функцию являются ИДЕНТИФИКАТОРАМИ? Какой признак по которому можно отличить параметр идентификатор от параметра НЕидентификатора?
Как я понял ИДЕНТИФИКАТОР - это переменная превращенная в константу. Все переменные превращенные в константу являются идентификаторами? И имена всех этих переменных состоят только из заглавных букв? А что идентификаторы идентифицируют? Например идентификатор ОР_BYU имеет значение 1. Это значит что где то в программе есть список типов ордеров каждому из которых соответствует определенная цифра? И если программа встретит на своем пути имя переменной ОР_BYU и получит от нее 1 , программа сравнит 1 с другими номерами типов ордеров , и как только произойдет совпадение , программа выберет тип ордера с цифрой 1. И это будет ордер BYU И по этому алгоритму действует любой параметр идентификатор, передаваемый в функцию?
Нет, идентификатор это параметры штатных функций. И их можно передавать в свои функции тоже. В общем это всего лишь термин. Не понял с чего вопрос такой возник даже.
И они не всегда обязательно константны. ТФ, типы ордеров, ответы на исполнение ордеров понятно константны, а рыночное окружение нет.
А почему же тогда в СПРАВОЧНИКАХ 4 и 5 эти переменные явно не упоминаются и уж тем более не описываются. Тогда как переменные других типов описываются очень подробно.
И это труднообъяснимо потому что переменные конст. употребляются очень часто, почти в каждом коде , в отличии например от типа переменной с плавающей точкой , которая встречается редко, но описывается в Справочниках детально.
https://book.mql4.com/ru/basics/vars
https://www.mql5.com/ru/docs/constants