Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Кстати, по поводу опыта руководства. 5 лет назад мы спорили на форуме mql5 по поводу перспектив MT5, я тогда сказал, что время покажет. Прошло 5 лет, и мы видим, что сообщество отвергло MT5.
Я не перевожу, общие принципы, теория, - не для самой теории, а для применения на практике. Вы не найдёте таких серьёзных "огрехов" в тех же компиляторах C/C++.
Если вы говорите, что в данном случае "статический метод класса не имеет права лазать в содержимое класса", то почему при динамическом создании объекта он это право уже имеет?
Я говорил "перестарались с защитой, исправим". В теории условия звучат просто, а на практике static/dynamic реализации работают по разному, что приводит к расхождениям.
А как быть с тем, что точно так же себя ведёт и нестатический?
Правильно, это ошибки/недосмотр в компиляторе, который мы сами с нуля написали. Так что это обычный путь собирания граблей.
Тотальный контроль качества - это системный подход к работе над ошибками и явная нацеленность на их поиск. Именно этим мы и занимаемся. Вы же в противоположность заявляете, что вы против принуждения и не хотите жесткого контроля с помощью технических средств.
Дело не в нравится или не нравится. Есть инструмент. Почему я должен отказываться пользоваться всеми его возможностями?
В данном случае дело даже не в "мне нравится". Это, если уж на то пошло, Майерсу так нравится. И почему-то никто не пытается его обвинить в том, что он пытается "ставить заведомые подножки" компиляторам C++.
Это непростая задача, навскидку не решается. Тут усилия приложить надо и немалые. Пользователи MQL в подавляющем большинстве не являются программистами. И при проектировании языка это в существенной степени должно учитываться. Но задача, уверен, решаемая.
Если уж на то пошло, достаточно было добавить в старый MQL4 структуры, подчистить кое что, вроде приоритета операций, как это было сделано для MQL4++, - это был бы разумный компромисс. Успех MT4 в достаточной степени был обусловлен в том числе и отсутствием "навороченности" языка. Теперь это не так. И ошибок в реализации компилятора стало значительно больше, потому что MQL4++ намного сложнее старого MQL4, а команда разработчиков вряд ли сильно изменилась.
Вот здесь с вами согласен, но считаю, что это, в основном, из-за того, что конкуренты занимаются непонятно чем.
Мы 5 раз с нуля переписали 5 торговых платформ за последние 14 лет.
Это лучший способ создать что-то реально крутое, чем нагружать старого ослика падучими кирпичами. Поэтому и выпуск МТ5 и новый MQL5 дали нам огромное будущее еще на 10 лет вперед.
А вот те, кто сидит и пилит старый проект с мыслью "пусть синица в руках, главное что меня не уволят, если я начну новый и провалю его", теряют уважение руководства, их списывают в импотенты и они медленно уходят со сцены.
У вас недостаток информации. Мы никогда не афишируем базу своих клиентов и внедрения.
Я сужу по открытой информации и по поддержке предыдущей версии, то есть, MT4.
Когда появился MT4, MT3 довольно быстро перестал поддерживаться и предлагаться - все перешли на MT4. Для пары MT4 - MT5 такого не произошло, хотя сроки прошли немалые. И до сих пор наблюдается явный перекос в сторону MT4.
Вы даже обратное портирование наработок из MT5 в MT4 выполнили, включая компилятор. А из MT4 в MT3 разве что-то переносилось, да ещё и по прошествии 4-х лет после релиза?
И находили и даже репортили авторам о них.
Но есть разница: найти ошибку в современных компиляторах C/С++, наверное, в сотни, если не в тысячи раз сложнее, чем в MQL4++.
Я говорил "перестарались с защитой, исправим". В теории условия звучат просто, а на практике static/dynamic реализации работают по разному, что приводит к расхождениям.
То же самое, правило "приватный, значит приватный" пересилило нюанс "для конструктора/деструктора делаем исключение". Это поправим.
Правильно, это ошибки/недосмотр в компиляторе, который мы сами с нуля написали. Так что это обычный путь собирания граблей.
Тотальный контроль качества - это системный подход к работе над ошибками и явная нацеленность на их поиск. Именно этим мы и занимаемся.
Здесь достаточно применить обычные регрессионные тесты, к которым даже никакого особого "движка" не требуется. Есть контроль доступа в классах/структурах в языке - написать один раз тесты для него в виде компилируемых программ MQL. Некоторые должны успешно компилироваться, компиляция других должна завершаться с определённой ошибкой. Вот и весь тотальный контроль качества в этом конкретном месте. Правда, тесты, которые покроют всю функциональность контроля доступа, надо сначала написать...
Вы же в противоположность заявляете, что вы против принуждения и не хотите жесткого контроля с помощью технических средств.
Это - не в противоположность. По умолчанию можно было бы сделать так, чтобы в компиляторе MQL для программ MQL были включены и предупреждения, и то, что в некоторых компиляторах C++ называется ремарками. Я же "заявляю" только о том, что, по крайней мере, ремарки должны быть отключаемыми. В компиляторе MQL для программ MQL. А сейчас ничего отключить в этом смысле в компиляторе MQL4++ нельзя.
Контроля качества не хватает при реализации, в частности, самого компилятора MQL, раз в нём так легко обнаруживаются ошибки. При чём здесь жёсткий контроль качества программ MQL?
У нас есть хорошее объяснение - "это не С++ язык, а специализированный MQL4/MQL5. Поэтому мы не обязаны поддерживать все". Но в любом случае, поведение будет максимально сводить к привычном C/C++.
Отлично. Вы всё и не поддерживаете. Но то, что поддерживается, не должно содержать ошибок в таком количестве, да ещё и в простейших базовых конструкциях.
Контроль доступа к членам классов/структур поддерживаете? Поддерживайте безошибочно хотя бы все основные случаи в простейших базовых конструкциях.
Возьмём тот же контроль доступа - в простейших же базовых конструкциях:
Это компилируется без ошибок:
Однако, видим, что в C++ данный код не компилируется по двум причинам:
Класс B определён внутри класса A, поэтому на него следует ссылаться в OnStart() как A::B:
Но это ещё не всё, модифицированный код все равно не компилируется компилятором C++:
Почему-то контроль доступа в MQL4++, в целом, работает для методов и данных - членов класса, а для типов - нет.
При указании области видимости для класса B как A::B компилятор MQL4++ выдаёт следующие ошибки:
Это ещё почему "struct member undefined"?
И опять, компиляторы C++ как-то не имеют проблем и с типами внутри классов. А компилятор MQL4++ - имеет.
Данные ошибки были найдены случайно при попытке реализовать синглтон Майерса, никто за ошибками в данном случае специально не охотился. Часть ошибок была найдена мной, часть - другими участниками обсуждения. Это показывает, как легко наткнуться на ошибки реализации компилятора при программировании на MQL4++. И, чтобы наткнуться на ошибки, не надо ничего специально искать, достаточно просто пытаться решить задачу.
Подчеркну, что это всё - критичные ошибки для серьёзного использования MQL4++.
Очевидно, что регрессионных тестов упоминаемого выше мной типа хотя бы на простую проверку работоспособности хотя бы контроля доступа для проверки компилятора MQL4++ - нет. Иначе бы это всё было уже выявлено и исправлено.
Мы 5 раз с нуля переписали 5 торговых платформ за последние 14 лет.
Это лучший способ создать что-то реально крутое, чем нагружать старого ослика падучими кирпичами. Поэтому и выпуск МТ5 и новый MQL5 дали нам огромное будущее еще на 10 лет вперед.
А вот те, кто сидит и пилит старый проект с мыслью "пусть синица в руках, главное что меня не уволят, если я начну новый и провалю его", теряют уважение руководства, их списывают в импотенты и они медленно уходят со сцены.
Согласен, что активные действия с применением инновационного типа развития - наиважнейшая составляющая, но она - не единственная. И бочку мёда можно испортить ложкой дёгтя.
Одна из таких ложек дёгтя - явно недостаточное качество. Смысл в создании чего-либо на MQL пропадает из-за этого.
Я про SSE2, может не в тему, но тоже с удовольствием, чёт послушал.
А то один из компов, надо менять, не весь, но от темы отвлекает, не для разработки не заюзаеш, не для торговли, разве, что форум почитать.
Привет,форумчане!
я перехожу на МТ5 и хотел бы пару вопросов
задать павлику.
Павлик если увидиш то пошли весточку
r.klassen.ruit@web.de
pansa
Если у Вас имеется большая база индюков, сов и т.д, которые не компилятся в новых билдах, значит имеет смысл присмотреться и "перетряхнуть свой сундук". Оставить полезное, и не пожалеть времени переписать и отладить под новые билды.
В какой-то момент надоело)
Настоящие матёрые программисты или те кто хочет ими стать, всегда следуют за нововведениями, баги и глюки их хлеб. Именно написание кода без ошибок считается хорошим программированием. Если нет сил, времени, возможности или желания вникать во все нововведения "Метаквотов", пользуйтесь тем языком, коим владеете в совершенстве. DLL не отменили, подключайте свои отлаженные алгоритмы.
А настоящие трейдеры или те кто хочет ими стать за чем следуют? ) Доступный автотрейдинг, основная фишка МТ, - канул в лету и потерялся среди постоянных нововведених бесчисленных билдов... Вариантов автотрейдинга доступных через более серьезные подход к программированию, скажем так, - "есть". У самого на МТ остался лишь небольшой фактически забытый счет. Сегодня потратил 2 часа на реабилитации МТшных инструментов, судя по всему надо раз 10 больше. Не уверен, что оно мне надо, может еще поковыряюсь чуток, но скорее так "по старой памяти". В принципе, для себя я все решил.
Доступный автотрейдинг, основная фишка МТ, - канул в лету и потерялся среди постоянных нововведених бесчисленных билдов... Вариантов автотрейдинга доступных через более серьезные подход к программированию, скажем так, - "есть". У самого на МТ остался лишь небольшой фактически забытый счет. Сегодня потратил 2 часа на реабилитации МТшных инструментов, судя по всему надо раз 10 больше. Не уверен, что оно мне надо, может еще поковыряюсь чуток, но скорее так "по старой памяти". В принципе, для себя я все решил.
В какой-то момент надоело)
А кто-же виноват в том, что кто-то наплодил говнокода???
Figar0:
В принципе, для себя я все решил.Разве кто-то пытается удержать? Лассо накинули и держат???
А кто-же виноват в том, что кто-то наплодил говнокода???
При чем здесь говнокод? Поменялись некоторые фундаментальные вещи