Возможно удивлю Вас, но современные молодые программисты считают ООП более легким программированием по сравнению с процедурным.
Вы мыслите категориями 25-летней давности. Современная молодежь ООП впитывает уже с молоком матери. Учите ООП, если хотите быть в тренде, а иначе удел один - ворчание.
Да я то понимаю ООП, не в том объеме конечно как хотелось бы. Это не ворчание, а конструктивное предложение. Чтобы разработчику не писать одну функцию, по выделению двух malloc, заставляют пользователей учить ООП. Это конечно ещё тот прогресс, развития и популяризации языка. Оно и видно как тут любят и понимают ООП. Понимаешь Николай, всё что в обёртке, это лишний код на выполнение, думаю не нужно объяснять. Про современные оптимизирующие компиляторы, тоже не нужно рассказывать, мы не знаем какие инструкции он применит. Возможно и я вас удивлю, что даже американские программисты предпочитают писать в процедурном стиле, не потому что ООП плох, а потому что проще и быстрее получается код. И если в проекте не стоит объектных задач, зачем использовать обёртки, которые нужно ещё как то понять, для молодежи )) По этому не соглашусь с вами, что молодежь охотно впитывает ООП.
Я мыслю языком Си, на котором и построена логика языка mql. Язык Си рождён в 1972 году, так что получается что 48-летней давности )) Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.
Не посмотрел до конца, тем более что это для MQL4.
Я думаю что сервер не должен отправить котировки символа, если рынок закрыт.
На мой робот это не очень-то влияет, поскольку после "открытия" рынка, когда приходят тики, он анализирует тренд, их развороты, а для этого необходимо некоторое время. За это время рынок открывается.
Но это мешает, если мы хотим в это время вручную совершить какие-то сделки. И если исполнение рыночное, то запрос висит, пока не откроется рынок и естественно исполняется с текущей цены.
Явно не хватает прямая функция, которая получила-бы имя символа и вернула true/false, (рынок открыт/закрыт).
Есть котировочная и торговая сессии. Ищите, все 20 раз разжевано.
где отображалась бы сумма всех средств поступивших за день (маркет, фриланс и т.д.), будет очень удобно, а сейчас для этого нужно проходить в профиль, что бы увидеть доступный баланс.
Если так много и регулярно поступает, можно плагин к хрому заказать ;)
Есть котировочная и торговая сессии. Ищите, все 20 раз разжевано.
Мне потребовалось всего несколько дней чтобы из VC++ переходить на MQL5. И никогда, ничего так долго не искал.
Если во время торговли выдается сообщение "Market closed", то для определения этого состояния, надо иметь простой способ, а не писать "километровый" и сложный код.
Возможно удивлю Вас, но современные молодые программисты считают ООП более легким программированием по сравнению с процедурным.
Вы мыслите категориями 25-летней давности. Современная молодежь ООП впитывает уже с молоком матери. Учите ООП, если хотите быть в тренде, а иначе удел один - ворчание.
А это действительно так и есть. Вот пусть старые программисты попробуют решать нынешние олимпиадные задачи для школьников.
То что ранее проходили в ВУЗ-ах, такие темы как динамическое программирование, теория графов, ООП, классы и т.д. нынешние школьники 9-10 классов(не все конечно) такие задачи решают за считанные минуты.
Да я то понимаю ООП, не в том объеме конечно как хотелось бы. Это не ворчание, а конструктивное предложение. Чтобы разработчику не писать одну функцию, по выделению двух malloc, заставляют пользователей учить ООП. Это конечно ещё тот прогресс, развития и популяризации языка. Оно и видно как тут любят и понимают ООП. Понимаешь Николай, всё что в обёртке, это лишний код на выполнение, думаю не нужно объяснять. Про современные оптимизирующие компиляторы, тоже не нужно рассказывать, мы не знаем какие инструкции он применит. Возможно и я вас удивлю, что даже американские программисты предпочитают писать в процедурном стиле, не потому что ООП плох, а потому что проще и быстрее получается код. И если в проекте не стоит объектных задач, зачем использовать обёртки, которые нужно ещё как то понять, для молодежи )) По этому не соглашусь с вами, что молодежь охотно впитывает ООП.
Я мыслю языком Си, на котором и построена логика языка mql. Язык Си рождён в 1972 году, так что получается что 48-летней давности )) Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.
Ну это вовсе не так. Просто до сих пор много используется языков без ООП. Си например. В Канаде, например, большинство правительственных учереждений сидят на Коболе и никак слезть с него не могут.
Роман, я, честно говоря, не понимаю почему Вы подняли волну по поводу изменения размерности матриц - какие могут быть сложности с этим. Не нужны ни указатели, ни ООП для этого. Все равно для компьютера массив любой размерности - это одномерный массив. Вот и работайте с одномерным динамическим массивом. А матрицы формируйте виртуально и делайте ресайз как угодно через фукции. Например что-то типа:
double GetValFromMx(double &A, int x, int y, int SizeX, int SizeY) {
if (x<SizeX && y<SizeY) return A[y*SizeX+x];
elsereturnEMPTY_VALUE; }
Сам на практике в коде использую только одномерные массивы, хотя и имею дело с многомерными на основе этих одномерных.
По этому есть очевидная хотелочка, сделайте пожалуйста функции на подобие ArrayResize только для матриц ArrayResizeMx(A, n, m)
все сделано, не хотите готовые решения с помощью ООП (от Вас не требуется знание ООП, используйте готовое!)
используйте ALGLIB , там есть метод изменения размера матрицы Resize().... но все равно все выполнено с помощью ООП )))
ЗЫ: поиском по форуму, было много раз на эту тему общение, там и примеры были, можно структуру с полем массив, обернуть в массив таких структур - будет без ООП, но по моему громоздко все это выглядит
Roman:
Я мыслю языком Си, на котором и построена логика языка mql.
Язык Си рождён в 1972 году, так что получается что 48-летней давности )) Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.
я уже не помню чистый С, только в универе давно изучал, но если не ошибаюсь, то в С как раз и не было динамических массивов как таковых, но была возможность работать с указателями на память и поэтому работа по выделению памяти по контролю доступа к памяти лежала полностью на программисте, что по сути будет той же оберткой
ладно, холивар знатный может получиться, смысла нет продолжать
Возможно удивлю Вас, но современные молодые программисты считают ООП более легким программированием по сравнению с процедурным.
может по сравнению с функциональным?
Возможно удивлю Вас, но современные молодые программисты считают ООП более легким программированием по сравнению с процедурным.
Вы мыслите категориями 25-летней давности. Современная молодежь ООП впитывает уже с молоком матери. Учите ООП, если хотите быть в тренде, а иначе удел один - ворчание.
Да я то понимаю ООП, не в том объеме конечно как хотелось бы.
Это не ворчание, а конструктивное предложение.
Чтобы разработчику не писать одну функцию, по выделению двух malloc, заставляют пользователей учить ООП.
Это конечно ещё тот прогресс, развития и популяризации языка. Оно и видно как тут любят и понимают ООП.
Понимаешь Николай, всё что в обёртке, это лишний код на выполнение, думаю не нужно объяснять.
Про современные оптимизирующие компиляторы, тоже не нужно рассказывать, мы не знаем какие инструкции он применит.
Возможно и я вас удивлю, что даже американские программисты предпочитают писать в процедурном стиле, не потому что ООП плох, а потому что проще и быстрее получается код.
И если в проекте не стоит объектных задач, зачем использовать обёртки, которые нужно ещё как то понять, для молодежи ))
По этому не соглашусь с вами, что молодежь охотно впитывает ООП.
Я мыслю языком Си, на котором и построена логика языка mql.
Язык Си рождён в 1972 году, так что получается что 48-летней давности ))
Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.
может по сравнению с функциональным?
Процедурно-функциональным :)
Думаю что это не то. Вот тут есть специальная тема : https://www.mql5.com/ru/forum/40295
Не посмотрел до конца, тем более что это для MQL4.
Я думаю что сервер не должен отправить котировки символа, если рынок закрыт.
На мой робот это не очень-то влияет, поскольку после "открытия" рынка, когда приходят тики, он анализирует тренд, их развороты, а для этого необходимо некоторое время. За это время рынок открывается.
Но это мешает, если мы хотим в это время вручную совершить какие-то сделки. И если исполнение рыночное, то запрос висит, пока не откроется рынок и естественно исполняется с текущей цены.
Явно не хватает прямая функция, которая получила-бы имя символа и вернула true/false, (рынок открыт/закрыт).
Есть котировочная и торговая сессии. Ищите, все 20 раз разжевано.
Просьба добавить ещё один значек, что то типа:
4. Деньги
где отображалась бы сумма всех средств поступивших за день (маркет, фриланс и т.д.), будет очень удобно, а сейчас для этого нужно проходить в профиль, что бы увидеть доступный баланс.
Если так много и регулярно поступает, можно плагин к хрому заказать ;)
Есть котировочная и торговая сессии. Ищите, все 20 раз разжевано.
Мне потребовалось всего несколько дней чтобы из VC++ переходить на MQL5. И никогда, ничего так долго не искал.
Если во время торговли выдается сообщение "Market closed", то для определения этого состояния, надо иметь простой способ, а не писать "километровый" и сложный код.
И не надо мне давать такие советы.
может по сравнению с функциональным?
Смотрим википедию:
И выясняем, что оказывается это не одно и тоже.
Так что все же процедурное...
Возможно удивлю Вас, но современные молодые программисты считают ООП более легким программированием по сравнению с процедурным.
Вы мыслите категориями 25-летней давности. Современная молодежь ООП впитывает уже с молоком матери. Учите ООП, если хотите быть в тренде, а иначе удел один - ворчание.
А это действительно так и есть. Вот пусть старые программисты попробуют решать нынешние олимпиадные задачи для школьников.
То что ранее проходили в ВУЗ-ах, такие темы как динамическое программирование, теория графов, ООП, классы и т.д. нынешние школьники 9-10 классов(не все конечно) такие задачи решают за считанные минуты.
И это закономерно. Закон природы :)
Да я то понимаю ООП, не в том объеме конечно как хотелось бы.
Это не ворчание, а конструктивное предложение.
Чтобы разработчику не писать одну функцию, по выделению двух malloc, заставляют пользователей учить ООП.
Это конечно ещё тот прогресс, развития и популяризации языка. Оно и видно как тут любят и понимают ООП.
Понимаешь Николай, всё что в обёртке, это лишний код на выполнение, думаю не нужно объяснять.
Про современные оптимизирующие компиляторы, тоже не нужно рассказывать, мы не знаем какие инструкции он применит.
Возможно и я вас удивлю, что даже американские программисты предпочитают писать в процедурном стиле, не потому что ООП плох, а потому что проще и быстрее получается код.
И если в проекте не стоит объектных задач, зачем использовать обёртки, которые нужно ещё как то понять, для молодежи ))
По этому не соглашусь с вами, что молодежь охотно впитывает ООП.
Я мыслю языком Си, на котором и построена логика языка mql.
Язык Си рождён в 1972 году, так что получается что 48-летней давности ))
Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.
Ну это вовсе не так. Просто до сих пор много используется языков без ООП. Си например. В Канаде, например, большинство правительственных учереждений сидят на Коболе и никак слезть с него не могут.
https://www.tiobe.com/tiobe-index/
Роман, я, честно говоря, не понимаю почему Вы подняли волну по поводу изменения размерности матриц - какие могут быть сложности с этим.
Не нужны ни указатели, ни ООП для этого.
Все равно для компьютера массив любой размерности - это одномерный массив.
Вот и работайте с одномерным динамическим массивом. А матрицы формируйте виртуально и делайте ресайз как угодно через фукции.
Например что-то типа:
Сам на практике в коде использую только одномерные массивы, хотя и имею дело с многомерными на основе этих одномерных.
По этому есть очевидная хотелочка, сделайте пожалуйста функции на подобие ArrayResize только для матриц ArrayResizeMx(A, n, m)
все сделано, не хотите готовые решения с помощью ООП (от Вас не требуется знание ООП, используйте готовое!)
используйте ALGLIB , там есть метод изменения размера матрицы Resize().... но все равно все выполнено с помощью ООП )))
ЗЫ: поиском по форуму, было много раз на эту тему общение, там и примеры были, можно структуру с полем массив, обернуть в массив таких структур - будет без ООП, но по моему громоздко все это выглядит
Я мыслю языком Си, на котором и построена логика языка mql.
Язык Си рождён в 1972 году, так что получается что 48-летней давности ))
Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.
я уже не помню чистый С, только в универе давно изучал, но если не ошибаюсь, то в С как раз и не было динамических массивов как таковых, но была возможность работать с указателями на память и поэтому работа по выделению памяти по контролю доступа к памяти лежала полностью на программисте, что по сути будет той же оберткой
ладно, холивар знатный может получиться, смысла нет продолжать