Bestsellers in the Market:
New publications in CodeBase
- Fractal Maturity Oscillator FMO The FMO indicator is a technical analysis tool that measures "trend age" using fractal cycles. Its purpose is to help traders determine whether a trend is still young (safe to follow) or over-aged (high risk). A Conceptual Synthesis of Psychology, Sociology, and Life Cycles This work presents a deep analysis of human life through a numerical matrix (3, 7, 39, 49), using it as a conceptual lens for understanding psychology, sociology, and developmental cycles. It is not a conventional scientific framework. Rather, it is a synthesized model — integrating esoteric, psychological, and sociological perspectives into a unified cyclical structure. The goal is to organize and interpret human development through layered, interacting cycles.
- nClose Orders Function for closing positions and deleting orders
Published article "Engineering Trading Discipline into Code (Part 1): Creating Structural Discipline in Live Trading with MQL5".

Discipline becomes reliable when it is produced by system design, not willpower. Using MQL5, the article implements real-time constraints—trade-frequency caps and daily equity-based stops—that monitor behavior and trigger actions on breach. Readers gain a practical template for governance layers that stabilize execution under market pressure.
Published article "From Novice to Expert: Automating Intraday Strategies".

We translate the EMA‑50 retest idea into a behavior‑driven Expert Advisor for intraday trading. The study formalizes trend bias, EMA interaction (pierce and close), reaction confirmation, and optional filters, then implements them in MQL5 with modular functions and resource‑safe handles. Visual testing in the Strategy Tester verifies signal correctness. The result is a clear template for coding discretionary bounces.
The most downloaded free products:
5 new topics on forum:
- Is it common for some brokers to block the installation and use of the MT5 software they provide on their official website when we try to install it?
- New MetaTrader 4 Platform Build 1460
- can the chart of MT5 be compress in one display monitor ? say i would like to see chart from dated 10.june.2025 till today
Bestsellers in the Market:
Published article "Market Simulation (Part 16): Sockets (X)".

We are close to completing this challenge. However, before we begin, I want you to try to understand these two articles—this one and the previous one. That way, you will truly understand the next article, in which I will cover exclusively the part related to MQL5 programming. But I will also try to make it understandable. If you do not understand these last two articles, it will be difficult for you to understand the next one, because the material accumulates. The more things there are to do, the more you need to create and understand in order to achieve the goal.
Published article "Creating Custom Indicators in MQL5 (Part 7): Hybrid Time Price Opportunity (TPO) Market Profiles for Session Analysis".

In this article, we develop a custom indicator in MQL5 for hybrid Time Price Opportunity (TPO) market profiles, supporting multiple session timeframes such as intraday, daily, weekly, monthly, and fixed periods with timezone adjustments. The indicator quantizes prices into a grid, tracks session data including highs, lows, opens, and closes, and calculates key elements like the point of control and value area based on TPO counts. It renders profiles visually on the chart with customizable colors for TPO letters, single prints, value areas, POC, and close markers, enabling detailed session analysis
Published article "MQL5 Trading Tools (Part 19): Building an Interactive Tools Palette for Chart Drawing".

In this article, we build an interactive tools palette in MQL5 for chart drawing, with draggable, resizable panels and theme switching. We add buttons for tools like crosshair, trendlines, lines, rectangles, Fibonacci, text, and arrows, handling mouse events for activation and instructions. This system improves trading analysis through a customizable UI, supporting real-time interactions on charts
Published article "Market Simulation (Part 15): Sockets (IX)".

In this article, we will discuss one of the possible solutions to what we have been trying to demonstrate—namely, how to allow an Excel user to perform an action in MetaTrader 5 without sending orders or opening or closing positions. The idea is that the user employs Excel to conduct fundamental analysis of a particular symbol. And by using only Excel, they can instruct an expert advisor running in MetaTrader 5 to open or close a specific position.
Published article "Introduction to MQL5 (Part 41): Beginner Guide to File Handling in MQL5 (III)".

Learn how to read a CSV file in MQL5 and organize its trading data into dynamic arrays. This article shows step by step how to count file elements, store all data in a single array, and separate each column into dedicated arrays, laying the foundation for advanced analysis and trading performance visualization.
The most downloaded free products:
Bestsellers in the Market:
New publications in CodeBase
- SessionRangeBoxes Draws colored range boxes for the Asian, London, and New York sessions on any chart. Includes a stats panel showing average session ranges in pips and optional breakout alerts when price exits a session box.
- WPR for Overbought and Oversold Overbought and oversold indicators aim to determine where the price may experience a reversal.
- nCalculate Lot by Percent Function of lot calculation by risk percentage
- Timeframe Quality Analyzer Find Perfect Timeframe to trade
Published article "Market Simulation (Part 13): Sockets (VII)".

When we develop something in xlwings or any other package that allows reading and writing directly to Excel, we must note that all programs, functions, or procedures execute and then complete their task. They do not remain in a loop, no matter how hard we try to do things differently.
Published article "Using the MQL5 Economic Calendar for News Filtering (Part 1): Implementing Pre- and Post-News Windows in MQL5".

We build a calendar‑driven news filter entirely in MQL5, avoiding web requests and external DLLs. Part 1 covers loading and caching events, mapping them to symbols by currency, filtering by impact level, defining pre/post windows, and blocking new trades during active news, with optional pre‑news position closure. The result is a configurable, prop‑firm‑friendly control that reduces false pauses and protects entries during volatility.
Published article "Market Simulation (Part 12): Sockets (VI)".

In this article, we will look at how to solve certain problems and issues that arise when using Python code within other programs. More specifically, we will demonstrate a common issue encountered when using Excel in conjunction with MetaTrader 5, although we will be using Python to facilitate this interaction. However, this implementation has a minor drawback. It does not occur in all cases, but only in certain specific situations. When it does happen, it is necessary to understand the cause. In today’s article, we will begin explaining how to resolve this issue.
The most popular forum topics:
- Compiling time and .ex5 file size – Should I be worried? 11 new comments
- information about next candles in tester 6 new comments
- Build 5602 update can't start backtest without internet connection ! 6 new comments
The most downloaded free products:
Bestsellers in the Market:
Most downloaded source codes this month
- Supertrend A SuperTrend indicator that plots trend direction using ATR volatility to create dynamic support/resistance levels for MetaTrader 5.
- Volume Profile This is an indicator for showing volume profile on the chart, using simple calculations and very fast execution.
- Adaptive VWAP Institutional Adaptive VWAP Institutional: Multi-Asset Auto-Detection & DST-Accurate Session Resets (Forex 5PM NY Standard).
Most read articles this month

In this article, we demonstrate an easy way to install MetaTrader 5 on popular Linux versions — Ubuntu and Debian. These systems are widely used on server hardware as well as on traders’ personal computers.

How to purchase a trading robot from the MetaTrader Market and to install it?
A product from the MetaTrader Market can be purchased on the MQL5.com website or straight from the MetaTrader 4 and MetaTrader 5 trading platforms. Choose a desired product that suits your trading style, pay for it using your preferred payment method, and activate the product.

In this article, we develop a Nick Rypock Trailing Reverse (NRTR) trading system in MQL5 that uses channel indicators for reversal signals, enabling trend-following entries with hedging support for buys and sells. We incorporate risk management features like auto lot sizing based on equity or balance, fixed or dynamic stop-loss and take-profit levels using ATR multipliers, and position limits.
Published article "Risk Management (Part 5): Integrating the Risk Management System into an Expert Advisor".
In this article, we will implement the risk management system developed in previous publications and add the Order Blocks indicator described in other articles. In addition, we will run a backtest so we can compare results with the risk management system enabled and evaluate the impact of dynamic risk.
Published article "Automating Market Memory Zones Indicator: Where Price is Likely to Return".

This article turns Market Memory Zones from a chart-only concept into a complete MQL5 Expert Advisor. It automates Displacement, Structure Transition (CHoCH), and Liquidity Sweep zones using ATR- and candle-structure filters, applies lower-timeframe confirmation, and enforces risk-based position sizing with dynamic SL and structure-based TP. You will get the code architecture for detection, entries, trade management, and visualization, plus a brief backtest review.
Published article "Introduction to MQL5 (Part 40): Beginner Guide to File Handling in MQL5 (II)".

Create a CSV trading journal in MQL5 by reading account history over a defined period and writing structured records to file. The article explains deal counting, ticket retrieval, symbol and order type decoding, and capturing entry (lot, time, price, SL/TP) and exit (time, price, profit, result) data with dynamic arrays. The result is an organized, persistent log suitable for analysis and reporting.
Published article "MQL5 Trading Tools (Part 18): Rounded Speech Bubbles/Balloons with Orientation Control".

This article shows how to build rounded speech bubbles in MQL5 by combining a rounded rectangle with a pointer triangle and controlling orientation (up, down, left, right). It details geometry precomputation, supersampled filling, rounded apex arcs, and segmented borders with an extension ratio for seamless joins. Readers get configurable code for size, radii, colors, opacity, and thickness, ready for alerts or tooltips in trading interfaces.
Published article "Price Action Analysis Toolkit Development (Part 61): Structural Slanted Trendline Breakouts with 3-Swing Validation".

We present a slanted trendline breakout tool that relies on three‑swing validation to generate objective, price‑action signals. The system automates swing detection, trendline construction, and breakout confirmation using crossing logic to reduce noise and standardize execution. The article explains the strategy rules, shows the MQL5 implementation, and reviews testing results; the tool is intended for analysis and signal confirmation, not automated trading.
Published article "Risk Management (Part 4): Completing the Key Class Methods".
This is Part 4 of our series on risk management in MQL5, where we continue exploring advanced methods for protecting and optimizing trading strategies. Having laid important foundations in earlier articles, we will now focus on completing all remaining methods postponed in Part 3, including functions for checking whether specific profit or loss levels have been reached. In addition, we will introduce new key events that enable more accurate and flexible risk management.
Published article "From Basic to Intermediate: Struct (IV)".

In this article, we will explore how to create so-called structural code, where the entire context and methods for manipulating variables and information are placed within a structure to create a suitable context for implementing any code. Therefore, we will examine the necessity of using a private section of the code to separate what is public from what is not, thereby adhering to the rule of encapsulation and preserving the context for which the data structure was created.
























