MQL5 Algo Trading
387K subscribers
2.56K photos
2.56K 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
Explore innovative coding techniques with MetaTrader 5. Discover how restructuring and efficient use of object-oriented programming can enhance trading systems without sacrificing current functionalities. Learn about integrating new features like floating windows for asset data, using a refined messaging system, and optimizing execution with MQL5 standards. Understand how the C_TemplateChart class introduces improved data analysis and parameter handling for indicators, with a focus on modular and scalable designs. This article offers valuable insights for developers looking to implement robust and flexible algorithmic trading systems while maintaining efficiency and clarity in their codebase.

πŸ‘‰ Read | Freelance | Share!

#MQL5 #MT5 #EA
❀55πŸ‘27⚑4πŸŽ‰4πŸ†2πŸ‘¨β€πŸ’»2😈1
A new script for MetaTrader 5 offers features for precise trading risk management: users can set customizable Risk:Reward ratios and define Stop Loss in pips. The script automatically calculates and applies SL and TP levels based on open positions, whether Buy or Sell. It presents a user-friendly interface with error handling for various market conditions.

To implement, attach the script to the MT5 chart and configure parameters. The script detects open positions for the current symbol and applies the calculated levels, confirming modifications in the MT5 terminal.

This tool saves time by eliminating manual calculations, ensures consistency in trading strategy, and is versatile across various symbols and account types. Installation involves downloading from the MQL5 Codebase and following outlined steps. Testing on a demo account is advised for familiar...

πŸ‘‰ Read | AlgoBook | Share!

#MQL5 #MT5 #Script
❀39πŸ‘12✍3πŸ‘¨β€πŸ’»2
A new update has been made available for the Divergence DeMarker indicator with the release of version 2.00. This new version includes a crucial fix addressing a sequence alignment bug in buffer 3, which could affect precision in specific scenarios. Ensuring accuracy in sequence alignment is vital for developers relying on this tool for technical analysis. Users who previously encountered inconsistencies in output may now benefit from enhanced stability and improvement in analytics performance. As always, maintaining up-to-date resources remains a key consideration for developers focused on precision and reliability in their indicator usage.

πŸ‘‰ Read | Docs | Share!

#MQL5 #MT5 #Indicator
❀28πŸ†10πŸ‘¨β€πŸ’»1
Dive into the fundamentals of static vs dynamic arrays with our latest exploration into ROM and RAM types in MQL5. Understanding these distinctions is crucial for algorithmic trading developers looking to optimize their code. ROM-type arrays, always static and immutable, mirror the behavior of read-only memory within your application. Meanwhile, RAM-type arrays offer dynamic flexibility, allowing their size and content to change during execution. These insights help developers manage memory effectively and avoid common pitfalls when handling elements, especially with arrays behaving like live variables in RAM. Enhance your technical skills and master array management for efficient and robust algorithmic trading code in MetaTrader 5.

πŸ‘‰ Read | Forum | Share!

#MQL5 #MT5 #Programming
❀27πŸ‘6πŸ‘¨β€πŸ’»1
In developing replay systems, handling asset auction states is crucial. Our aim is to accurately inform users about the auction status of a custom asset in a replay or simulation environment. Initially, a rule was set: if no trades occur within 60 seconds, the system notifies users of an auction state. This approach avoids unnecessary system complexity.

Recent updates involve significant changes to various code files, including C_Terminal.mqh and C_Mouse.mqh, enhancing our mouse indicator to consistently recognize order book events. This update supports both live and custom instruments, offering a unified interface for detecting market activity and auction states.

Key modifications include removing unnecessary initializations to avoid erroneous data handling and improving error reporting during initialization. In the updated system, the mouse indica...

πŸ‘‰ Read | VPS | Share!

#MQL5 #MT5 #Algorithm
❀54πŸ‘13πŸ”₯11πŸ‘¨β€πŸ’»2
An automated trading system is designed to manage market positions based on specific conditions. It operates based on the number of open positions. If fewer than a set number of positions are open, the system remains inactive. Upon reaching the specified position count, it will automatically close all previous positions if the total profit and loss (PnL) is positive. If the number of positions is equal to or exceeds the specified count, the system will close all positions once a positive PnL is achieved. This strategy prevents excessive risk by limiting the number of open positions while ensuring occasional profit capture. All positions must share an equal risk level, acknowledging the potential volatility differences across instruments.

πŸ‘‰ Read | Signals | Share!

#MQL5 #MT5 #EA
❀41πŸ‘6πŸ†2πŸ”₯1πŸ‘¨β€πŸ’»1
Candle filtering is a significant feature of the indicator, allowing traders to focus on specific candle types. It supports filtering for Bullish, Bearish, and Doji candles, or displaying all candles with assigned colours. Doji candles are detected using a configurable threshold, ensuring accuracy in identification. The feature enables traders to define custom colours for each candle type, enhancing visual distinction. Default colour settings include green for Bullish, dark red for Bearish, and gold for Doji.

Chart cleaning improves visual analysis by removing elements such as grids and volumes. The initialisation phase maps buffers for OHLC values and assigns custom colours, while unnecessary elements are removed from the chart. In the main calculation phase, each candle’s compliance with the selected criterion determines its display colour. Upon the ...

πŸ‘‰ Read | VPS | Share!

#MQL5 #MT5 #Indicator
❀32πŸ‘8πŸ‘¨β€πŸ’»3
Enhance your MQL4 programming skills by examining the creation and modification of trade operations. Review the key functions and methods that facilitate efficient order management within this trading platform. Consider the nuances of market execution, understanding parameters such as order types, volumes, and execution prices. Analyze error handling techniques to ensure robust script performance and maintain code reliability. Evaluate the best practices for optimizing the execution speed of MQL4 scripts, including resource management and proper utilization of system resources. Stay updated on recent updates and changes in the platform to align your trading strategies with current capabilities and enhance automated trading efficiency.

πŸ‘‰ Read | NeuroBook | Share!

#MQL5 #MT5 #AlgoTrading
❀25πŸ‘14πŸ‘¨β€πŸ’»1
Analyzing the combination of the Triple Exponential Moving Average Oscillator (TRIX) with the Williams Percent Range (WPR) offers insights into trend signals and market conditions. TRIX, a momentum oscillator using triple exponential moving averages, is valuable for filtering out noise and confirming trends. Its crossover above or below the zero line indicates potential trend reversals or confirmations. Meanwhile, the WPR identifies overbought and oversold conditions, serving to highlight support and resistance levels.

When testing these indicators on CHF JPY for the 4-hour time frame in 2023, ten distinct patterns emerged. Among these, the TRIX crossover paired with WPR pivoting can indicate trend shifts, and combining price divergence with TRIX and extreme WPR positions can suggest reversals. TRIX trending behavior with WPR position further r...

πŸ‘‰ Read | Signals | Share!

#MQL5 #MT5 #TechnicalAnalysis
❀36πŸ‘7⚑3πŸ‘¨β€πŸ’»3
Discover an innovative logging solution for MetaTrader 5 developers. The article introduces a sophisticated library, Logify, designed to enhance log management in MQL5 Expert Advisors. It tackles the limitations of native logging by offering a configurable, scalable, and elegant visualization of logs directly on trading charts using the Comment() function. This intuitive approach transforms logs into a real-time console visible on the chart, ensuring critical messages are never missed. Developers can benefit from customizable configurations such as log direction, frame styles, and size, making log monitoring more efficient and professional, ultimately enhancing debugging and analysis.

πŸ‘‰ Read | CodeBase | Share!

#MQL5 #MT5 #EA
❀34πŸ‘10😱3πŸ‘¨β€πŸ’»3⚑2πŸ‘€2πŸŽ‰1
In the MetaTrader 5 Beta Build 5050, we've significantly enhanced the MetaEditor source code editor. The built-in version control system MQL5 Storage has transitioned from Subversion to Git – the global standard for developers – offering enhanced reliability and flexibility in code management.

With this transition, we're introducing MQL5 Algo Forge, a new online portal for project management. This is not just a project list, it is a full-fledged social network for developers. Follow interesting developers, create collaborative teams, and manage projects effortlessly.

Additionally, we've implemented dark mode support for all platform components, offering a more comfortable user experience during nighttime hours.

For hosting, we now offer a 12-month VPS rental option. By purchasing long-term hosting upfront, you save one-third of the total cost.

Finally, we've significantly expanded support for OpenBLAS linear algebra libraries in MQL5, adding nearly thirty new functions.

Read more...
❀137πŸ‘19πŸ”₯14πŸ’―12😐10🀑6πŸ‘¨β€πŸ’»4
In a grid trading strategy, set the grid distance to manage orders based on price movements. For a price decrease meeting the grid-defined threshold, initiate a long order. Conversely, a price increase securing the grid distance justifies a short order. If the price advances triple the grid distance, close the position. The initial fund allocation for the position is one-tenth of the grid requirement, escalating to two-tenths successively. Upon reaching the predefined profit target, all positions close, and the strategy restarts.

For testing, backtest the EOS/USDT pair from January 1, 2021, to August 31, 2021, using default parameters. Additionally, evaluate the AUD/USD pair from the start of January to the end of June 2021. Such assessments help refine strategy effectiveness and performance.

πŸ‘‰ Read | Calendar | Share!

#MQL5 #MT5 #Strategy
❀45πŸ‘7πŸ‘Œ3πŸ‘¨β€πŸ’»1
Technical indicators are widely used by investors and present both opportunities and challenges. One significant issue is the lag inherent in technical indicators and determining the optimal period to use, which can significantly affect trading outcomes. Short periods often introduce noise, while long periods delay signals.

To address this, employing Dimension Reduction Algorithms, particularly Uniform Manifold Approximation and Projection (UMAP), can help optimize indicator periods. UMAP allows for a representation of all available data, revealing insights beyond the original dataset. Additionally, Object-Oriented Programming in MQL5 can enhance efficiency by managing namespace and memory, essential for building effective trading applications.

πŸ‘‰ Read | AppStore | Share!

#MQL5 #MT5 #Indicator
❀30✍5πŸ‘3πŸ‘¨β€πŸ’»2πŸ†1
Dive into the latest advancements in MetaTrader 5 development. Enhance trading strategies by automating the selection process through clustering with Python's robust library scikit-learn. Accelerate the efficiency of Expert Advisor optimization by considering cluster analysis to strategically exclude similar strategy instances. This innovative approach not only boosts trading results but also trims down selection time significantly. Seamlessly integrate Python programs within MQL5 to streamline automatic optimization stages. Implement triggers for task tracking, ensuring precise start and end logging, and improve database handling with enhanced SQL queries. Elevate your algorithmic trading strategies by blending MQL5 and Python's power.

πŸ‘‰ Read | Freelance | Share!

#MQL5 #MT5 #Strategy
❀49πŸ‘9πŸ‘¨β€πŸ’»5
The Cumulative P&L Indicator is a specialized tool for analyzing trading account performance by plotting balance and equity on a chart. Its dual-line presentation offers clarity: the green line reflects realized gains from closed positions, integrating aspects like swaps and commissions, while the blue line represents total equity, combining balance with unrealized profits. With multi-symbol support, it tracks all trading activity across different instruments, ensuring comprehensive accuracy.

Technically, it reconstructs your portfolio's state per bar to maintain historical accuracy in equity curves. Swap charges and currency conversions are seamlessly integrated, making profit calculations straightforward.

Installation involves placing the downloaded file in the MQL5 directory, compiling it in MetaEditor, and attaching it to a chart. The indicator fu...

πŸ‘‰ Read | VPS | Share!

#MQL5 #MT5 #Indicator
❀28πŸ‘6✍4πŸ‘¨β€πŸ’»3
Creating graphical controls that can be bound to other elements is an efficient way of managing GUI in programming. A primary focus is developing functionality where moving a panel also moves all controls attached to it. This requires the programmer to handle GUI construction, as there's no built-in visual constructor within the terminal.

The existing library needs enhancements for this task. Defaults are set using macro substitutions within the library, such as color and shadow properties, which can be adjusted as needed. Furthermore, object hierarchy in the code must reflect logical arrangements to enable object grouping.

Introduced improvements include relative coordinates, enabling position specification based on an object's base. The library's virtual methods support descendant object handling, ensuring flexibility in object manipulation. Additionally, ...

πŸ‘‰ Read | Freelance | Share!

#MQL5 #MT5 #GUI
❀71πŸŽ‰11🀑5πŸ‘¨β€πŸ’»5πŸ‘4
A customizable Moving Average feature with toggle functionality has been developed, similar to the one on Trading View. The feature allows users to show or hide the Moving Average on demand. This was achieved by modifying the example Moving Average code from the MQL5 Metaeditor Help. The enhancement includes adding a button and the necessary logic to make the button toggleable, enabling easy display control of the Moving Average. This functionality can be beneficial in optimizing workspace and simplifying analysis. Users can incorporate or adjust this code to fit their individual requirements, allowing for personalized application. Access the button to control the visibility of the Moving Average easily and maintain workflow fluidity.

πŸ‘‰ Read | AlgoBook | Share!

#MQL5 #MT5 #Indicator
❀47πŸ‘14πŸ‘Œ3πŸ‘¨β€πŸ’»3πŸ‘Ύ2
The volumes indicator is an essential tool in analyzing Forex and stock markets, providing insights into market liquidity and confirming trends. This post outlines strategies using the volumes indicator to enhance trading systems in MetaTrader 5.

Volumes Indicator Overview: It represents the number of price changes over time. In stock markets, it is calculated as the trading volume multiplied by price, useful in assessing supply and demand.

Strategies Explained:
1. Vol - Movement Strategy: Compares current to previous volume to determine increases or decreases, aiding signal generation.

2. Vol - Strength Strategy: Utilizes a five-period average for evaluating volume's strength, indicating potential market vigor.

3. Price & Volume Strategies (Uptrend/Downtrend): Integrates price highs/lows with volume levels to signal trading opportunities.

4...

πŸ‘‰ Read | AppStore | Share!

#MQL5 #MT5 #Indicator
❀65πŸ‘15πŸ’”6πŸ‘¨β€πŸ’»3πŸ”₯2
The revised indicator furthers the functionality of a traditional Donchian channel by incorporating a zigzag pivot structure. Pivots arise when the channel's direction plateaus, serving as connectors for new zigzag legs. This pivot formulation relies on a depth parameter to ensure only robust pivots are marked, acknowledging some lag due to the inherent need for confirmation. In live trading, a dynamic trendline from the last confirmed pivot enhances real-time analysis, persistent until a new pivot is acknowledged. The intention is to assess price respect or disregard towards the trendline, thereby obtaining qualitative insights. A recent update, version 1.02, introduces options for leg correction and trendline enablement, offering enhanced customization for technical analysis pursuits.

πŸ‘‰ Read | AppStore | Share!

#MQL5 #MT5 #Indicator
❀34πŸ‘Œ7πŸ‘4πŸ†2πŸ‘¨β€πŸ’»2