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

 
Koldun Zloy:

Я не разработчик, но прокомментирую.

Для статического массива компилятор должен, уже при компиляции, выделить определённое количество байт в памяти.

Сколько памяти должен выделить компилятор, если row и col во время компиляции неизвестно?

Начальные значения используются только, если при вызове параметры опущены. Реальные параметры известны только во время выполнения.

Так что, никаких приколов, учите язык.

Рассуждения вслух, но скорее это обращение к разработчику.
По этому Zloy не принимайте на свой счёт.

Получается работа с динамическими матрицами возможна только через объекты или структуры. В общем очередной костыль получается.
Указателей на переменную в mql нет, остаётся использовать объектный подход, там указатели есть.
Получается чтобы использовать динамические матрицы, пользователю необходимо знать ООП и работу с указателями, да и ещё в исполнении MQL.
Многие такими знаниями владеют? Сами знаете ответ. Мне то разобраться с объектным подходом не составит труда, но для тех кто не владеет ООП
создаётся искусственный порог использования языка, в частности по работе с динамическим матрицами.
Как мне кажется, разработчик наоборот должен быть заинтересован в упрощении использования языка, а не его усложнение.
То есть разрабатывать такие функции, которые необходимы пользователю для удобной работы с языком.
А тем более с матрицами, чуть ли не основой численных методов.

По этому есть очевидная хотелочка, сделайте пожалуйста функции на подобие ArrayResize только для матриц ArrayResizeMx(A, n, m),
ну и для многомерных возможно. То есть дайте возможность работать с матрицами не как с объектами, а как с привычными массивами в стиле С.
Тем более для визуального отображения матриц, функция ArrayPrint(A, 0) печатает матрицу из массивов, а не из объекта.

 
Roman:

Еще в 2012 году проблема с динамическими многомерными массивами успешно решалась...
Вот соответствующая ветка: https://www.mql5.com/ru/forum/6729

Сейчас код можно доработать добавив поддержку шаблонов.

 
Sergey Dzyublik:

Еще в 2012 году проблема с динамическими многомерными массивами успешно решалась...
Вот соответствующая ветка: https://www.mql5.com/ru/forum/6729

Сейчас код можно доработать добавив поддержку шаблонов.

Прочитал всю тему, благо она коротенькая.
Так топик стартер, так и не раскрыл свой подвиг!
Какое то издевательство, затравил тему и исчез.
И это снова погружение в ООП, не посвященным вход воспрещен.
Юрий привел своё решение, на сколько оно верное, не кому не известно.
Которое нужно допиливать и допиливать. Кто это будет делать? правильно не кто, раз до сих пор не допилили колективом.

По этому нужны функции по работе с динамическими матрицами из коробки от разработчика.
Разработчик лучше знает тему, и выделение памяти без обёрток куда лучше смотрится и быстрее.
Да хотя бы одну функцию ArrayResizeMx(A, n, m, к), и то уже откроется возможность работать не с объектами, а с массивами в С стиле.

 
Roman:


И это снова погружение в ООП, не посвященным вход воспрещен.

Roman:


Получается чтобы использовать динамические матрицы, пользователю необходимо знать ООП и работу с указателями, да и ещё в исполнении MQL.
Многие такими знаниями владеют? Сами знаете ответ. Мне то разобраться с объектным подходом не составит труда, но для тех кто не владеет ООП
создаётся искусственный порог использования языка, в частности по работе с динамическим матрицами.
Как мне кажется, разработчик наоборот должен быть заинтересован в упрощении использования языка, а не его усложнение.

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

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

 
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", то для определения этого состояния, надо иметь простой способ, а не писать "километровый" и сложный код.

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

Причина обращения: