Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
если код не одностраничный, то классы всегда в Include описывают,
Можете дать пример такого инклудника с одним единственным классом. Пусть в нём будет всего 1 функция сложения 2 чисел.
Можете дать пример такого инклудника с одним единственным классом. Пусть в нём будет всего 1 функция сложения 2 чисел.
Как раз в одном файле *.mqh (инклуднике) желательно объявлять или только один класс (с данными и методами), или только функции. Поэтому можно написать так:
А затем подключив этот файл к основной программе использовать метод класса CSummator:
Но для такой задачи использовать класс нет необходимости, поскольку нам не нужно запоминать никакие значения, которые могут понадобится для последующих вызовов Sum(). Если каждый вызов функции использует только данные, передаваемые через параметры функции, то её нет необходимости делать методом какого-то класса. Поэтому вполне можно было обойтись таким включаемым файлом:
И использовать его так:
А вот если немного изменить задачу: написать функцию, которая возвращает кумулятивную сумму всех чисел, которые ей передавали, то уже появляется необходимость помнить последнюю вычисленную сумму, чтобы можно было найти следующую. Тут уже можно можно и класс написать:
И затем его использовать:
В конечном счёте желательно писать код так, чтобы можно было его эффективно повторно использовать и было проще его понять. У каждого тут могут быть свои предпочтения. Но практика показывает, что использование ООП позволит легче реализовать в коде более сложные вещи.
Приветствую! В индикаторе 6буферов
Чтобы найти пики и впадины двух из них, в сове делаю так
Получается шесть раз придется использовать ту же схему. Как это можно решить с ООП? Схематично хотя бы.
А у меня, с функциональным программированием, отдельный робот индивидуален и автономен. Есть какие-то общие функции, вынесенные в #include файл, все остальное в алгоритме свое. Есть к нему файл csv, содержащий символы для операций, необходимые наборы параметров и сохраняющий все необходимые для рестарта значения и немного аналитики результатов. Строк может быть любое количество. Каждая строка может быть отдельным алгоритмом или частью облака параметров для отдельного алгоритма или комбинацией этих вариантов.
А, ну и да, переделать тоже давно все хочется, но у меня для этого не хватает квалификации. А местные программисты почему-то считают, что более одного алгоритма на инструменте работать не может и так далее...Функциональное на императивном MQL5? Месье понимает толк в половых извращениях!
Функциональное на императивном MQL5? Месье понимает толк в половых извращениях!
Функциональное, процедурное - какая, хрен, разница ))
Функциональное, процедурное - какая, хрен, разница ))
Это как сказать:«Спать с бабой, мужиком, какая нахрен разница» )) Вот что ИИ написал, корректировать не стал, на 90% все верно.
MQL5 в первую очередь предназначен для императивного стиля программирования. Функциональный стиль программирования в MQL5 возможен, однако его реализация может быть ограничена и неудобна по сравнению с языками, специально предназначенными для функционального программирования, такими как F#.
Возможности функционального стиля в MQL5:
Ограничения и сложности:
Сравнение с F#:
F# — это функциональный язык программирования на платформе .NET, который активно использует концепции функционального программирования. В отличие от MQL5, F# обладает следующими преимуществами:
Заключение:
Хотя функциональный стиль программирования возможен в MQL5, его реализация будет ограниченной и неудобной. Для полноценного использования функционального стиля лучше выбрать специализированный язык, такой как F#, который предоставляет все необходимые механизмы и оптимизирован для этого подхода.
Это как сказать:«Спать с бабой, мужиком, какая нахрен разница» ))
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Бета-версия платформы MetaTrader 5 build 4695: расширение поддержки OpenBLAS и общая оптимизация работы
fxsaber, 2024.11.22 09:21
Кусок кода (см. вложение) для их вычисления привожу здесь, как пример реальной задачи, которая просто решается только через ООП.
Пример использования.
Результат.
Возможно, на такой реальной задаче можно будет лучше оценить удобство ООП.
ЗЫ Для решения своей ММ-задачи дальше наследовался от выложенного класса.
Мне нужно было вычислить данные активов (см. скрин) для одного алгоритма ММ.
Кусок кода (см. вложение) для их вычисления привожу здесь, как пример реальной задачи, которая просто решается только через ООП.
Пример использования.
Результат.
Возможно, на такой реальной задаче можно будет лучше оценить удобство ООП.
ЗЫ Для решения своей ММ-задачи дальше наследовался от выложенного класса.
Прикольная строка
Но 95% пацанов не поймет юмора с bool)))