MQL5 Алготрейдинг
12.8K subscribers
1.21K photos
1.21K links
Лучшие публикации самого большого общества алготрейдеров.

Подпишись, чтобы быть в курсе современных технологий и развития торговых систем.
Download Telegram
Статья посвящена применению архитектуры MVC в создании модели таблицы с использованием MQL5. MVC помогает разделить код на модель, представление и контроллер, что упрощает разработку и поддержку. Это особенно важно в сложных приложениях, таких как торговые платформы MetaTrader 5. Для реализации таблицы используются классы для ячеек, строк и модели таблицы, построенных на связанных списках из стандартной библиотеки MQL5. Подход позволяет эффективно управлять данными и взаимодействовать с ними, обеспечивая гибкость и структурированность кода. Показаны методы работы с таблицами, включая добавление, удаление и перемещение элементов.

Читать далее...
👌4
Спред формируется из разности котировок двух финансовых инструментов. Если движение котировок указывает на обратную корреляцию, следует инвертировать второй инструмент. Спред в таком случае рассчитывается через сумму цен, а инверсия затрагивает только второй инструмент.

Работа с индикатором спреда требует, чтобы оба символа котировались в течение торговых сессий. Допустимо использование индикатора для работы во флете: при росте спреда — продажа, при падении — покупка. Индикатор позволяет учитывать поддержку и сопротивление, а также наклонные линии на графике спреда.

Код снабжен комментариями для упрощения анализа. Индикатор устанавливается на первый символ. Используем переменные для округления, обеспечивая простоту оценки уровней. Спред аналитики допускает множество интерпретаций и применений, включая трендовую и сезонную торгoвлю. Примером является использование пары AUDUSD-USDCAD ...

Читать далее...
👍1
В статье обсуждается использование функции WebRequest в MQL5 для выполнения HTTP-запросов в MetaTrader 5. Этот важный инструмент позволяет взаимодействовать с внешними серверами, API и получать данные, что критично для современных алгоритмических торговых стратегий. WebRequest требует тщательной настройки параметров, включая формирование корректных HTTP-заголовков, обработку форматов данных и настройку времени ожидания. Это делает функцию сложной для новичков, но столь же мощной при правильном использовании. Будущие статьи представят библиотеку Connexus, упрощающую работу с HTTP-запросами и устраняющую ограничения текущих инструментов MQL5.

Читать далее...
211👀1
Скрипт предназначен для загрузки исторических данных в формате CSV с биржи Binance в пользовательский символ платформы Metatrader 5. Данный процесс актуален при сложности или нежелательности использования API. Скрипт не поддерживает синхронизацию в реальном времени - только разовую загрузку исторических данных.

Данные могут быть тиковыми или баровыми. Значение параметра tickmode определяет тип данных: true для тиков, false для баров. Необходимо заранее создать пользовательский символ в Metatrader 5 с корректными настройками. Формат данных и информация о загрузке доступны на GitHub и сайте Binance.

Скрипт поддерживает разрядку тиковых данных для уменьшения объема. Это достигается за счет игнорирования микро-колебаний, объем которых затем суммируется до значительных изменений. Для загрузки данных следует использовать minute (M1) баровые данные при необходимости и учитывать возможные о...

Читать далее...
1
Начало анализа временных рядов часто сопряжено с проблемой нестационарности. В финансовой аналитике применяют преобразование через первые разности логарифмов цен для достижения стационарности. Однако, вопрос об устойчивости таких преобразований требует внимательного рассмотрения.

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

Проверка гипотезы однородности и критерий Смирнова служат инструментами для оценки статуса временных рядов и могут подтвердить или опровергнуть предположения о стационарности.

Читать далее...
🏆2
На младших таймфреймах часто возникает необходимость учитывать сигналы со старших временных периодов. Инструмент, демонстрирующий модель поглощения, разработан специально для отображения этих паттернов. Индикатор позволяет анализировать рыночные движения, совмещая данные различных таймфреймов, что обеспечивает более полное понимание общей рыночной картины. Такой подход помогает увеличить точность и обоснованность при принятии торговых решений. Понимание взаимодействия между временными периодами может значительно улучшить стратегию торговли, обеспечивая более уверенную навигацию по сложившейся рыночной динамике.

Читать далее...
👍2
Опытные разработчики MetaTrader 5 и новички в алгоритмической торговле! Занимаясь сложным проектом, ключевым моментом становится контроль версий. Переход на GIT в MetaEditor обещает значительные улучшения. Вместо использования SVN, теперь возможна работа с параллельными ветвями кода, что открывает новые горизонты для разработки. Создание отдельных репозиториев или веток для разных проектов позволит улучшить организацию и управление кодом. Тщательно выполняйте шаги по клонированию репозитория и настройке игнорирования файлов, чтобы оптимизировать рабочие процессы. Это значительный шаг к улучшению разработки в MetaTrader 5.

Читать далее...
👌31
Кооперативное мультиагентное обучение с подкреплением (MARL) стало актуальным благодаря его применению в различных сферах: от игр и транспорта до финансовых рынков. Однако возникают сложности, связанные с адаптацией к изменяющимся условиям. Исследователи начали использовать архитектуру по типу Transformer для гибкой адаптации моделей к новым задачам. Это позволило создавать универсальные кооперативные паттерны поведения. Важную роль играет фреймворк HiSSD, который позволяет параллельно изучать общие и специфические навыки. Он обеспечивает проверенное кооперативное поведение агентов в неизвестных условиях без жёстких ограничений и централизованного управления.

Читать далее...
👍4👌21
В статье подробно изложено, как улучшить Telegram-бота на MetaTrader 5 с использованием встроенных кнопок. Эти кнопки позволяют взаимодействовать с пользователями более интуитивно и эффективно, интегрируясь прямо в сообщения и предлагая динамические ответы. Рассмотрены шаги по интеграции этих кнопок в MQL5 и обработке запросов обратного вызова. Созданы классы для управления данными, связанными с сообщениями и кнопками, и описан процесс получения обновлений чата через API Telegram. Эти улучшения не только повышают интерактивность, но и упрощают интерфейс для пользователей, делая взаимодействие с ботом более плавным.

Читать далее...
👍421🔥1
Разработка индикатора с двумя стохастическими осцилляторами, "быстрым" и "медленным", в одном окне позволяет более детально наблюдать за поведением цен. Основной фокус на линиях 'Main', между которыми выполняется заливка областей для удобства анализа. Применение различных уровней, выносимых во входные параметры, предоставляет гибкость в работе при программировании торговых систем и тестировании стратегий. На графике пересечения обеих линий и уровней служат ключевыми сигналами, но необходимо учитывать данные второй линии, чтобы сделать обоснованные заключения о предстоящих движениях. Этот подход открывает новые возможности в точной настройке торговых алгоритмов.

Читать далее...
1
Полосы Боллинджера, разработанные Джоном Боллинджером, служат ключевым инструментом для оценки рыночной волатильности и выявления потенциалов разворотов. Они динамически интерпретируют рынок, указывая на уровни поддержки и сопротивления, что позволяет трейдерам прогнозировать прорывы и консолидации цен. В статье предлагается интеграция сигналов полос в пользовательские классы, что оптимизирует стратегии и минимизирует время на тестирование. Восемь паттернов сигналов помогают трейдерам точно настроить свои алгоритмы торговли. Предложенные методы могут улучшить точность и эффективность торговых стратегий на основе MetaTrader 5.

Читать далее...
22👀1
В статье обсуждается создание торговых систем с учетом направленности трендов, вместо симметричного подхода к сделкам на покупку и продажу. При помощи машинного обучения, предлагается адаптировать стратегии для торговли в одном направлении - на покупку или продажу, что особенно актуально для активов с ярко выраженными трендами, таких как криптовалюты или определенные металлы. Подробно рассматриваются методы причинно-следственного анализа, разработка сэмплера сделок и тестера стратегий, а также использование мета-лернеров для эффективной классификации сигналов и улучшения предсказательной способности торговых систем.

Читать далее...
👍3👀1
Статья освещает уникальный подход к локальному выбору признаков, необходимому для создания прогнозных моделей в меняющихся рыночных условиях. В отличие от традиционных методов, алгоритм Local Feature Selection (LFS) фокусируется на выявлении подмножеств признаков для конкретных локальных областей данных, что особенно полезно при обработке нестационарных данных. Кластеризация по классам и использование адаптивных весов в LFS позволяет значительно улучшить классификацию, минимизируя внутриклассовые расстояния и максимизируя межклассовые. Этот рациональный и технически грамотный подход открывает новые горизонты для алгоритмической торговли и разработки эффективных моделей на MetaTrader 5.

Читать далее...
22👍2
Торговая стратегия "Стратегия по пользовательскому индикатору Sma with NET" основана на изменении цвета индикатора. Задается на определенном "рабочем таймфрейме". У советника отсутствуют Стоп лосс, Тейк профит и Трейлинг; закрытие позиций осуществляется при поступлении противоположного сигнала. Используется постоянный лот, сигналы проверяются при открытии каждого нового бара.

Советник позволяет оптимизировать параметры относительно рабочего таймфрейма. В разделе "Trading settings" указывается таймфрейм, на котором генерируются индикаторы и происходит проверка на наличие нового бара.

Управление размером позиции осуществляется через постоянный лот. Опция "Print log" обеспечивает расширенное логирование всех операций для более детального анализа действий советника.

Читать далее...
👍41
Алгоритмическая торговля претерпела значительные изменения. Ilan, известный сеточник, когда-то популярный в 2010-х, нуждается в обновлении для современной среды. Текущие технологии, такие как квантовые вычисления и машинное обучение, требуют адаптации устаревших стратегий для повышения эффективности. Ilan использовал усреднение позиций, показывая отличные результаты в низковолатильных рынках, но его статические правила теперь не соответствуют изменяющимся условиям. Переход к Ilan 3.0 AI с использованием глубокого Q-обучения позволяет адаптировать систему к рыночным изменениям. Итоговая цель — создание адаптивных торговых систем, способных самостоятельно учиться и развиваться.

Читать далее...
🔥4👍21
HiSSD является современным подходом к обучению мультиагентных систем в динамично меняющейся среде. Первоначально протестирован в симуляторах, HiSSD актуален для финансовых рынков, где резкие изменения требуют быстрой адаптации. Фреймворк позволяет адаптироваться без полного переобучения. Его ключевой особенностью является двухуровневое разделение навыков на общие и специфические. Общие навыки помогают в разных ситуациях, например, в распознавании трендов. Специфические отвечают за уникальные условия. Такая структура обеспечивает стабильность и эффективность. HiSSD масштабируется, что важно на многопользовательских рынках. Иерархия позволяет координировать поведение через общие модули.

Читать далее...
👍311
При разработке экспертных советников в MetaTrader, вызов стандартной функции OnTick() происходит при поступлении нового тика. Однако для обработки нового бара (свечи) стандартной функции не предусмотрено. Чтобы отследить начало нового бара, необходимо мониторить изменения времени открытия последнего бара. Представленный код, применимый как для MQL4, так и для MQL5, использует статическую переменную для отслеживания этого времени. Статические переменные сохраняют своё значение при выходе из функции, что позволяет эффективно определять начало нового бара. Важно помнить, что при первой загрузке советника код будет считать, что бар только что открылся. Управление такой ситуацией требует внимательного подхода.

Читать далее...
11👍1
В статье рассматриваются ключевые аспекты использования графических объектов в MQL5 для улучшения визуального анализа рынка. Графические объекты, такие как линии тренда, текстовые метки и прямоугольники, помогают трейдерам быстро определять уровни поддержки и сопротивления, отслеживать открытые позиции и визуализировать торговые данные. Статья предлагает практические примеры по созданию советника, который отображает зоны стоп-лосса и тейк-профита на графике, позволяя трейдерам оценивать риски и прибыль. Использование исторических данных о сделках и динамическая настройка объектов помогают более эффективно управлять позициями и проводить глубокий анализ торговли.

Читать далее...
👍93
Индикатор разрабатывает скользящую линию с использованием интерполяции полиномом четвертой степени. Полученная линия затем экстраполируется с помощью синусоиды, при этом значения line_poweraxial обычно остаются либо постоянными, либо формируют наклонную линию с power_line, равным трем. Для наглядности графика это значение может быть изменено. После этого из каждой полосы интерполяции удаляется по одному значению, формируя линию экстраполированных значений, которая не изменяется со временем.

Параметры настройки включают line_power, которая определяет степень экстраполированной линии, и leverage, влияющий на удаление значений. Множитель multiplier управляет исходными значениями от осевой линии: при нуле значения отнимаются от осевой, при единице — от синусоиды, при минус единице — от зеркальной точки через осевую.

Параметр line4_SHIFT регулирует сдвиг линии после экстраполяции. Параме...

Читать далее...
👍81
Эта библиотека предлагает несколько удобных методов для анализа профилей объема. Метод GetHVPrice позволяет определить цену с максимальным объемом в заданном диапазоне. В переменной _resolution_points задается размер квантования близлежащих цен в пунктах. Это облегчает анализ рыночных данных, обеспечивая гибкость в настройке глубины исследования ценовых изменений. Скрипт для построения профиля объема демонстрирует, как эффективно использовать данные методы для получения актуальной информации о рыночной активности. Решения, основанные на профилях объема, помогают в принятии более взвешенных торговых решений на основе объективных данных.

Читать далее...