MQL5 Algo Trading
394K subscribers
2.6K photos
2.6K links
The best publications of the largest community of algotraders.

Subscribe to stay up-to-date with modern technologies and trading programs development.
Download Telegram
The Price Action Analysis Toolkit has developed a tool that enhances chart analysis by scanning and identifying candlestick patterns. Initially intended to locate patterns, its application has expanded to reveal recurring price levels, acting as support or resistance. Recognizing these levels allows traders to anticipate market behavior, better timing for entries and exits, and strategic stop placements.

The Pattern Density Heatmap further advances this by detecting historical candlestick patterns to create zones that illustrate past market reactions. This approach offers a strategic advantage by informing traders of potential market moves as price approaches these zones.

Implementation in MQL5 involves coding a system that scans historical data for patterns, aggregates detections into price zones, and visualizes them with a heatmap. These zones are no...

πŸ‘‰ Read | Docs | @mql5dev

#MQL5 #MT5 #Pattern
❀59πŸ‘¨β€πŸ’»6πŸ‘Œ3
Average Daily Range (ADR) and Average True Range (ATR) are essential indicators used in trading for volatility analysis. ADR measures the average difference between the maximum and minimum prices over a specific period, such as 14 days. This provides traders with insights into expected price fluctuations within a day, aiding in strategy development.

In contrast, ATR calculates the average of the true range values. The true range considers the differences between today's high and low, today's high and the previous close, and today's low and the previous close. By accounting for these gaps, ATR offers a more comprehensive view of volatility and is valued for adaptability to market changes.

While ADR focuses on daily volatility, ATR’s flexibility makes it suitable for broader applications, including risk management and establishing stop-loss levels. Understanding ...

πŸ‘‰ Read | Quotes | @mql5dev

#MQL5 #MT5 #ADR
❀37πŸ‘Œ6πŸ‘¨β€πŸ’»3✍2
Explore an advanced approach to creating Expert Advisors (EAs) in MetaTrader 5 using a systematic constructor methodology. This framework facilitates a modular design with customizable trading strategies through a simple 'copy-paste' logic, ensuring the inclusion of essential functions like Stop Loss, Take Profit, and Trailing Stops. By leveraging the structured `SearchTradingSignals` and `STRUCT_POSITION` methods, the article outlines robust techniques for managing trades, including executing and confirming trading orders. Additionally, it delves into integrating standard and custom indicators, showcasing effective algorithmic solutions for developers and traders interested in reliable, versatile EA development.

πŸ‘‰ Read | AppStore | @mql5dev

#MQL5 #MT5 #EA
❀54πŸ‘¨β€πŸ’»9✍8πŸ†1
The multi-timeframe confluence oscillator integrates Stochastic, RSI, and MACD across three timeframes to support trend entry identification. It assigns scores for alignment, with values above 50 indicating bullish sentiment and below -50 suggesting bearish sentiment. This tool is designed for trend-continuation confirmations, reactions to support and resistance levels, and identifying exhaustion conditions. Unlike traditional methods that normalize values, this oscillator relies on a scoring system to provide its insights. It has shown effectiveness, especially in detecting divergences, making it a useful component of a technical analysis toolkit when used alongside other strategies.

πŸ‘‰ Read | Signals | @mql5dev

#MQL5 #MT5 #Indicator
❀40⚑3πŸ‘¨β€πŸ’»2
The two moving averages crossover strategy remains a staple in trading. It leverages two moving averages, typically with different timeframes like 50-day and 200-day. Traders monitor the point of intersection. A short-term moving average crossing above a long-term one indicates a potential buy situation, suggesting a trend reversal upwards. Conversely, a downward crossover may signal a sell opportunity.

Selecting appropriate periods is crucial for accurate signals. Incorporating risk management through stop loss orders enhances strategy robustness. Setting stop losses at strategic levels can mitigate potential downturn impacts. Ensure continuous testing and evaluation to refine strategy effectiveness in varying market conditions. Stay informed and adapt to market changes.

πŸ‘‰ Read | Forum | @mql5dev

#MQL5 #MT5 #Strategy
❀30πŸ‘Œ3😱2πŸ‘¨β€πŸ’»2
Explore how dynamic, multidimensional arrays enhance MetaTrader 5 development. The article introduces an innovative approach for managing complex object properties using dynamic arrays, allowing flexibility beyond traditional static arrays. Developers can now store various data typesβ€”integer, real, or stringβ€”using a custom class that dynamically adjusts to changing data dimensions. This progression facilitates streamlined storage of multi-property objects like graphical elements on a trading chart, solving the challenges of static array limitations. The approach ensures scalability and adaptability in storing dynamically changing object data, vastly improving algorithmic trading strategies with intricate, updatable data structures.

πŸ‘‰ Read | AlgoBook | @mql5dev

#MQL5 #MT5 #Algorithm
❀61πŸ‘¨β€πŸ’»10
A concise indicator displays the percentage change in price since the trading session's opening on the current symbol. Positioned in the lower right of the price chart, it provides a clear positive value when the current price exceeds the opening price and a negative value when it falls below. This tool aids in quick visual assessment of price movement direction and magnitude within the session. It is convenient for traders needing a straightforward measure of relative price performance without complex analysis. This feature enhances situational awareness directly on the price chart, facilitating informed decision-making during active trading sessions.

πŸ‘‰ Read | Signals | @mql5dev

#MQL5 #MT5 #Indicator
❀43πŸ‘Œ4πŸ’―4πŸ‘2πŸ‘¨β€πŸ’»2
Explore the intricate process of developing a robust View component in the MVC paradigm using MQL5. The article delves into constructing a foundational object for canvas drawing that ensures dynamic visual elements in algorithmic trading platforms. It presents essential classes managing diverse functionalities like color transitions, rectangle control, and dual-layer graphics, thereby simplifying dynamic resizing and user interaction. This structured approach, while setting the stage for streamlined future integrations with Model and Controller components, enhances flexibility and scalability in building complex graphical interfaces, like tables, and control elements, crafting a precise and efficient development path for traders and developers alike.

πŸ‘‰ Read | Quotes | @mql5dev

#MQL5 #MT5 #MVC
❀21πŸŽ‰7πŸ‘¨β€πŸ’»2
Discover how to enhance MetaTrader 5 Expert Advisors with a multi-signal framework that leverages the MQL5 Standard Library. Building on modularity, each signalβ€”whether using Moving Averages, RSI, or custom configurations like Fibonacci analysisβ€”acts independently, contributing to a robust collective strategy. Instead of relying on one approach, the system assigns specific roles to signals as either primary triggers or filters. This allows for adaptability across varied market conditions, ensuring resilience even if individual signals falter. By incorporating customizable features that align with user preferences, traders and developers can craft dynamic EAs capable of prevailing in diverse trading environments.

πŸ‘‰ Read | AlgoBook | @mql5dev

#MQL5 #MT5 #Algorithm
❀50⚑13πŸ‘¨β€πŸ’»4πŸ‘Œ2πŸŽ‰1
The script facilitates creating nearly all standard graphical objects in MetaTrader 5, aiding in rapid visual testing of the ObjectCreate() function along with methods for setting various object properties. It focuses on attributes like coordinates, sizes, fonts, colors, and additional parameters. Upon execution, it replaces any pre-existing objects on the active chart, creating a new one based on the settings.

The script highlights the newly created object to allow for immediate adjustments of reference points or location. Users can select any standard object type using the InpObjectToCreate input parameter, including lines, channels, Gann and Fibonacci tools, Elliot waves, graphical labels, and GUI elements. Each object type has its dedicated creation function with comprehensive attribute settings such as timestamps, price levels, directions, scales, ...

πŸ‘‰ Read | AppStore | @mql5dev

#MQL5 #MT5 #script
❀35πŸ‘€12⚑2πŸ‘¨β€πŸ’»2πŸ‘Œ1
The recently developed indicator provides functionality for adjusting "Trend Line" objects to a horizontal position on the chart. This is achieved by modifying the price coordinate of the second reference point of these lines, typically positioned on the chart's right side. It allows users to set color and style preferences for these lines, enhancing visibility and analysis. This tool aids in maintaining clean and organized charts, facilitating technical analysis and decision-making. Users can ensure that their trend lines serve as effective visual aids in assessing market movements.

πŸ‘‰ Read | Docs | @mql5dev

#MQL5 #MT5 #Indicator
❀34πŸ”₯5πŸ‘¨β€πŸ’»3
Discover how ResNeXt, a cutting-edge neural network architecture, revolutionizes financial analysis with its ability to handle high-dimensional data efficiently. This architecture excels in both local and global dependency capture while optimizing computational complexity through innovative grouped convolutions. Paired with multi-task learning, ResNeXt elevates model accuracy and robustness in dynamic financial markets, addressing tasks like trend forecasting and risk assessment. By automating feature extraction from raw financial data, it eliminates the need for manual engineering. Designed with a modular structure, ResNeXt promotes easy scalability and high-performance data processing, making it indispensable for modern algorithmic trading strategies.

πŸ‘‰ Read | AppStore | @mql5dev

#MQL5 #MT5 #DeepLearning
❀48πŸ‘Œ6πŸ‘¨β€πŸ’»3✍2
The Comm.mqh file has undergone recent updates. Version 1.08 was released on January 24, 2025, followed by version 1.09 on February 3, 2025. These updates addressed the requirement to display information from the service directly onto the terminal's first chart. An option to specify the chart ID in the comment was integrated into this functionality. The latest update, version 1.10, rolled out on May 31, 2025, introduced minor modifications to ensure compatibility with the new compiler standards. These updates aim to enhance the file's utility and maintain alignment with current development practices.

πŸ‘‰ Read | Freelance | @mql5dev

#MQL5 #MT5 #update
❀24πŸ‘Œ2πŸ‘¨β€πŸ’»2
Part 44 focuses on the Change of Character (CHoCH) strategy development in MQL5, which identifies potential trend reversals through swing high/low breaks. This system scans bars to mark swing highs and lows, using labels such as HH/LH/LL/HL, to determine trends and initiate trades on breakout signals. We implement options for bar or tick-based modes, fixed trade levels, risk management strategies, and visual elements like icons and labels.

The implementation includes global variables and input parameters for user configurations. Functions are defined for chart visualization, swing point labeling, and CHoCH breakout indication. Events and conditions are set to trigger appropriate trades, incorporating trailing stops for securing gains.

The system requires thorough backtesting and careful risk management prior to live deployment, making it a robust f...

πŸ‘‰ Read | Forum | @mql5dev

#MQL5 #MT5 #AlgoTrading
❀22πŸ‘Œ2πŸ‘¨β€πŸ’»2
Extracting close prices from daily candle data involves a systematic approach similar to that used for opening prices. Each string array representing daily data follows a consistent structure, permitting us to identify the location of the close price consistently across all records. Typically, the close price is located following other components such as the opening price, highest and lowest prices.

Starting with string arrays for each day, identify the index corresponding to the close price. This often follows the low price value, ensuring each day's structure is preserved. Convert the extracted string representing the close price into a double data type, supporting precise arithmetic operations and facilitating future analyses.

Repeat this extraction and conversion for all daily records, capturing each close price. By collating these values into a ...

πŸ‘‰ Read | Calendar | @mql5dev

#MQL5 #MT5 #MQL5
❀11πŸ‘Œ2πŸ‘¨β€πŸ’»2⚑1
Technical analysis often prioritizes price, neglecting a crucial component: volume. Volume serves as the market's engine, providing insights into why price movements occur. High volume indicates strong, reliable trends, while low volume suggests potential reversals.

Volume data differs between markets. Real volume in stock exchanges offers exact numbers, while tick volume in forex acts as a proxy through price changes. Despite differences, tick volume aligns closely with actual trading activity.

This analysis introduces the Volume Boundary indicator, converting raw volume data into a bounded, interpretable format. By using mathematical transformations and smoothing functions, it offers standardized volume insights suitable for algorithmic trading. Understanding volume enhances strategic trading, moving beyond surface-level price observations.

πŸ‘‰ Read | Calendar | @mql5dev

#MQL5 #MT5 #Volume
❀15πŸ‘5πŸ‘¨β€πŸ’»2
Trade like a seasoned pro with this innovative accounting tool for MetaTrader 5 and beyond. Discover a comprehensive system designed to transform the way traders manage capital. By using a clear, data-driven approach, traders can separate personal finances from trading capital, providing balanced decision-making and risk management. The highlights include SQLite data storage with efficient transactions, a user-friendly tkinter interface, and robust analytics using pandas and matplotlib for financial insights. Elevate your trading confidence and performance by focusing on key metrics for real financial literacy and control. Automate, streamline, and conquer the complexities of trading with precision and foresight.

πŸ‘‰ Read | Freelance | @mql5dev

#MQL5 #MT5 #Finance
❀21πŸ‘¨β€πŸ’»2
Structs offer a fundamental bridge between object-oriented and conventional programming. They simplify data management, yet demand careful handling, especially when passing values to functions or procedures. Historical constraints of languages like C have given way to safer data transfer mechanisms. Effective use involves minimizing the knowledge functions require about structures.

Understanding structures as special data types enriches programming flexibility. Global struct declarations allow smoother data transfer, a common practice in languages like Python and JavaScript. This aids in reducing function overloads, enhancing code efficiency. Employing structures in this way allows for clearer code organization, data encapsulation, and easier management of complex datasets. Proper implementation ensures a clean, efficient codebase ready for future expa...

πŸ‘‰ Read | Freelance | @mql5dev

#MQL5 #MT5 #coding
❀22πŸ‘¨β€πŸ’»3✍2