При проведении тестирования эксперта, система обрабатывает весь диапазон дат, независимо от результатов каждой конкретной итерации. Для оптимизации процесса можно внедрить переменную, ограничивающую потери, что позволит при достижении критического уровня остановить текущую итерацию с помощью функции ExpertRemove(). Это прерывает дальнейшее тестирование, сохраняя статистику и результаты, что экономит время.
Для этого в код вводится специальная переменная, например, минимальный уровень свободных средств. В блоке OnTick() происходит мониторинг данного параметра. Если свободные средства падают ниже заданного уровня, функция ExpertRemove() прекращает тестирование итерации. Это эффективно сокращает время за счет прерывания заведомо неудачных итераций.
Предоставленные тесты показывают существенное сокращение времени тестирования: без функции обработка неудачной итерации занимает около 20 с...
Читать далее...
Для этого в код вводится специальная переменная, например, минимальный уровень свободных средств. В блоке OnTick() происходит мониторинг данного параметра. Если свободные средства падают ниже заданного уровня, функция ExpertRemove() прекращает тестирование итерации. Это эффективно сокращает время за счет прерывания заведомо неудачных итераций.
Предоставленные тесты показывают существенное сокращение времени тестирования: без функции обработка неудачной итерации занимает около 20 с...
Читать далее...
❤4
В статье рассматривается интеграция систем репликации на платформе MetaTrader 5. Основное внимание уделяется обмену сообщениями между программами, что позволяет создавать более модульные и комплексные системы. Обсуждается использование функций, таких как OnChartEvent и EventChartCustom, для обработки и передачи пользовательских сообщений, что влечет за собой потенциальные вызовы при совместной работе нескольких программ. Статья показывает, как правильно использовать эти возможности для повышения совместимости торговых приложений, акцентируя внимание на важности тестирования и совместимости в контексте общей торговой экосистемы. Описаны плюсы и риски интеграции пользовательских событий, важные для программистов.
Читать далее...
Читать далее...
👌2✍1
В статье рассматривается совершенствование автоматизации в подборе алгоритмов для MetaTrader 5. Изначально процесс основан на ручном анализе, но авторы предлагают более эффективный метод с использованием кластеризации, чтобы улучшить результаты торгов и ускорить процесс оптимизации. Кластеризация выполняется через Python и библиотеку scikit-learn (K-Means), однако интеграция Python в MQL5 требует дополнительных шагов. Предложенные решения включают запуск программ на Python из MQL5 с помощью системных функций или с использованием веб-запросов. Это обеспечивает большую гибкость и упрощает создание комплексных автоматических процессов для улучшения торговых стратегий.
Читать далее...
Читать далее...
❤3👍1🏆1
В предыдущей статье обсуждались аспекты летнего времени и создание базы данных для тестирования на истории. Теперь сосредоточимся на внесении изменений в код с использованием наследования. Это упростит базу данных и добавит управление рисками с вариациями профилей.
Наследование в ООП позволяет подклассам использовать свойства и методы базового класса, сокращая дублирование и упрощая архитектуру. Модификаторы доступа, такие как Public, Private и Protected, определяют уровень доступа к членам класса.
Пример с MQL5 демонстрирует наследование через классы UnitedStates и Switzerland от NewsData. Вводятся структуры перехода на летнее время, оптимизированные через классы CDaylightSavings.
Класс символов устраняет избыточность, предоставляя функции для получения различных свойств символов, от цены до режима торговли.
Читать далее...
Наследование в ООП позволяет подклассам использовать свойства и методы базового класса, сокращая дублирование и упрощая архитектуру. Модификаторы доступа, такие как Public, Private и Protected, определяют уровень доступа к членам класса.
Пример с MQL5 демонстрирует наследование через классы UnitedStates и Switzerland от NewsData. Вводятся структуры перехода на летнее время, оптимизированные через классы CDaylightSavings.
Класс символов устраняет избыточность, предоставляя функции для получения различных свойств символов, от цены до режима торговли.
Читать далее...
👍2❤1✍1
ALGLIB — мощная библиотека для численного анализа и оптимизации, доступная в MetaTrader 5. Она предлагает методы, такие как BLEIC и L-BFGS, которые решают задачи оптимизации с учетом ограничений. BLEIC использует активные множества для задач с равенствами и неравенствами, эффективно перемещая решение по допустимому множеству, тогда как L-BFGS, квазиньютоновский метод, оптимизирует задачи с большим числом переменных, используя лишь ограниченную память. Эти методы автоматизируют вычисление численных градиентов, критически важное для приложений в трейдинге, упрощая разработчикам создание и тестирование торговых систем.
Читать далее...
Читать далее...
👍5🔥2❤1👏1🏆1👀1
Библиотека для трейдинга с визуализацией цвета предоставляет улучшенные возможности цветового отображения на основе цветового пространства OKhsl. Структура OKhsl используется для более точного представления цветов, что особенно полезно при создании тепловых карт. Категории: оттенок, насыщенность и яркость. Значения оттенков варьируются от 0 до 360, насыщенность и яркость — от 0 до 100.
Функция GetGradientValue() позволяет определить цвет в градиенте для определенного значения. Параметры включают начальный и конечный цвета градиента, а также соответствующие им числовые значения. Функция возвращает цвет для заданного числового значения в том же формате. major_arc задает тип дуги изменения оттенка.
Функция GetGradientValues() работает с массивами, преобразуя числовые значения в соответствующие цвета. Результат записывается в массив colors_output[]. Функция возвращает количество элемент...
Читать далее...
Функция GetGradientValue() позволяет определить цвет в градиенте для определенного значения. Параметры включают начальный и конечный цвета градиента, а также соответствующие им числовые значения. Функция возвращает цвет для заданного числового значения в том же формате. major_arc задает тип дуги изменения оттенка.
Функция GetGradientValues() работает с массивами, преобразуя числовые значения в соответствующие цвета. Результат записывается в массив colors_output[]. Функция возвращает количество элемент...
Читать далее...
❤1✍1👍1
STNN предлагает современный подход к прогнозированию временных рядов с помощью моделирования взаимосвязей многомерных данных. Метод использует уравнение преобразования STI и архитектуру Transformer для преобразования пространственной информации в временную эволюцию целевой переменной. Это эффективно решает проблему краткосрочных данных. Авторы внедрили механизмы непрерывного внимания для улучшения точности, объединив пространственную и временную структуры Self-Attention. Важность этого решения заключается в его способности реконструировать фазовое пространство, улучшая краткосрочные прогнозы. Метод STNN показывает потенциал интеграции в MQL5 для торговых стратегий, предлагая уникальные преимущества в алгоритмическом трейдинге.
Читать далее...
Читать далее...
👍1🎉1
Цветовые пространства OKhsl и OKhsv обеспечивают перцептивную единообразность, оптимизируя восприятие цвета человеческим глазом. Эти пространства поддерживают создание градиентов с плавными переходами и палитр с равномерной насыщенностью и яркостью. В отличие от HSL, OKhsl и OKhsv улучшили обработку цветовых переходов и восприятие.
Библиотека OK Color Space предлагает функции для конвертации между различными цветовыми пространствами, включая OKhsl и OKhsv. Диапазоны значений для оттенка составляют 0-360, а для насыщенности и яркости - 0-100. Обновления включают исправление ошибки в конвертации серого цвета и новый инструмент UI Palette для работы с цветовыми палитрами. UI Palette позволяет удалять, сохранять и переименовывать палитры, а также добавлять новые цвета для более гибкой работы с цветом.
Читать далее...
Библиотека OK Color Space предлагает функции для конвертации между различными цветовыми пространствами, включая OKhsl и OKhsv. Диапазоны значений для оттенка составляют 0-360, а для насыщенности и яркости - 0-100. Обновления включают исправление ошибки в конвертации серого цвета и новый инструмент UI Palette для работы с цветовыми палитрами. UI Palette позволяет удалять, сохранять и переименовывать палитры, а также добавлять новые цвета для более гибкой работы с цветом.
Читать далее...
❤1👍1
Алгоритмическая торговля: изучаем объяснимый ИИ и как он может помочь понять работу сложных моделей. Сложность современных алгоритмов и объем данных делает знание внутренней логики критически важным для доверия к прогнозам и получению прибыльных стратегий. В статье описаны методы глобальных и локальных объяснений, выясняющих значимость различных признаков. Глобальные методы, как важность перестановок, предоставляют общее представление о модели, тогда как локальные, такие как LIME, показывают влияние признаков на конкретные прогнозы. Различие в объяснителях "черного ящика" и специализированных для определенных моделей подчеркивает важность выбора подходящего инструмента для анализа.
Читать далее...
Читать далее...
👍3👨💻2
Информация для разработчиков. При публикации скриптов или экспертов всегда важно детально описать вложенные идеи и интерпретацию показаний индикаторов. Определите внешние переменные для лучшего понимания настройки и использования кода. Если выкладывается эксперт, укажите рекомендуемые финансовые инструменты и таймфреймы. Если речь идет об включаемом файле, обозначьте его назначение, будь то трейлинг или вычисление объема позиции.
Важно: графики и иллюстрации создавайте в черно-белой гамме, чтобы упростить распечатку. Используйте именование файлов на английском языке, например, research.mq5 вместо issledovanie.mq5.
Для успешной интеграции и использования систем, сопровождайте публикации осмысленными именами и кратким пояснением, которое поможет пользователям быстрее ориентироваться в коде. Это повысит практическую ценность вашего материала.
Читать далее...
Важно: графики и иллюстрации создавайте в черно-белой гамме, чтобы упростить распечатку. Используйте именование файлов на английском языке, например, research.mq5 вместо issledovanie.mq5.
Для успешной интеграции и использования систем, сопровождайте публикации осмысленными именами и кратким пояснением, которое поможет пользователям быстрее ориентироваться в коде. Это повысит практическую ценность вашего материала.
Читать далее...
👍3
В статье рассматривается усовершенствованный риск-менеджер для MetaTrader 5, позволяющий контролировать и адаптировать размеры позиций. В числе новшеств - плавное изменение позиций при достижении половины лимита и восстановление объемов позиций. Также добавлена оценка максимальной прибыли с остановкой торговли, что актуально для проп-трейдинга. Этот подход улучшает контроль убытков и адаптацию стратегий в зависимости от рыночных условий, включая настройку лимитов убытков от последних пиковых баланс. Эти улучшения предлагают эффективные инструменты для повышения безопасности торговли и минимизации рисков для разработчиков и трейдеров.
Читать далее...
Читать далее...
🔥2👍1
На странице обсуждаются различные методы средних скользящих, доступные для использования в торговых стратегиях. Среди них: простая (SMA), экспоненциальная (EMA), линейно-взвешенная (LWMA), и много других, таких как Hull (HMA) и тройная экспоненциальная (TEMA) средние. Кроме того, упоминаются методы на основе работ Джона Элерса, включая фильтры Laguerre и Butterworth.
Методы способствуют более точному определению тенденций рынка. Настройки включают выбор цены (например, закрытие или открытие), периода усреднения, сдвиг и цветовые индикации. Инструменты уведомлений о смене тренда предлагают возможности звуковых оповещений, электронных писем и пуш-уведомлений.
Эти возможности помогают адаптировать индикаторы к индивидуальным требованиям трейдинга, улучшая точность и информативность анализа.
Читать далее...
Методы способствуют более точному определению тенденций рынка. Настройки включают выбор цены (например, закрытие или открытие), периода усреднения, сдвиг и цветовые индикации. Инструменты уведомлений о смене тренда предлагают возможности звуковых оповещений, электронных писем и пуш-уведомлений.
Эти возможности помогают адаптировать индикаторы к индивидуальным требованиям трейдинга, улучшая точность и информативность анализа.
Читать далее...
✍3❤2👍1🏆1
Разработка системы репликации в MQL5 для MetaTrader 5 выходит на новый уровень. Переход к модульной архитектуре позволяет улучшить взаимодействие между приложениями, работающими внутри платформы. Индикатор мыши получает обновления, которые поддерживают гибкость и корректность обработки сообщений. Глобальные переменные заменяются более локальными решениями, что способствует повышенной эффективности и управляемости кода. Эти изменения помогут разработчикам создавать более интегрированные и сложные торговые стратегии, используя продвинутые возможности MetaTrader 5. Разбирайтесь в механизмах межпроцессного взаимодействия и оптимизируйте свои приложения для более слаженной работы внутри экосистемы MT5.
Читать далее...
Читать далее...
✍1👍1
Современное обучение представления графов, широко используемое для задач кластеризации и классификации, сталкивается с ограничениями масштабируемости и чрезмерного сглаживания при увеличении слоев в традиционных методах, таких как GCN. Авторы нового подхода NAFS предложили метод адаптивного сглаживания признаков узлов, который использует информацию как низкого, так и высокого порядка для создания более выразительных эмбеддингов. Это позволяет значительно снизить затраты на обучение и улучшить масштабируемость для больших графов.
Многие методы ранее предлагали разделять процессы сглаживания и преобразования признаков в GCN. В NAFS применяется адаптивное сглаживание, основывающееся на локальных характеристиках каждого узла, что обеспечивает более точное и оптимальное представление. Это достигается без необходимости обучения, что снижает вычислительные затраты.
На практике NAFS реализу...
Читать далее...
Многие методы ранее предлагали разделять процессы сглаживания и преобразования признаков в GCN. В NAFS применяется адаптивное сглаживание, основывающееся на локальных характеристиках каждого узла, что обеспечивает более точное и оптимальное представление. Это достигается без необходимости обучения, что снижает вычислительные затраты.
На практике NAFS реализу...
Читать далее...
👍4❤1
Индикатор предназначен для поиска на ценовых графиках свечей, размер которых превышает заданный в настройках уровень. Предоставляется возможность выбора единиц измерения: пункты или проценты. В случае пунктов расчет производится в пунктах, причем для пятизначной котировки пункт составляет 0.00001. При выборе процентов размер свечи рассчитывается в процентах.
Пользователю предлагается выбрать, между какими уровнями производить измерение. Доступны варианты: между максимумом и минимумом свечи (High/Low), между ценой открытия и закрытия (Open/Close), размер верхней тени (Upper Shadow) и размер нижней тени (Lower Shadow).
Задайте нужный уровень размера свечи через параметр Size Definitions. При обнаружении такой свечи индикатор отметит её в соответствии с выбранными настройками.
Читать далее...
Пользователю предлагается выбрать, между какими уровнями производить измерение. Доступны варианты: между максимумом и минимумом свечи (High/Low), между ценой открытия и закрытия (Open/Close), размер верхней тени (Upper Shadow) и размер нижней тени (Lower Shadow).
Задайте нужный уровень размера свечи через параметр Size Definitions. При обнаружении такой свечи индикатор отметит её в соответствии с выбранными настройками.
Читать далее...
В статье рассматривается использование условных генеративно-состязательных сетей (cGAN) для прогнозирования финансовых временных рядов в MetaTrader 5. В отличие от обычных GAN, cGAN обучается на стабильных данных, что позволяет более точно генерировать прогнозы. Основное внимание уделяется созданию модели cGAN с использованием MQL5, комбинируя многослойный перцептрон для построения генератора и дискриминатора. Архитектура сети, включая слои и функции, ориентирована на прогнозирование изменений цен. В процессе обучения дискриминатор проверяет, насколько правдоподобны выходы генератора, что усиливает точность предсказаний, обеспечивая надежный инструмент для трейдеров и разработчиков.
Читать далее...
Читать далее...
✍1
Исследование методов оптимизации из ALGLIB продолжено. Рассмотрим методы BC, NLC и LM в среде MetaTrader 5. BC (Box Constrained) оптимизирует функции при боксовых ограничениях, что позволяет быстрее решать задачи большого масштаба. Для алгоритма важно корректно задавать стартовую точку и диапазоны параметров. NLC использует алгоритмы, учитывающие линейные и нелинейные ограничения, с выбором решателей SQP, AUL или SLP в зависимости от сложности задачи. LM, объединяющий методы градиентного спуска и Гаусса-Ньютона, полезен в задачах параболической формы, но требует хорошего начального приближения. Результаты применения методов оцениваются по количеству запусков фитнес-функции.
Читать далее...
Читать далее...
🔥4👏2❤1
Функция исполнения ONNX-модели требует определения размеров для входных и выходных данных. Для задания размеров используются функции OnnxSetInputShape и OnnxSetOutputShape. Не все модели имеют фиксированные размеры для входов и выходов. Если размеры не указаны, скрипт отобразит значение -1. Выбор модели осуществляется через функцию FileSelectDialog в директории MQL5\Files. Пример использования скрипта представлен ниже. Такой подход обеспечивает гибкость, позволяя использовать модели с динамическими размерами входа и выхода при их отсутствии в спецификации. Особенно полезно это при работе с множественными ONNX-моделями, где важно соблюдение параметров.
Читать далее...
Читать далее...
✍2👍1
Статья на mql5.com предлагает решение задачи создания информационной панели для MetaTrader 5. Эта панель отображает торговую историю и статистику по символам и магикам, упрощая работу трейдерам и разработчикам. Ключевые технические аспекты включают использование безбуферного индикатора и базы данных SQLite для сортировки и организации данных. Интерактивные функции, такие как прокрутка таблиц и выбор элементов через мышь, повышают удобство работы. Благодаря продуманной архитектуре, проект демонстрирует, как адаптировать обучающие материалы к реальным задачам алготрейдинга, повышая универсальность и функциональность торговых систем.
Читать далее...
Читать далее...
🔥3👍1
В MetaTrader 5 доступно множество индикаторов для оценки и предсказания рынка:
✓ 38 технических и 12 дополнительных, добавленных в версии 4230
✓ Тысячи пользовательских в бесплатной Библиотеке
✓ Тысячи приложений от профессиональных разработчиков в Маркете
Чтобы разобраться, как именно работают индикаторы, какие сигналы они дают и как их использовать, участники сообщества алготрейдеров создали огромное обсуждение на форуме. В нем они делятся собственным опытом, показывают примеры рыночных ситуаций и вспомогательной разметки при помощи аналитических объектов.
Присоединяйтесь к дискуссии и получайте новые знания
✓ 38 технических и 12 дополнительных, добавленных в версии 4230
✓ Тысячи пользовательских в бесплатной Библиотеке
✓ Тысячи приложений от профессиональных разработчиков в Маркете
Чтобы разобраться, как именно работают индикаторы, какие сигналы они дают и как их использовать, участники сообщества алготрейдеров создали огромное обсуждение на форуме. В нем они делятся собственным опытом, показывают примеры рыночных ситуаций и вспомогательной разметки при помощи аналитических объектов.
Присоединяйтесь к дискуссии и получайте новые знания
🔥4👍3🤓1
Данный индикатор предназначен для анализа часовых свечей на основе фактического и расчетного диапазонов. Он позволяет пользователю видеть изменение диапазона свечей в процентах, опираясь на средние статистические данные. Основными параметрами, управляющими работой индикатора, являются:
- Averaging Period: количество баров, используемых для усреднения.
- Number Of Bars For Statistics: определяет объём исторических данных для сбора статистики.
- Shifting Start Of Statistics Calculation: позволяет установить, с какого бара начинается сбор статистики, исключая влияние последних данных.
- Histogram Size и Line Size: отвечают за визуальные настройки гистограммы и линии.
- Histogram Color и Line Color: позволяют менять цвета элементов графического интерфейса.
Визуализация включает гистограмму для фактического диапазона и линию для расчетного диапазона. Работает исключительно на часовом гр...
Читать далее...
- Averaging Period: количество баров, используемых для усреднения.
- Number Of Bars For Statistics: определяет объём исторических данных для сбора статистики.
- Shifting Start Of Statistics Calculation: позволяет установить, с какого бара начинается сбор статистики, исключая влияние последних данных.
- Histogram Size и Line Size: отвечают за визуальные настройки гистограммы и линии.
- Histogram Color и Line Color: позволяют менять цвета элементов графического интерфейса.
Визуализация включает гистограмму для фактического диапазона и линию для расчетного диапазона. Работает исключительно на часовом гр...
Читать далее...
❤3👍3✍1