Синхронизация графиков для удобного технического анализа
Синхронизация графиков для упрощения технического анализа обеспечивает единообразное отображение графических объектов, таких как линии тренда, прямоугольники или индикаторы, на всех временных интервалах для одного и того же символа. Такие действия, как прокрутка, масштабирование или смена инструмента, отражаются на всех синхронизированных графиках, что позволяет легко просматривать и сравнивать один и тот же контекст ценового движения на разных временных интервалах.
Моделирование рынка (Часть 11): Сокеты (V)
Мы приступаем к реализации связи между Excel и MetaTrader 5, но сначала необходимо понять некоторые важные моменты, так вам не придется ломать голову, пытаясь понять, почему что-то работает или нет. И прежде, чем вы нахмуритесь, глядя на интеграцию Python и Excel, давайте посмотрим, как с помощью xlwings можно (в некоторой степени) управлять MetaTrader 5 через Excel. То, что мы покажем здесь, будет в основном сконцентрировано на образовательных задачах. Но не думайте, что мы можем делать только то, что будет рассмотрено здесь.
Разработка пользовательского индикатора матрицы эффективности торгового счёта
Этот индикатор выступает в роли средства контроля за соблюдением дисциплины, отслеживая в режиме реального времени состояние счета, прибыль/убыток и просадку и отображая панель показателей эффективности. Он может помочь трейдерам сохранять преемственность, избегать чрезмерной торговли и соблюдать правила отбора, установленные проп-трейдинговыми фирмами.
От начального до среднего уровня: Операторы
В этой статье мы рассмотрим основных операторов. Хотя тема проста для понимания, есть определенные моменты, которые имеют большое значение, когда речь идет о включении математических выражений в формат кода. Без адекватного понимания этих деталей, программисты с небольшим опытом или вообще без него в итоге отказываются от попыток создать собственных решений.
От начального до среднего уровня: Переменные (III)
Сегодня мы рассмотрим, как использовать переменные и константы, предопределенные языком MQL5. Кроме того, мы проанализируем еще один особый тип переменных: функции. Умение правильно работать с этими переменными может определить разницу между работающим и неработающим приложением. Для того, чтобы понять представленное здесь, необходимо разобраться с материалом, который был рассмотрен в предыдущих статьях.
Как получить синхронизированные массивы для использования в алгоритмах портфельной торговли
Описан практический подход к синхронизации баров между инструментами портфеля в MQL5. Предложены классы для загрузки, хранения и выравнивания OHLCV с опциями: пустой бар или перенос значений предыдущего бара, выбор символа синхронизации и обработка асинхронных новых баров. Показаны примеры использования в индикаторах мультиграфиков и корзины. Читатель получает готовый API для стабильных портфельных расчетов.
Разработка инструментария для анализа Price Action (Часть 38): VWAP на основе тикового буфера и модуль расчета дисбаланса на коротком окне
В Части 38 мы создаем для MT5 панель мониторинга промышленного уровня, которая преобразует необработанные тики в практические торговые сигналы. Советник накапливает тиковые данные для расчета тиковой VWAP (Volume Weighted Average Price, средневзвешенной по объему цены), метрики дисбаланса (индикатора потока Flow) на коротком окне и размера позиции на основе ATR. Затем он отображает спред, ATR и индикатор потока в виде столбиков с минимальным мерцанием. Система рассчитывает рекомендуемый размер лота и стоп 1R, а также выдает настраиваемые алерты для узкого спреда, сильного потока и ситуаций с торговым преимуществом. Автоматическая торговля намеренно отключена; основное внимание уделяется надежной генерации сигналов и удобству использования.
Разработка системы репликации (Часть 75): Новый Chart Trade (II)
В этой статье мы расскажем о классе C_ChartFloatingRAD. Это то, что позволяет Chart Trade работать. Однако на этом объяснение не закончится. Мы завершим его в следующей статье, так как содержание данной статьи довольно объемное и требует глубокого понимания. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
От начального до среднего уровня: Массив (II)
В этой статье мы рассмотрим, что такое динамический массив и массив статический. И есть ли разница между использованием одного или другого. Или они всегда одинаковы? Когда следует использовать один, а когда другой? А как насчет константных массивов? Для чего они существуют, и какому риску я подвергаюсь, если не инициализирую все значения в массиве? Предположим, что они будут равны нулю.
Создание самооптимизирующихся советников на MQL5 (Часть 6): Предотвращение стоп-аутов
Рассмотрим алгоритмическую процедуру, которая позволит свести к минимуму общее количество случаев стоп-аутов в прибыльных сделках. Проблема, с которой мы столкнулись, весьма сложна, и большинство решений, предложенных в ходе обсуждений в сообществе, не содержат установленных и неизменных правил. Наш алгоритмический подход к решению проблемы увеличил прибыльность сделок и снизил средний убыток на сделку. Однако необходимо внести дополнительные улучшения, чтобы полностью отсортировать все сделки, которые будут закрыты по стопу-ауту. Наше решение представляет собой неплохой первый шаг, доступный для всех желающих.
Разработка инструментария для анализа движения цен (Часть 20): Внешние библиотеки (IV) — Correlation Pathfinder
Correlation Pathfinder предлагает новый подход к пониманию динамики валютных пар в рамках серии инструментов для анализа ценового действия. Этот инструмент автоматизирует сбор и анализ данных, предоставляя информацию о взаимодействии таких валютных пар, как EURUSD и GBPUSD. Практическая информация в реальном времени поможет вам более эффективно управлять рисками и выявлять торговые возможности.
От начального до среднего уровня: Массив (III)
В этой статье мы рассмотрим, как работать с массивами в MQL5, в том числе, как передавать информацию между функциями и процедурами с помощью массивов. Цель — подготовить вас к тому, что будет демонстрироваться и разъясняться в будущих материалах серии. Поэтому настоятельно рекомендую внимательно изучить то, что будет показано в этой статье.
Адаптивная архитектура Smart Money (ASMA): Интеграция логики SMC с анализом сентимента для динамического переключения стратегий
В этой теме рассматривается, как построить адаптивную архитектуру Smart Money (ASMA) — интеллектуального советника, который объединяет концепции Smart Money Concepts (Order Blocks, Break of Structure, Fair Value Gaps) с рыночными настроениями в реальном времени, чтобы автоматически выбирать наиболее подходящую торговую стратегию исходя из текущего рыночного режима.
Создание торговой панели администратора на MQL5 (Часть VIII): Панель аналитики
В этой статье мы углубимся в добавление полезных торговых показателей в специализированное окно, интегрированное в панель администратора советника. Основное внимание уделено внедрению MQL5 для разработки аналитической панели. Подчеркивается ценность данных, которые она предоставляет администраторам. Панель в основном играет образовательную роль, позволяя извлекать из процесса разработки ценные уроки, приносящие пользу как начинающим, так и опытным разработчикам. В статье демонстрируются безграничные возможности, которые предлагает данная серия в плане предоставления передовых программных инструментов. Кроме того, мы рассмотрим реализацию классов PieChart и ChartCanvas в рамках продолжающегося расширения возможностей панели администратора.
От новичка до эксперта: Мониторинг бэкэнд операций с использованием MQL5
Использование готового решения в торговле, не вникая во внутреннюю работу системы, может показаться комфортным, но это не всегда так для разработчиков. В конечном итоге может возникнуть проблема с обновлением, некорректной работой или непредвиденной ошибкой, и становится важным точно определить источник проблемы, чтобы быстро ее диагностировать и устранить. Сегодняшнее обсуждение посвящено раскрытию того, что обычно происходит за кулисами работы торгового советника, а также разработке специального пользовательского класса для отображения и ведения лога внутренних процессов с использованием MQL5. Это дает как разработчикам, так и трейдерам возможность быстро находить ошибки, отслеживать поведение и получать доступ к диагностической информации, специфичной для каждого советника.
Разработка инструментария для анализа Price Action (Часть 43): Вероятностный анализ свечных паттернов и пробоев
Улучшите рыночный анализ с помощью советника Candlestick Probability на MQL5 – компактного инструмента, который преобразует исходные ценовые бары в вероятностную аналитику в реальном времени по конкретному инструменту. Он классифицирует пин-бары, паттерны поглощения и доджи на закрытии бара, использует фильтрацию с учетом волатильности по ATR и при необходимости подтверждение пробоя. Советник рассчитывает простые и взвешенные по объему проценты отработки, помогая понять, каков типичный исход каждого паттерна на конкретных символах и таймфреймах. Маркеры на графике, компактная информационная панель и интерактивные переключатели позволяют быстро проверять результаты и сосредоточиться на нужном. Экспортируйте подробные CSV-логи для последующего анализа вне терминала. Используйте советник, чтобы строить вероятностные профили, оптимизировать стратегии и превращать распознавание паттернов в измеримое преимущество.
Моделирование рынка (Часть 09): Сокеты (III)
Сегодняшняя статья является продолжением предыдущей. В ней мы рассмотрим, как будет реализован советник, сосредоточившись в основном на том, как выполняется серверный код. Кода, приведенного в предыдущей статье, недостаточно для того, чтобы всё работало как надо, поэтому необходимо немного углубиться в него. Поэтому нужно прочитать обе статьи, чтобы лучше понять то, что произойдет.
Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (V). Класс AnalyticsPanel
В этой статье мы рассмотрим, как получать рыночные данные в реальном времени и информацию о торговом счете, выполнять различные вычисления и отображать результаты на настраиваемой панели. Для достижения этой цели мы углубимся в разработку класса AnalyticsPanel, который будет включать в себя все эти функции, в том числе создание панелей. Эта работа является частью нашего продолжающегося расширения советника новой панели администратора (New Admin Panel EA), внедряющей расширенные функции с использованием принципов модульного проектирования и лучших практик организации кода.
Создание торговой панели администратора на MQL5 (Часть VII): Доверенный пользователь, восстановление и криптография
Подсказки безопасности, например те, которые появляются каждый раз при обновлении графика, добавлении новой пары в чат с панелью администратора советника или перезапуске терминала, могут стать утомительными. В этом обсуждении мы рассмотрим и реализуем функцию, которая отслеживает количество попыток входа в систему для идентификации доверенного пользователя. После определенного количества неудачных попыток приложение перейдет к расширенной процедуре входа в систему, которая также облегчает восстановление пароля для пользователей, которые могли его забыть. Кроме того, мы рассмотрим, как можно эффективно интегрировать криптографию в панель администратора для повышения безопасности.
Реализация криптографического алгоритма SHA-256 с нуля на MQL5
Создание интеграций с криптовалютными биржами без DLL-файлов долгое время было сложной задачей, но это решение обеспечивает полную основу для прямого подключения к рынку.
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (X) — Представление графика с несколькими символами для торговли на новостях
Сегодня мы разработаем систему просмотра нескольких диаграмм с использованием объектов диаграмм. Цель состоит в том, чтобы улучшить торговлю на новостях за счет применения алгоритмов на MQL5, которые помогают сократить время реакции трейдера в периоды высокой волатильности, такие как выход крупных новостей. В этом случае мы предоставляем трейдерам интегрированный способ мониторинга нескольких основных инструментов в рамках единого инструмента для торговли на новостях. Наша работа постоянно продвигается с появлением советника News Headline EA («Заголовки новостей»), который теперь обладает растущим набором функций, которые привносят действительное значение как для трейдеров, использующих полностью автоматизированные системы, так и для тех, кто предпочитает ручную торговлю с помощью алгоритмов. Ознакомьтесь с новыми знаниями, информацией и практическими идеями, перейдя по ссылке и присоединившись к настоящему обсуждению.
Торговый инструментарий MQL5 (Часть 4): Разработка EX5-библиотеки для управления историей
Узнайте, как извлекать, обрабатывать, классифицировать, сортировать, анализировать и управлять закрытыми позициями, ордерами и историями сделок с помощью MQL5, создав обширную EX5-библиотеку управления историей с помощью подробного пошагового подхода.
От начального до среднего уровня: Директива Include
В сегодняшней статье мы поговорим о директиве компиляции, широко используемой в различных кодах, которые можно найти в MQL5. Хотя данную директива будет объяснена здесь довольно поверхностно, важно, чтобы вы начали понимать, как ее использовать, поскольку вскоре она станет незаменимой при переходе на более высокий уровень программирования. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
Анализ нескольких символов с помощью Python и MQL5 (Часть I): Производители интегральных схем NASDAQ
В статье мы рассмотрим, как использовать ИИ для оптимизации размера позиции и количества ордеров, чтобы максимизировать доходность портфеля. Мы покажем, как алгоритмически определить оптимальный портфель и адаптировать его к вашим ожиданиям по доходности или уровню устойчивости к риску. Мы используем библиотеку SciPy и язык MQL5 для создания оптимального и диверсифицированного портфеля, используя все имеющиеся у нас данные.
Создание торговой панели администратора на MQL5 (Часть X): Интерфейс из внешних ресурсов
Используем возможности MQL5 для работы с внешними ресурсами, в данном случае с изображениями в формате BMP, чтобы создать уникальный по стилю интерфейс главной страницы панели администратора торговых операций. В особенности рассмотрим упаковку множества файлов, включая изображения, звуки и многое другое, для упрощения дальнейшего их распространения. Реализуем функции для создания современного и визуально привлекательного интерфейса для нашей панели администратора, которую мы создаем с помощью советника New_Admin_Panel.
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (II)
Сегодня мы делаем еще один шаг вперед, интегрируя внешний новостной API в качестве источника заголовков для нашего советника «Заголовки новостей». На этом этапе мы изучим различные источники новостей — как существующие, так и новые — и узнаем, как эффективно использовать их API. Мы также рассмотрим методы парсинга полученных данных в формат, оптимизированный для отображения в нашем экспертном советнике. Присоединяйтесь к обсуждению, пока мы обсуждаем преимущества использования заголовков новостей и экономического календаря непосредственно на графике. И все это в компактном, ненавязчивом интерфейсе.
Моделирование рынка (Часть 04): Создание класса C_Orders (I)
В данной статье мы начнем создание класса C_Orders, чтобы иметь возможность отправлять ордера на торговый сервер. Мы будем делать это понемногу, поскольку наша цель состоит в том, чтобы подробно объяснить, как это будет происходить с помощью системы обмена сообщениями.
Разработка инструментария для анализа Price Action (Часть 52): Визуальный анализ структуры рынка на нескольких таймфреймах
В этой статье представлен инструмент Multi-Timeframe Visual Analyzer на языке MQL5, который воссоздает и накладывает свечи старших таймфреймов прямо на активный график. В статье рассматриваются реализация, ключевые входные параметры и практические результаты; материал дополнен анимированной демонстрацией и примерами графиков, показывающими мгновенное переключение, подтверждение на нескольких таймфреймах и настраиваемые алерты. Читайте дальше, чтобы узнать, как этот инструмент делает анализ графиков быстрее, нагляднее и эффективнее.
Торговый инструментарий MQL5 (Часть 5): Расширение EX5-библиотеки для управления историей с помощью функций позиции
В этой статье мы узнаем, как создавать экспортируемые EX5-функции для эффективного запроса и сохранения исторических данных о позициях. В этом пошаговом руководстве мы расширим EX5-библиотеку для управления историей (History Management), разработав модули, которые извлекают ключевые свойства последней закрытой позиции. К ним относятся чистая прибыль, продолжительность сделки, стоп-лосс и тейк-профит в пипсах, значения прибыли и другие важные данные.
Переосмысливаем классические стратегии (Часть 13): Обновление стратегии по пересечению скользящих (Часть 2)
Мы попробуем внедрить дополнительные улучшения в нашу стратегию по пересечению скользящих средних, чтобы постараться снизить задержку и повысить надежность за счет дополнительного анализа данных. Как мы знаем, проецирование данных в многомерное пространство иногда может улучшить производительность моделей машинного обучения. Давайте посмотрим, что это на практике означает для нас, трейдеров. Также увидим, как можно использовать этот эффективный принцип в терминале MetaTrader 5.
Разработка системы репликации (Часть 67): Совершенствуем индикатор управления
В данной статье мы рассмотрим, чего можно добиться с помощью небольшой доработки кода. Данная доработка направлена на упрощение нашего кода, более активное использование вызовов библиотеки MQL5 и, прежде всего, на то, чтобы сделать его гораздо более стабильным, безопасным и простым для использования в другом коде, который мы будем разрабатывать в будущем.
От начального до среднего уровня: Массив (IV)
В этой статье мы рассмотрим, как можно сделать нечто очень похожее на то, что реализовано в таких языках, как C, C++ и Java. Речь идет о передаче практически бесконечного числа параметров внутрь функции или процедуры. Хоть может показаться, что это довольно продвинутая тема, на мой взгляд, то, что здесь будет показано, сможет легко реализовать любой, кто понял предыдущие концепции. При условии, что они действительно были усвоены.
Искусство ведения логов (Часть 2): Форматирование логов
В данной статье мы изучим создание и применение программ форматирования для библиотек логов. Мы рассмотрим все этапы, от базовой структуры программы форматирования до примеров реализации таких программ на практике. К концу статьи вы получите все необходимые знания для форматирования логов в рамках библиотеки и поймете, как все работает за кулисами.
Разработка системы репликации (Часть 71): Настройка времени (IV)
В этой статье мы рассмотрим, как реализовать то, что было показано в предыдущей статье, в сервисе репликации/моделирования. Но, как и во многих других случаях, в жизни обязательно возникают проблемы. И данный случай не стал исключением. Дальше вы узнаете тему следующей статьи из этой серии. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
Моделирование рынка (Часть 14): Сокеты (VIII)
Многие программисты могут предположить, что нам следует отказаться от использования Excel и перейти непосредственно на Python, используя некоторые пакеты, позволяющие Python создавать Excel-файл, чтобы потом проанализировать результаты. Но, как уже говорилось в предыдущей статье, хотя это решение и является наиболее простым для многих программистов, оно не будет воспринято некоторыми пользователями. И в данном вопросе пользователь всегда прав. Мы, как программисты, должны найти способ заставить всё работать.
Торговый инструментарий MQL5 (Часть 7): Расширение EX5-библиотеки для управления историей функциями последнего отмененного отложенного ордера
Мы завершаем создание последнего модуля в EX5-библиотеке для управления историей (History Manager), сосредоточившись на функциях, отвечающих за обработку последнего отмененного отложенного ордера. Это позволит эффективно извлекать и хранить ключевые данные, связанные с отмененными отложенными ордерами с помощью MQL5.
От начального до среднего уровня: Struct (V)
В данной статье мы рассмотрим, как перегрузить структурный код. Я знаю, что сначала это довольно сложно для понимания, особенно если увидеть это впервые. Очень важно, чтобы вы усвоили эти понятия и хорошо поняли их, прежде чем пытаться вникать в более сложные и проработанные вещи.
От начального до среднего уровня: Struct (IV)
В данной статье мы рассмотрим, как создавать так называемый структурный код, в котором весь контекст и способы манипулирования переменными и информацией помещаются в структуру, чтобы создать подходящий контекст для реализации любого кода. Итак, мы рассмотрим необходимость использования приватной (private) части кода, чтобы отделить то, что является общедоступным, от того, что не является таковым, соблюдая тем самым правило инкапсуляции и сохраняя контекст, для которого была создана структура данных.
Автоматизация греков Блэка-Шоулза: Расширенный скальпинг и микроструктурная торговля
Гамма и Дельта изначально разрабатывались как инструменты управления рисками для хеджирования опционной экспозиции, но со временем они превратились в мощные инструменты для продвинутого скальпинга, моделирования потока ордеров и торговли на основе рыночной микроструктуры. Сегодня они служат индикаторами ценовой чувствительности и поведения ликвидности в режиме реального времени, позволяя трейдерам с удивительной точностью прогнозировать краткосрочную волатильность.
От начального до среднего уровня: Struct (III)
В этой статье мы рассмотрим, что такое структурированный код. Многие люди путают структурированный код с организованным кодом, однако между этими двумя понятиями есть разница. Об этом и будет рассказано в этой статье. Несмотря на кажущуюся сложность, которую вы почувствуете при первом знакомстве с этим типом написания кода, я постарался подойти к этому вопросу как можно проще. Но данная статья - лишь первый шаг к чему-то большему.