- Правильно ли написан код ?
- Как улучшить код ?
- Как ускорить код ?
Что значит правильно или неправильно? Работает без ошибок, значит правильно. А не рабтает, значит неправильно.
Улучшить. Улучшать надо когда что-то не удовлетворяет потребностям. Каким потребностям не удовлетворяет, в этом направлении и улучшать.
Зачем ускорять? Ордер не так часто открываются, даже редко по сравнению с общим количеством тиков в тестере.
Но это была философия.
Практика. Зачем нужен этот класс, если есть отличный стандартный? Правда он для МТ5, а есть ли для МТ4 - незнаю. Нету?
Один недостаток в вашем коде есть - отсутствие стоплоссов и тейкпрофитов.
Т.е. ООП это просто функции в класс попихать? Продуктивненько, скоро будет весело на форуме наверное.
Если Вы такой умный то напишите как правильно, тема не для сарказма создавалась ....
Если Вы такой умный то напишите как правильно, тема не для сарказма создавалась ....
Зависит от ваших желания, потребностей, от вашего стиля программирования.
Можно сделать класс как набор функций с параметрами, примерно как у вас сделано.
Можно сделать методы для установки параметров, а непосредственно открытие ордера выполнять вызовом метода без параметиров.
Лучше когда пороще, тогда будет более применимо в разных случах. Пытаться сделать что-то сверх идеально универсальное - это мечта идиота, пустая трата времени у умственных усилий.
Еще. Пока раз 20 одну и туже задачу не пришлось решать, то лучше и не браться за создание универсального подхода.
Что значит правильно или неправильно? Работает без ошибок, значит правильно. А не рабтает, значит неправильно.
Улучшить. Улучшать надо когда что-то не удовлетворяет потребностям. Каким потребностям не удовлетворяет, в этом направлении и улучшать.
Зачем ускорять? Ордер не так часто открываются, даже редко по сравнению с общим количеством тиков в тестере.
Но это была философия.
Практика. Зачем нужен этот класс, если есть отличный стандартный? Правда он для МТ5, а есть ли для МТ4 - незнаю. Нету?
Один недостаток в вашем коде есть - отсутствие стоплоссов и тейкпрофитов.
Стоп лоссы и тейки для ордеров устанавливаются отдельно, так как вполне возможно мы не знаем на каком типе счетов будем работать ....
Можно сделать методы для установки параметров, а непосредственно открытие ордера выполнять вызовом метода без параметиров.
Вы можете это продемонстрировать на моем примере ?
Неохота кодить. Вобщем... В приватной секции объявить переменные для значений стоплосса, тейкпрофита, лота. В методах открытия ордеров используются эти переменные, естественно лот так, как есть, а ценовые уровни рассчитываются с использованием этих переменных. Но этим переменным надо устанавливать значения. Значит нужны методы типа: SetTakeProfit(int Value), SetStopLoss(int Value), SetLots(double Value).
В большенстве советников методы SetTakeProfit(int Value), SetStopLoss(int Value), SetLots(double Value) будет достаточно вызывать в ините (один раз). Вызов методов открытия ордеров без параметров значительно ускоряет время исполнения.
Если Вы такой умный то напишите как правильно, тема не для сарказма создавалась ....
Как всегда, хотел научится, но обязательно найдутся те, кому кроме как поумничать и сказать больше нечего ...
Я написал простой пример что бы его разобрать, я не знаю как более грамотно написать с ООП ... Это просто пример, если знаете как написать подобный код правильно и ООП тогда пожалуйста напишите, что бы я и другие могли научиться...
Как всегда, хотел научится, но обязательно найдутся те, кому кроме как поумничать и сказать больше нечего ...
Я написал простой пример что бы его разобрать, я не знаю как более грамотно написать с ООП ... Это просто пример, если знаете как написать подобный код правильно и ООП тогда пожалуйста напишите, что бы я и другие могли научиться...
Да не обращайте внимания.
* * *
Надо стремиться к тому, чтобы основные и наиболее часто испоьзуемые методы вызывались без передачи параметров. Это повысит быстродействие. Однако снизит удобство.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет всем!
Я думаю настало время создать данную тему, потому что толкового обучения ООП нигде нет, а учиться надо и хочется.
Засорять ветку "вопросы от новичков" более сложными и не понятными новичкам примерами кодов, наверно не стоит.
Прочитав две статьи Основы объектно-ориентированного программирования и ООП в MQL5 на примерах: обработка кодов ошибок и предупреждений
Я написал пример кода и хочу детально с ним разобраться а так же и Вам предлагаю публиковать свои коды и разбирать их вместе.
Интересует следующее: