Ошибки, баги, вопросы - страница 2636

 
Nikolai Semko:

Возможно удивлю Вас, но современные молодые программисты считают ООП более легким программированием по сравнению с процедурным. 

может по сравнению с функциональным?

 
Nikolai Semko:

Возможно удивлю Вас, но современные молодые программисты считают ООП более легким программированием по сравнению с процедурным. 

Вы мыслите категориями 25-летней давности. Современная молодежь ООП впитывает уже с молоком матери. Учите ООП, если хотите быть в тренде, а иначе удел один - ворчание.

Да я то понимаю ООП, не в том объеме конечно как хотелось бы.
Это не ворчание, а конструктивное предложение.
Чтобы разработчику не писать одну функцию, по выделению двух malloc, заставляют пользователей учить ООП.   
Это конечно ещё тот прогресс, развития и популяризации языка. Оно и видно как тут любят и понимают ООП.
Понимаешь Николай, всё что в обёртке, это лишний код на выполнение, думаю не нужно объяснять.
Про современные оптимизирующие компиляторы, тоже не нужно рассказывать, мы не знаем какие инструкции он применит.
Возможно и я вас удивлю, что даже американские программисты предпочитают писать в процедурном стиле, не потому что ООП плох, а потому что проще и быстрее получается код.
И если в проекте не стоит объектных задач, зачем использовать обёртки, которые нужно ещё как то понять, для молодежи ))
По этому не соглашусь с вами, что молодежь охотно впитывает ООП. 

Я мыслю языком Си, на котором и построена логика языка mql.
Язык Си рождён в 1972 году, так что получается что 48-летней давности ))  
Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.

 
Andrei Trukhanovich:

может по сравнению с функциональным?

Процедурно-функциональным :)

 
Petros Shatakhtsyan:

Думаю что это не то. Вот тут есть специальная тема : https://www.mql5.com/ru/forum/40295

Не посмотрел до конца, тем более что это для MQL4.

Я думаю что сервер не должен отправить котировки символа, если рынок закрыт

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

Но это мешает, если мы хотим в это время вручную совершить какие-то сделки. И если исполнение рыночное, то запрос висит, пока не откроется рынок и естественно исполняется с текущей цены.

Явно не хватает прямая функция, которая получила-бы имя символа и вернула true/false, (рынок открыт/закрыт).

Есть котировочная и торговая сессии. Ищите, все 20 раз разжевано.

 
Andrey Dik:

Просьба добавить ещё один значек, что то типа:

4. Деньги

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

Если так много и регулярно поступает, можно плагин к хрому заказать ;)

 
Andrey Khatimlianskii:

Есть котировочная и торговая сессии. Ищите, все 20 раз разжевано.

Мне потребовалось всего несколько дней чтобы из VC++ переходить на MQL5. И никогда, ничего так долго не искал.

Если во время торговли выдается сообщение "Market closed", то для определения этого состояния, надо иметь простой способ, а не писать "километровый" и сложный код.

И не надо мне давать  такие советы.

 
Andrei Trukhanovich:

может по сравнению с функциональным?

Смотрим википедию:

И выясняем, что оказывается это не одно и тоже. 


Так что все же процедурное...

 
Nikolai Semko:

Возможно удивлю Вас, но современные молодые программисты считают ООП более легким программированием по сравнению с процедурным. 

Вы мыслите категориями 25-летней давности. Современная молодежь ООП впитывает уже с молоком матери. Учите ООП, если хотите быть в тренде, а иначе удел один - ворчание.

А это действительно так и есть. Вот пусть старые программисты попробуют решать нынешние олимпиадные задачи для школьников.

То что ранее проходили в ВУЗ-ах, такие темы как динамическое программирование, теория графов, ООП, классы и т.д.  нынешние школьники 9-10 классов(не все конечно) такие задачи решают за считанные минуты.

И это закономерно. Закон природы :)

 
Roman:

Да я то понимаю ООП, не в том объеме конечно как хотелось бы.
Это не ворчание, а конструктивное предложение.
Чтобы разработчику не писать одну функцию, по выделению двух malloc, заставляют пользователей учить ООП.   
Это конечно ещё тот прогресс, развития и популяризации языка. Оно и видно как тут любят и понимают ООП.
Понимаешь Николай, всё что в обёртке, это лишний код на выполнение, думаю не нужно объяснять.
Про современные оптимизирующие компиляторы, тоже не нужно рассказывать, мы не знаем какие инструкции он применит.
Возможно и я вас удивлю, что даже американские программисты предпочитают писать в процедурном стиле, не потому что ООП плох, а потому что проще и быстрее получается код.
И если в проекте не стоит объектных задач, зачем использовать обёртки, которые нужно ещё как то понять, для молодежи ))
По этому не соглашусь с вами, что молодежь охотно впитывает ООП. 

Я мыслю языком Си, на котором и построена логика языка mql.
Язык Си рождён в 1972 году, так что получается что 48-летней давности ))  
Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.

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

https://www.tiobe.com/tiobe-index/

Роман, я, честно говоря, не понимаю почему Вы подняли волну по поводу изменения размерности матриц - какие могут быть сложности с этим.
Не нужны ни указатели, ни ООП для этого. 
Все равно для компьютера массив любой размерности - это одномерный массив. 
Вот и работайте с одномерным динамическим массивом. А матрицы формируйте виртуально и делайте ресайз как угодно через фукции. 
Например что-то типа:

double GetValFromMx(double &A, int x, int y, int SizeX, int SizeY) {
if (x<SizeX && y<SizeY) return A[y*SizeX+x];
else return EMPTY_VALUE; }

Сам на практике в коде использую только одномерные массивы, хотя и имею дело с многомерными на основе этих одномерных.

 
Roman:

По этому есть очевидная хотелочка, сделайте пожалуйста функции на подобие ArrayResize только для матриц ArrayResizeMx(A, n, m)

все сделано, не хотите готовые решения с помощью ООП (от Вас не требуется знание ООП, используйте готовое!)

используйте ALGLIB , там есть метод изменения размера матрицы Resize().... но все равно все выполнено с помощью ООП )))

ЗЫ: поиском по форуму, было много раз на эту тему общение, там и примеры были, можно структуру с полем массив, обернуть в массив таких структур - будет без ООП, но по моему громоздко все это выглядит

Roman:

Я мыслю языком Си, на котором и построена логика языка mql.

Язык Си рождён в 1972 году, так что получается что 48-летней давности ))  
Но как ни крути, Си один из быстрых языков. А знаете почему? Потому что в нём нет обёрток в виде классов.

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

ладно, холивар знатный может получиться, смысла нет продолжать