МТ4 или МТ5. Какие преимущества и недостатки? - страница 43

 
Andrei:

Вот поэтому логика должна быть прозрачной - какой тикет пользователь установил тот и должен исполняться, а не тот что задумал создатель класса. Это приводит к куче непоняток бессмысленных.

А вот это сейчас что было?

Что значит "какой тикет пользователь установил, тот и должен исполняться"? Куда тикет должен исполняться? Тикет назначается сервером ордеру/позиции при его установке. А не сам пользователь.

Пользователю разрешено только получить этот тикет и работать с ним, и тоже в рамках дозволенного.

Давайте я вам так скажу: сам терминал по отношению к пользователю является классом с закрытыми методами. Вы сами лично не вправе менять в списках истории терминала номера тикетов. Но получать вы их можете. И далее работать можете только с тем ордером, который получили из терминала.

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

 

Artyom Trishkin:

Вы сами лично не вправе менять в списках истории терминала номера тикетов. Но получать вы их можете.

Ну так если менять ордера невозможно изначально, то зачем еще и запреты на уровне классов какие-то выстраивать?

Даже если каким-то образом пользователь это изменит с помощью ваших классов, которые как-то могут умудриться залезть в историю терминала чтобы это сделать, то все равно смысла в этом нет, так как на сервере содержатся настоящие номера.

В общем как-то здравый смысл не просматривается в этих телодвижениях, которые вы предлагаете совершать, агитируя за ООП.

 
Andrei:

Ну так если менять ордера невозможно изначально, то зачем еще и запреты на уровне классов какие-то выстраивать?

Даже если каким-то образом пользователь это изменит с помощью ваших классов, которые как-то могут умудриться залезть в историю терминала чтобы это сделать, то все равно смысла в этом нет, так как на сервере содержатся настоящие номера.

В общем как-то здравый смысл не просматривается в этих телодвижениях, которые вы предлагаете совершать.

У-у-у... как всё запущено...

Тикеты были просто абстрактным примером.

И вот если вы в СВОЕЙ программе, получив тикет из терминала, потом это значение сами меняете - мол не хочу я работать с этим, а хочу работать с другим - с которым я хочу - то тут логика вашей программы словит нокдаун - вы вписали в свою программу тикет, которого нет, или тикет, с котором в данный момент не нужно работать, но вы так захотели, и вписали его... и вот с этого момента начинается для вас и вашей программы целый комплекс мероприятий, который называется частью тела что пониже спины будет.

Если же вы работаете с классом, который вам не позволит заменить существующий тикет на вами выдуманный, то и проблем у вас не будет... ну кроме той, что вы будете считать, что вас ограничили.

 
Andrei:

Ну так если менять ордера невозможно изначально, то зачем еще и запреты на уровне классов какие-то выстраивать?

Даже если каким-то образом пользователь это изменит с помощью ваших классов, которые как-то могут умудриться залезть в историю терминала чтобы это сделать, то все равно смысла в этом нет, так как на сервере содержатся настоящие номера.

В общем как-то здравый смысл не просматривается в этих телодвижениях, которые вы предлагаете совершать, агитируя за ООП.

Теперь на бис еще раз!

 
Artyom Trishkin:

Тикеты были просто абстрактным примером.

Хотя бы сообщили, что придумали несуществующий в природе пример, а то можно подумать, что это имеет какое-то отношение к реальности...

Кстати, облась видимости переменных изобретена до ООП, так что не надо его к этой теме примазывать непонятно каким боком.

 

Artyom Trishkin:

то тут логика вашей программы словит нокдаун

Право программиста писать код который ему хочется и как хочется, если компилятор позволяет...

 
Andrei:

Хотя бы сообщили, что придумали несуществующий в природе пример, а то можно подумать, что это имеет какое-то отношение к реальности...

Кстати, облась видимости переменных изобретена до ООП, так что не надо его к этой теме примазывать непонятно каким боком.

Конечно же он имеет отношение к реальности.
 

Тема необходимости ООП в программировании всплывает в последнее время с удивительной регулярностью. Раньше вроде никто ее не поднимал.

Для начала давайте разделим программирующих людей на две основные категории:

1. Программисты.

2. Разработчики.

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

Разработчики, - это изобретатели. Люди, которые обрели свободу мышления и поднялись над установленными правилами. Разработчики ищут максимальную эффективность создаваемых механизмов. Поэтому, им с программистами невсегда по пути.

