Chacha Ian Maroa
Chacha Ian Maroa
4.4 (7)
  • Информация
1 год
опыт работы
3
продуктов
30
демо-версий
13
работ
0
сигналов
0
подписчиков
Quantitative Analyst в
X
I’m a financial markets trader and MQL5 developer focused on building professional trading solutions for MetaTrader 5.

1. Custom Expert Advisors.
2. Indicators.
3. Trade management tools.
4. Dashboards.
5. Automation systems.

My work emphasises reliability, clean architecture, and practical trading functionality, while I continue to expand into AI and machine learning for algorithmic trading.
Chacha Ian Maroa
Опубликовал статью Custom Indicator Workshop (Part 4) : Automating UT Bot Alerts into a Trading Expert Advisor
Custom Indicator Workshop (Part 4) : Automating UT Bot Alerts into a Trading Expert Advisor

This article shows how to build an MQL5 Expert Advisor around the UT Bot Alerts indicator. The EA reads custom indicator signals via iCustom() and CopyBuffer(), evaluates entries only on new bars, using the last closed candle at index 1, and enforces a one-direction-at-a-time model by closing opposite positions before taking new entries. It also adds optional ATR-based stop-losses, reward-to-risk take-profits, dedicated buy/sell execution functions, magic-number tracking, and basic backtesting for repeatable evaluation.

Chacha Ian Maroa
Опубликовал статью Custom Indicator Workshop (Part 3): Building the UT Bot Alerts Indicator in MQL5
Custom Indicator Workshop (Part 3): Building the UT Bot Alerts Indicator in MQL5

This article demonstrates how to build the UT Bot Alerts indicator in MQL5 using a clear, step-by-step approach. The tutorial explains how to implement an ATR-based trailing stop system, compute a custom EMA for signal detection, and generate buy and sell signals without repainting. The final indicator provides well-structured buffers that enable easy integration with Expert Advisors, automated trading systems, and other algorithmic tools within the MetaTrader 5 platform.

Chacha Ian Maroa
Опубликовал статью Engineering a Self-Healing Expert Advisor in MQL5 (Part 5): Real-Time Recovery Dashboard (Final Part)
Engineering a Self-Healing Expert Advisor in MQL5 (Part 5): Real-Time Recovery Dashboard (Final Part)

This article implements a real-time monitoring dashboard for a self-healing MetaTrader 5 Expert Advisor. The dashboard displays the current EA state, virtual stop-loss and take-profit levels, breakeven and trailing status, recovery state, synchronization status, and heartbeat information directly on the chart. By exposing the internal recovery state visually, the Expert Advisor becomes easier to monitor, verify, and troubleshoot while managing active trades.

Chacha Ian Maroa
Опубликовал статью Engineering a Self-Healing Expert Advisor in MQL5 (Part 4): Trade-State Reconciliation and Safe Mode Recovery
Engineering a Self-Healing Expert Advisor in MQL5 (Part 4): Trade-State Reconciliation and Safe Mode Recovery

This article adds trade-state reconciliation and Safe Mode recovery to a MetaTrader 5 Expert Advisor. The EA continuously validates recovery integrity by comparing the live broker position with the persisted SQLite state and the in-memory runtime state. Detected inconsistencies trigger an automatic transition to Safe Mode, suspending virtual protection, breakeven, and trailing management until the recovery state can be trusted again.

Chacha Ian Maroa
Опубликовал статью Engineering a Self-Healing Expert Advisor in MQL5 (Part 3): Restart-Aware Breakeven and Trailing Systems
Engineering a Self-Healing Expert Advisor in MQL5 (Part 3): Restart-Aware Breakeven and Trailing Systems

Building on Part 2, the implementation introduces restart-aware breakeven and trailing-stop systems for MetaTrader 5. The EA persists the state, such as breakeven activation, last trailing price, and virtual SL in SQLite, then restores them on startup. This preserves dynamic protection flow and prevents lost progress after terminal interruptions.

Chacha Ian Maroa
Опубликовал статью Разработка самовосстанавливающегося советника в MQL5 (Часть 2): Виртуальная защита сделок, устойчивая к перезапуску
Разработка самовосстанавливающегося советника в MQL5 (Часть 2): Виртуальная защита сделок, устойчивая к перезапуску

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

Chacha Ian Maroa
Опубликовал статью Разработка самовосстанавливающегося советника в MQL5 (Часть 1): Архитектура постоянного хранения состояния сделки
Разработка самовосстанавливающегося советника в MQL5 (Часть 1): Архитектура постоянного хранения состояния сделки

В этой статье показано, как построить базовую архитектуру постоянного хранения состояния для самовосстанавливающегося советника в MQL5 с использованием SQLite. Читатели узнают, как создать слой постоянного хранения состояния сделок, устойчивый к перезапускам терминала, выключениям и непредвиденным сбоям. В статье рассматривается интеграция SQLite в MetaTrader 5, управление жизненным циклом базы данных, структуры постоянно сохраняемого состояния сделки и восстановление рабочего состояния во время выполнения с использованием практических реализаций в MQL5.

Ririeh
Ririeh 2026.05.29
This is amazing
Chacha Ian Maroa
Опубликовал статью Building a Trade Analytics System (Part 4): Summary Metrics and Dashboard
Building a Trade Analytics System (Part 4): Summary Metrics and Dashboard

This article extends the existing Flask backend to compute performance analytics from stored MetaTrader 5 closed trades and deliver them as both JSON and a simple web view. It calculates total trades, total profit, win rate, average profit, and trade duration metrics, returning JSON at /api/v1/analytics/summary and rendering a dashboard at /api/v1. The result provides a quick, consistent way to review trading performance from persisted SQLite records.

3
Chacha Ian Maroa
Chacha Ian Maroa
Hi traders,

Happy Monday! As the markets open and a new trading week initializes, I wanted to wish you all an incredibly productive and high-energy week ahead.

Whether you are optimizing code, backtesting new strategies, or managing live execution, execution is everything. Let’s approach this week with sharp focus, disciplined energy, and the determination to push past any technical or market challenges that come our way.

Keep your logic clean, your risk managed, and your energy high. Let’s make these next five days count!

Have a highly productive and profitable week ahead!

Best regards,
Trader Ian
Chacha Ian Maroa
Опубликовал статью Building a Trade Analytics System (Part 3): Storing MetaTrader 5 Trades in SQLite
Building a Trade Analytics System (Part 3): Storing MetaTrader 5 Trades in SQLite

This article extends a Flask backend to reliably receive, validate, and store closed trade data from MetaTrader 5 using SQLite and Flask‑SQLAlchemy. It implements required‑field checks, timestamp conversion, transaction‑safe persistence, and working retrieval endpoints for all trades and single records, plus a basic summary. The result is a complete data pipeline with local testing that records trades and exposes them through a structured API for further analysis.

4
Chacha Ian Maroa
Опубликовал статью Building a Trade Analytics System (Part 2): How to Capture Closed Trades and Send JSON in MQL5
Building a Trade Analytics System (Part 2): How to Capture Closed Trades and Send JSON in MQL5

We build a lightweight bridge that captures closed trades in MetaTrader 5 and sends them to an external backend over HTTP as JSON. It uses OnTradeTransaction for event detection, reads details from deal history, assembles a JSON payload, and posts it via WebRequest. A local Flask API is used to test the flow, delivering a working path to move trade data outside the terminal.

3
Chacha Ian Maroa
Опубликовал статью Building a Trade Analytics System (Part 1): Foundation and System Architecture
Building a Trade Analytics System (Part 1): Foundation and System Architecture

We design a simple external trade analytics pipeline for MetaTrader 5 and implement its backend in Python with Flask and SQLite. The article defines the architecture, data model, and versioned API, and shows how to configure the environment, initialize the database, and run the server locally. As a result, you get a clean base to capture closed-trade records from MetaTrader 5 and store them for later analysis.

1
Chacha Ian Maroa
Опубликовал статью Рыночные секреты Ларри Уильямса (Часть 15): Торговля разворотами по паттерну Hidden Smash Day с учетом рыночного контекста
Рыночные секреты Ларри Уильямса (Часть 15): Торговля разворотами по паттерну Hidden Smash Day с учетом рыночного контекста

Создадим советник MQL5, который автоматизирует развороты Hidden Smash Day Ларри Уильямса. Он считывает подтвержденные сигналы из пользовательского индикатора, применяет фильтры рыночного контекста (включая проверку направления по Supertrend и необязательные правила торговых дней) и управляет риском с помощью моделей стоп-лосса на основе структуры бара Smash или ATR, а также фиксированного или риск-ориентированного размера позиции. В результате получается воспроизводимая система, готовая к тестированию и расширению.

Chacha Ian Maroa
Опубликовал статью Рыночные секреты Ларри Уильямса (Часть 14): Обнаружение разворотов Hidden Smash Day с помощью пользовательского индикатора
Рыночные секреты Ларри Уильямса (Часть 14): Обнаружение разворотов Hidden Smash Day с помощью пользовательского индикатора

В этой статье разрабатывается практический индикатор MQL5, который обнаруживает бары Hidden Smash Day по строгим числовым критериям и, при необходимости, по подтверждению на следующей сессии. Рассматриваются процедуры обнаружения, регистрация буферов и настройка отрисовки, позволяющая размещать стрелки на барах, соответствующих условиям. Такой подход дает стабильные, не перерисовывающиеся сигналы для исторического тестирования и мониторинга в реальном времени.

Chacha Ian Maroa
Опубликовал статью Рыночные секреты Ларри Уильямса (Часть 13): Автоматизация разворотных паттернов Hidden Smash Day
Рыночные секреты Ларри Уильямса (Часть 13): Автоматизация разворотных паттернов Hidden Smash Day

В статье создается прозрачный советник MQL5 для скрытых разворотов Smash Day Ларри Уильямса. Сигналы формируются только на новых барах: сначала проверяется сетап-бар, затем он подтверждается, когда следующая сессия торгуется за его экстремумом. Риск управляется через ATR или структурные стопы с заданным соотношением риска и прибыли, размер позиции может быть фиксированным или рассчитываться от баланса, а фильтры направления и правило одной позиции помогают обеспечить воспроизводимость тестов.

Chacha Ian Maroa
Опубликовал статью Рыночные секреты Ларри Уильямса (Часть 12): Торговля разворотами Smash Day на основе контекста
Рыночные секреты Ларри Уильямса (Часть 12): Торговля разворотами Smash Day на основе контекста

В статье показано, как автоматизировать разворотные паттерны Smash Day Ларри Уильямса в MQL5 в рамках структурированного подхода. Мы реализуем советник, который ограничивает период валидности сетапов заданным окном, согласует входы с направлением тренда по Supertrend и применяет фильтры по дням недели, а также поддерживает вход при пересечении уровня или после закрытия бара за уровнем. Код обеспечивает правило: не более одной открытой позиции одновременно и поддерживает расчет объема на основе риска или фиксированный размер позиции. Приведены пошаговая разработка, процедура бэктестирования и воспроизводимые настройки.

Chacha Ian Maroa
Опубликовал статью Рыночные секреты Ларри Уильямса (Часть 11): Индикатор для обнаружения разворотов Smash Day
Рыночные секреты Ларри Уильямса (Часть 11): Индикатор для обнаружения разворотов Smash Day

Мы преобразуем правила разворота Smash Day Ларри Уильямса в пользовательский индикатор MQL5, который отмечает подтвержденные сетапы стрелками. Шаг за шагом в статье показаны привязка буферов, свойства графических построений, заполнение буферов на исторических данных и обновления в реальном времени внутри OnCalculate. Настраиваемое количество предыдущих баров для проверки и наглядное отображение на графике помогают быстро выявлять развороты, соответствующие условиям модели, при этом итоговые торговые решения остаются дискреционными и зависят от контекста.

Chacha Ian Maroa
Опубликовал статью Custom Indicator Workshop (Part 2) : Building a Practical Supertrend Expert Advisor in MQL5
Custom Indicator Workshop (Part 2) : Building a Practical Supertrend Expert Advisor in MQL5

Learn how to build a Supertrend-driven Expert Advisor in MQL5 from the ground up. The article covers embedding the indicator as a resource, reading buffer values on closed bars, detecting confirmed flips, aligning and switching positions, and configuring stop-loss modes and position sizing. It concludes with Strategy Tester setup and reproducible tests, leaving you with a configurable EA and a clear framework for further research and extensions.

Chacha Ian Maroa
Опубликовал статью Рыночные секреты Ларри Уильямса (Часть 10): Автоматизация паттернов разворота Smash Day
Рыночные секреты Ларри Уильямса (Часть 10): Автоматизация паттернов разворота Smash Day

Мы реализуем разворотные паттерны Smash Day Ларри Уильямса в MQL5, создавая советник на основе правил с динамическим управлением риском, логикой подтверждения пробоя и исполнением по принципу «одна сделка за раз». Читатели смогут провести бэктест, воспроизвести результаты и изучить влияние параметров с помощью тестера стратегий MetaTrader 5 и предоставленного исходного кода.

Chacha Ian Maroa
Опубликовал статью Custom Indicator Workshop (Part 1): Building the Supertrend Indicator in MQL5
Custom Indicator Workshop (Part 1): Building the Supertrend Indicator in MQL5

Build a non‑repainting Supertrend in MQL5 for MetaTrader 5 from first principles. We use an iATR handle and CopyBuffer for volatility, bind buffers with SetIndexBuffer, and configure plots (DRAWCOLORCANDLES plus two line bands) via PlotIndexSetInteger. The logic updates only on closed bars with EMPTY_VALUE to suppress inactive bands, exposing atrPeriod and atrMultiplier inputs. You get a clean, EA‑ready overlay with documented buffers for strategies and signals.

1
123