как добавить лот в эксперта? - страница 2

 
Boris:
"все очень просто", если штампуешь почти одно и то же, ради продаж, не заморачиваясь! А если делать программы, чтобы легко и удобно можно было менять, находя оригинальные решения, то эта заорганизованность тебя связывает по рукам и ногам!Вот именно поэтому я и использую ООП, классы Стандартной Библиотеки и еще очень много чего.

Как раз для того, чтобы "легко и удобно было менять оригинальные решения".

Данный случай, кстати, очень показателен. Используя ООП можно добавить фиксированный лот написанием дополнительно трех строк (замена классов, как я предлагал выше, и подключение инклюда). При этом - если нам надо - мы точно так же просто можем получить код, в котором используется лот с фиксированным риском, и, если не ошибаюсь, есть возможность и использования лота с постоянной маржой.

Как вы предлагаете изменить данный код без применения ООП ? Уложитесь в три строки для фиксированного риска ?

Имею короткие, но ёмкие универсальные наработки, которые переходят из программы в программу, без библиотек и прочих многотомных грузов. Как можно сочинять на все случаи жизни, если у всех вся жизнь впереди, а что позади, надо многое пересматривать. Программы должны быть гибкими, удобными, ясными, чтобы не заблуждаться, как в джунглях. ;)

На мой взгляд, Copy-Paste стиль программирования - это опасная практика.  А "гибкость, удобство и ясность" как раз при ООП подходе гораздо лучше, чем при Copy-Paste подходе.

 
George Merts:

Как раз для того, чтобы "легко и удобно было менять оригинальные решения".

Данный случай, кстати, очень показателен. Используя ООП можно добавить фиксированный лот написанием дополнительно трех строк (замена классов, как я предлагал выше, и подключение инклюда). При этом - если нам надо - мы точно так же просто можем получить код, в котором используется лот с фиксированным риском, и, если не ошибаюсь, есть возможность и использования лота с постоянной маржой.

Как вы предлагаете изменить данный код без применения ООП ? Уложитесь в три строки для фиксированного риска ?

На мой взгляд, Copy-Paste стиль программирования - это опасная практика.  А "гибкость, удобство и ясность" как раз при ООП подходе гораздо лучше, чем при Copy-Paste подходе.

Не Copy-Paste, а согласно принципиальным правилам, исключающим ошибки, отработанные опытом. Имеем только 2 направления, так зачем нужно ООП?! Вот без ООР (OrderOpenPrice()) никак не обойтись! И с любыми лотами управляюсь одной строчкой-формулой! И одного штатного инклюдника хватает за глаза: #include <stderror.mqh>
 
Boris:
Не Copy-Paste, а согласно принципиальным правилам, исключающим ошибки, отработанные опытом.
Ну, тогда поточнее выражайтесь. Вы ж перечитайте, что вы написали... У меня сложилось впечатление, что повторяющийся код у вас лежит не в библиотеках, а переносится из проекта в проект.
Имеем только 2 направления, так зачем нужно ООП?!

Выше написано, зачем ООП. Чтобы легко и удобно можно было бы менять программный код, проще было его поддерживать и модифицировать. Вот, вернитесь к заголовочному сообщению, и сравните, сколько вам понадобится кода, чтобы выставлять лот исходя из риска и имеющегося СЛ ?

Вот без ООР (OrderOpenPrice()) никак не обойтись! И с любыми лотами управляюсь одной строчкой-формулой! И одного штатного инклюдника хватает за глаза: #include <stderror.mqh>

Да ? А я вот этой функцией OrderOpenPrice() - представляете - не пользуюсь. Зато пользуюсь классом COrderIfo, который позволяет мне во-первых, один и тот же код использовать как в МТ4 так и в МТ5 (где, вобще нету функции OrderOpenPrice()). В результате - мой код легко может быть использован в обоих терминалах без изменений.