ООП является удобным методом мышления. Методом представления взаимосвязи программных сущностей. Это человеческая призма взгляда на вещь.

Но вещь существует сама по себе, независимо от того, как мы на нее смотрим.

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

Но Природа не создает прямых линий(с).

Удобная для нас призма взгляда (ООП) "переписывает" "первобытное" совершенство механизма.

Но это может понимать только разработчик.

ЗЫ. ООП погружает человеческое мышление в красивую философскую концепцию, но навязывает создаваемому механизму неэффективную структуру.

И это проверено на практике.

 

Пожалуй вставлю и свои "5 копеек". Читаю ветку время от времени и есть что сказать. Я всегда позиционирую себя как чайник-домохозяйка, поэтому выбираю устройства и оболочки с которыми проще и привычнее работать: предпочитаю iOS, а не Android, на Mac первым делом ставлю Windows и т.д. При этом я прекрасно понимаю, что Android более гибкий, MacOS более быстрая и безопасная, но дело привычки. Банальный пример: когда выходит новый гаджет от Apple, новая версия Windows, то можно без труда обновиться, а функционал останется прежним с новыми плюшками. Microsoft не говорит: "Мы выпустили новый Widnows и поэтому покупайте новый компьютер и устанавливайте его туда", а Apple всегда предлагает обновиться (если гаджет технически не устаревший) на новую прошивку. С МТ4/МТ5 ситуация кардинально-противоположная и поднимать эту тему заново не вижу смысла - много сказано.

Мне как трейдеру с базовыми навыками программирования было легко автоматизировать системы на MQl4, а когда появляется какая-либо идея, то за 5 минут рождается первый код, который можно уже прогонять в тестере и я понимаю стоит ли продолжать или нет. С MQL5 всё намного сложнее. Логика изменена и местами значительно усложнена, но к этому, имхо, нужно еще можно привыкнуть, так как выхода нет. Но намного печальнее другое: при тестировании советников тестер страшно тупит и тормозит и это при одинаковом коде и за короткий промежуток времени: Как тестировать за 10-15 лет скажите пожалуйста?! Бэктесты займёт часы вместо минут. Оно кому-то нужно? В МТ4 я без проблем подключили такую крутейшую штуку, как TDS2 и использую те котировки, которые мне нужна и при этом они не битые. В МТ5 мне придётся открывать счета у разных брокеров, при этом нет возможности контролировать параметры комиссии и т.д. (думаю, что это допилят).

Юзабилити как для чайника  в МТ5 усложнено. Оно обделено той простотой, которая была в МТ4 и это главная причина по которой на платформу не переходят пользователи. Не сложности языка, а юзабилити и простейшие вещи. Люди не переходят на МТ4 не из-за того, что не понимают на сколько крут МТ5 (по словам разработчиков), а потому что МТ4 более предрасположен к работе, простой и удобный. И МТ5 не обретёт свою популярность в нынешнем виде никогда, так как крупные биржевые брокеры использую собственные платформы, а МТ - исключительно брокерская. Смысл брокерам в МТ5, если она не востребована среди клиентов? Группа адептов верующих в крутость той или иной платформы всегда найдётся, но посмотрите даже на популярность продуктов на Маркете - МТ4 вне конкуренции. Не занимайтесь одурманиванием самих себя: любой продукт создаётся для пользователей и для их удобства. Каким бы продукт не был бы крутым внутри, но неудобный для пользователей - он свою популярность не обретёт никогда.

Можно насильно перетянуть людей на МТ5, закрыв МТ4, но это просто привлечет отток пользователей: смысл мне переходить на МТ5, если можно на условный cTrader?

Понятное что этого никто уже делать не будет, но самым адекватным было бы "пропатчить" МТ4 и внедрить постепенно логику МТ5, но увы... Я уверен, что эти фичи, которые вносят разработчики - даром никому не нужны, так как за 10 лет существования на платформу пожалуй перешло 10% пользователей... И дело даже не в неттинге и хеджинге, которые относительно недавно внедрили... А банально - юзабилити.

 
Реter Konow:

Тема необходимости ООП в программировании всплывает в последнее время с удивительной регулярностью. Раньше вроде никто ее не поднимал.

Да нет, есть парочка эээ чудаков, которые периодически кричат о ненужности ООП по любому поводу.
Причина обращения: