Для использования объектно-ориентированного программирования (ООП) вовсе не обязательно знать что такое полиморфизм, инкапсуляция... можно просто пользоваться его возможностями. В статье рассматриваются основные возможности ООП с примерами их использования.
1. Я понял Вас, действительно, если переменная обозначена как дабл то хоть бубен треси она даблом и останется...
2. Не могу понять что плохого в передаче структуры по ссылке ?
1. Если одна переменная дабл и в ней может быть и дабл и инт, тогда следует сделать дополнительную переменную типа bool, при установке значения в переменную StopLoss ставить этой переменной соответствующее значение, потом делать расчеты в зависимости от значения bool.
2. Ничего плохого, просто незачем. Можно свой метод вызывать. В методе SetOrderModify параметры из самого класса использовать. Вот тут при установке параметров можно будет использовать перегрузку. Метод, ну например, SetStopLoss(), его перегрузить.
Почему, долго вам же не надо изучать программирование с нуля.
Вот обратите внимание, перегруженная функция. Можно передать значения тейка и стопа как в пунктах так и указав конкретную цену. Очень облегчает дальнейшую работу. Кроме того вы наверно видели, что и стандартные функции MQL тоже по большей части перегруженные.
Да я вижу и понимаю, но перед вызовом метода у вас нужно вызвать пачку других методов, другими словами большая подготовка к открытию ордера, чем больше код тем больше вероятность ошибки,
то как я пользую мне нравится потому что просто и понятно и нет ничего лишнего...
1. Если одна переменная дабл и в ней может быть и дабл и инт, тогда следует сделать дополнительную переменную типа bool, при установке значения в переменную StopLoss ставить этой переменной соответствующее значение, потом делать расчеты в зависимости от значения bool.
2. Ничего плохого, просто незачем. Можно свой метод вызывать. В методе SetOrderModify параметры из самого класса использовать. Вот тут при установке параметров можно будет использовать перегрузку. Метод, ну например, SetStopLoss(), его перегрузить.
Я понял , то есть если мы вызываем класс то переменные класса используются в медодах ...
Да я вижу и понимаю, но перед вызовом метода у вас нужно вызвать пачку других методов, другими словами большая подготовка к открытию ордера, чем больше код тем больше вероятность ошибки,
то как я пользую мне нравится потому что просто и понятно и нет ничего лишнего...
Да нет же. Вы же заполняете класс который передаете в метод SetOrderModify, после заполнения надо вызывать у того же класса метод SetOrderModify(), а не передавать в другой экземпляр. Проще получается и понятней.
Да я вижу и понимаю, но перед вызовом метода у вас нужно вызвать пачку других методов, другими словами большая подготовка к открытию ордера, чем больше код тем больше вероятность ошибки,
то как я пользую мне нравится потому что просто и понятно и нет ничего лишнего...
Я вам показал только заголовочную часть часть класса, а реализацию самих методов я не показывал, иначе это бы заняло пару страниц форума. И перед вызовом какого либо метода не надо вызывать другие методы, они все работают независимо друг от друга.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Не помните какие конкретно статьи читали?
https://www.mql5.com/ru/articles/351
https://www.mql5.com/ru/articles/70
https://www.mql5.com/ru/articles/703
То что в закладках держу
....
Не могу понять что плохого в передаче структуры по ссылке ?
А какой в этом смысл? Вы передаете в метод класса экземпляр этого же класса.
Намного понятнее работать с полями класса которые уже объявлены в этом классе.
1. Я понял Вас, действительно, если переменная обозначена как дабл то хоть бубен треси она даблом и останется...
2. Не могу понять что плохого в передаче структуры по ссылке ?
1. Если одна переменная дабл и в ней может быть и дабл и инт, тогда следует сделать дополнительную переменную типа bool, при установке значения в переменную StopLoss ставить этой переменной соответствующее значение, потом делать расчеты в зависимости от значения bool.
2. Ничего плохого, просто незачем. Можно свой метод вызывать. В методе SetOrderModify параметры из самого класса использовать. Вот тут при установке параметров можно будет использовать перегрузку. Метод, ну например, SetStopLoss(), его перегрузить.
Почему, долго вам же не надо изучать программирование с нуля.
Вот обратите внимание, перегруженная функция. Можно передать значения тейка и стопа как в пунктах так и указав конкретную цену. Очень облегчает дальнейшую работу. Кроме того вы наверно видели, что и стандартные функции MQL тоже по большей части перегруженные.
Да я вижу и понимаю, но перед вызовом метода у вас нужно вызвать пачку других методов, другими словами большая подготовка к открытию ордера, чем больше код тем больше вероятность ошибки,
то как я пользую мне нравится потому что просто и понятно и нет ничего лишнего...
https://www.mql5.com/ru/articles/351
https://www.mql5.com/ru/articles/70
https://www.mql5.com/ru/articles/703
То что в закладках держу
1. Если одна переменная дабл и в ней может быть и дабл и инт, тогда следует сделать дополнительную переменную типа bool, при установке значения в переменную StopLoss ставить этой переменной соответствующее значение, потом делать расчеты в зависимости от значения bool.
2. Ничего плохого, просто незачем. Можно свой метод вызывать. В методе SetOrderModify параметры из самого класса использовать. Вот тут при установке параметров можно будет использовать перегрузку. Метод, ну например, SetStopLoss(), его перегрузить.
Я понял , то есть если мы вызываем класс то переменные класса используются в медодах ...
Да я понял Вас , спасибо...
Да я вижу и понимаю, но перед вызовом метода у вас нужно вызвать пачку других методов, другими словами большая подготовка к открытию ордера, чем больше код тем больше вероятность ошибки,
то как я пользую мне нравится потому что просто и понятно и нет ничего лишнего...
Да я вижу и понимаю, но перед вызовом метода у вас нужно вызвать пачку других методов, другими словами большая подготовка к открытию ордера, чем больше код тем больше вероятность ошибки,
то как я пользую мне нравится потому что просто и понятно и нет ничего лишнего...
Правильно ли я понял что у данных классов будет один и тот же результат ?
Правильно ли я понял что у данных классов будет один и тот же результат ?