Более того, написав класс COrderIfo я могу использовать свои наработки в любой другой программе (WLD в частности). Где также нет никаких OpenOrderInfo, но именно ООП-подход позволяет использовать код, написанный для МТ4-5

 
George Merts:
Ну, тогда поточнее выражайтесь. Вы ж перечитайте, что вы написали... У меня сложилось впечатление, что повторяющийся код у вас лежит не в библиотеках, а переносится из проекта в проект.

Выше написано, зачем ООП. Чтобы легко и удобно можно было бы менять программный код, проще было его поддерживать и модифицировать. Вот, вернитесь к заголовочному сообщению, и сравните, сколько вам понадобится кода, чтобы выставлять лот исходя из риска и имеющегося СЛ ?

Да ? А я вот этой функцией OrderOpenPrice() - представляете - не пользуюсь. Зато пользуюсь классом COrderIfo, который позволяет мне во-первых, один и тот же код использовать как в МТ4 так и в МТ5 (где, вобще нету функции OrderOpenPrice()). В результате - мой код легко может быть использован в обоих терминалах без изменений.

Более того, написав класс COrderIfo я могу использовать свои наработки в любой другой программе (WLD в частности). Где также нет никаких OpenOrderInfo, но именно ООП-подход позволяет использовать код, написанный для МТ4-5

Для меня 5-ка бесполезна, т.к. редкий брокер её пользует. В отношение трюкачеств в программировании оно для меня средство, а не цель. Через год должен открыть публичный ПАММ, тогда и померимся! :)
 
Boris:
Для меня 5-ка бесполезна, т.к. редкий брокер её пользует. В отношение трюкачеств в программировании оно для меня средство, а не цель. Через год должен открыть публичный ПАММ, тогда и померимся! :)

Да речь же не о пятерке... Речь вроде об стиле кода.

(Хотя, напрасно вы так - пятерка сильна своим тестером стратегий. Очень удобно тестировать советника на МТ5. А запускать, понятное дело, будем на МТ4)

На мой взгляд, всяких "трюкачеств" должно быть как можно меньше.  Как раз ООП-подход и позволяет от них избавиться, использую структуру классов Стандартной Библиотеки.

А ПАММомеряние - это меряние системами, а мне был бы интересен не ПАММ, а стиль кодописания.

Вот, вы выше написали, что у вас на один советник - всего лишь один инклюд.

Пока у нас простой советник (пересечение цены и МА) - все нормально. Но если что-то посложнее ?

 
George Merts:

Да речь же не о пятерке... Речь вроде об стиле кода.

(Хотя, напрасно вы так - пятерка сильна своим тестером стратегий. Очень удобно тестировать советника на МТ5. А запускать, понятное дело, будем на МТ4)

На мой взгляд, всяких "трюкачеств" должно быть как можно меньше.  Как раз ООП-подход и позволяет от них избавиться, использую структуру классов Стандартной Библиотеки.

А ПАММомеряние - это меряние системами, а мне был бы интересен не ПАММ, а стиль кодописания.

Вот, вы выше написали, что у вас на один советник - всего лишь один инклюд.

Пока у нас простой советник (пересечение цены и МА) - все нормально. Но если что-то посложнее ?

Отказался окончательно от МАшек и им подобным. Все расчёты беру от котиров, пользуюсь только DailyPivotPoints, развитый до нужных мне целей. Если бы сделали разработчики Master Visard Translator c mql4 на mql5, можно было бы попробовать тестер 5-ки, а так, пустая трата времени и сил, и бесперспективно изучать то, что неприменимо. Как в своё время изучил Азбуку Морзе в Армии, лучше бы на телеграфиста выучился, тогда бы печатал сейчас с закрытыми глазами. Один инклюд для ошибок, а есть ещё один из той же штатной библиотеки, да там пара строчек, может, что и выполняет. Мне, что нужно, сам придумываю, но в файлы не запихиваю, чтоб всегда перед глазами были. А стиль обычный, start() и несколько разных функций, но главное, оригинальные алгоритмы, формулы, разное и т.п. Спокойной ночи! 
Причина обращения: