MQL5 Algo Trading
388K subscribers
2.57K photos
2.57K 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
In the realm of advanced trading platforms, understanding the structural and operational nuances of MQL5 libraries becomes imperative for developing robust trading tools. This post delves into the intricate process of importing and utilizing EX5 libraries within MQL5 code, which is essential for creating sophisticated Expert Advisors (EAs) and other trading scripts.

The procedure commences by applying the directive beneath the section in your MQL5 source code. This directive should include the specific path where the .EX5 library is stored, primarily in the default "MQL5/Libraries" or alongside the algorithm's source code. Once the path and file are accurately specified, the subsequent step involves detailing the exported function prototypes to ensure seamless integration within the user’s trading strategy.

Moreover, handling multiple EX5 libraries simultaneously follows a simila...

Read more...
πŸ‘41❀11⚑4✍3πŸ‘3πŸ’―3πŸ€”1
The Detrended Price Oscillator (DPO) provides traders with the ability to identify cycles in price movements, pinpointing the distance between peaks and troughs with greater precision. In this updated version of the DPO, a unique feature has been introduced: the oscillator is represented in blue with an accompanying smoothed histogram. This histogram aids in visualizing the length of the price cycles, simplifying cycle analysis for better strategic planning in trading activities. This innovation offers enhanced clarity and ease of analysis for traders looking to optimize their market timing based on cyclical patterns in price movements.

Read more...
πŸ‘68❀34⚑9πŸ‘6✍4πŸ‘Œ4πŸŽ‰3
Algorithmic trading developers must adapt strategies as market conditions evolve, transitioning from mean-reverting strategies during stable times to trend-following strategies during directional shifts. A challenge arises when a single strategy is applied universally, which often fails to deliver consistent success. Instead, coding multiple strategies into a program allows for manual strategic selections tailored to current market behaviors.

To improve this methodology, developers can design systems that autonomously switch strategies based on quantitative assessments of market conditions. This adaptability can be achieved by implementing transition matrices used to measure market trends and behavior, guiding the strategy selection process.

The concept was pioneered by Andrey Markov, whose Markov Chains help model the randomness seen in market dynamics. By applying transition matri...

Read more...
πŸ‘31❀18πŸ†4πŸ‘Œ3⚑1
The newly designed .mqh files facilitate the export and import of orders and trades between Expert Advisors (EAs), providing functionality for copying trades either within the same trading terminal or across terminals on the same computer. This system supports trading across different symbols, such as copying a spot market instrument's trades to corresponding futures.

For exporting, the `GRat_OrderExport.mqh` file must be included in your EA. Configuration options include setting Common to true for exporting to another terminal on the same machine, or false for the same terminal. The KeepSeconds parameter dictates the availability duration for exported trades, with a setting of 0 allowing indefinite availability. Implementation requires adding `ExportOrder()` where `OrderSend()` or `CTrade` methods execute orders.

For importing, integrate the `GRat_OrderImport.mqh` file into your EA...

Read more...
πŸ‘56❀34⚑9πŸŽ‰8🀣6
Transfer entropy is a powerful statistical measure used to determine the amount of information exchanged between time series and to analyze the direction of causal relationships. It is particularly valuable in discerning whether one variable can predict another. This approach leverages the concept of Granger causality, which is based on comparing prediction errors and enhancing model fit by including past values of a potentially causative variable in the regression model.

Significance tests such as p-values and z-scores are employed to ensure the robustness of transfer entropy calculations. These tests involve comparing results from original data with those from shuffled datasets to check if the observed causality is statistically significant or merely coincidental.

Programming-wise, an MQL5 implementation to measure transfer entropy has been described, titled `transfer_entropy.mqh`...

Read more...
πŸ‘18❀10πŸ‘Œ5πŸ‘€2⚑1
This article discusses a trading bot that uses real-time sentiment analysis from social media to guide its trading decisions. Integrating MetaTrader 5 (MT5) with a Python-based sentiment analysis tool, the bot showcases a hybrid of quantitative finance and natural language processing. With client-server architecture, it utilizes socket communication to connect MT5's trading functionalities and Python's data parsing capabilities.

The bot analyzes Twitter sentiment concerning specific financial instruments and converts this data into actionable trading signals. This method not only taps into the synergy of diverse technologies in finance but also underscores the significance of alternative data in contemporary trading strategies. The in-depth analysis of the bot focuses on its functionality and code structure, processing social media data, and managing trade executions based on sentim...

Read more...
❀17πŸ‘17πŸ†6πŸ”₯3⚑1
This discussion revisits the topic of how learning rate formats impact Expert Advisor performance, focusing particularly on adaptive learning rates and the one-cycle learning rate. Adaptive learning rates like adaptive gradient, adaptive RMS, adaptive mean exponential, and adaptive delta are explored, each tailoring the learning rate based on the training gradients of specific parameters within the model, thereby optimizing performance by adjusting the learning input precisely.

Furthermore, the article delves into the benefits of using the Sigmoid activation within a specified range for the NZDUSD forex pair in the context of the 2023 daily timeframe. This selective use along with non-batch normalized inputs, although risky, aims to simplify the evaluation of learning rate effectiveness under controlled output conditions. The article recognizes inherent risks in non-normalized data, ...

Read more...
πŸ‘20❀5πŸ‘4πŸ’―1
Developing an Expert Advisor (EA) requires a nuanced understanding of both algorithms and market indicators. This article highlights two primary methods for integrating indicators into an EA's algorithm. One approach is direct coding of indicator conditions, which enhances efficiency and speed in Strategy Tester operations without separate indicators. The second method involves programming the EA to respond to the indicator's buffer states, which require specific setup within MetaTrader 5 directories to ensure operational functionality.

Challenges arise when attempting to publish an EA based on a custom indicator, as the MQL5 community's validation system may not recognize the custom setup, confining testing and use to personal computers. Preparing an indicator involves organizing buffer sequences and understanding buffer operations, a critical step for seamless EA development. Each ...

Read more...
πŸ‘26❀11⚑7✍3
In software development, creating and integrating multiple tools on a unified platform, such as MetaTrader 5, can lead to unexpected compatibility issues. When different programs, processes, or indicators, designed to operate independently, are combined, conflicts may arise, causing performance issues or functionalities to break. Professionals in the IT and programming sector must anticipate these conflicts and design components that can seamlessly integrate without conflict.

The development of a new Chart Trade indicator, distinct from a previous iteration discussed in earlier articles, illustrates this process. The new version avoids using legacy code and is designed to operate harmoniously with other components, specifically a mouse indicator developed earlier. This approach emphasizes creating components that can easily interact and function together, thus minimizing the potentia...

Read more...
πŸ‘23❀11πŸ‘4⚑2✍2πŸ‘€2
The Whale Optimization Algorithm (WOA), inspired by humpback whales' hunting strategies, applies biological behaviors to technical optimization. In algorithmic terms, "whales"β€”representing different solutionsβ€”navigate towards optimal results by mimicking whale hunting techniques such as "bubble netting" and "spiral penetration."

WOA initiates with a random whale population, selecting a leader based on the best objective function. This leader guides the group, with other whales updating their positions in two modes: exploration (search around the best solution) and exploitation (move towards the best solution). This balance allows the algorithm to efficiently search and optimize solutions space.

Despite its innovative approach, WOA has limitations like potential for local optimum entrapment and slow convergence times. Adjustments like incorporating migration strategies have been prop...

Read more...
πŸ‘23πŸ†8πŸ‘Œ4❀3πŸ‘2⚑1
The Roofing Filter Indicator, developed by John Ehlers, is utilized in trading to identify short-term trends. When this indicator surpasses its signal line, it suggests a short-term uptrend is initiating, whereas a crossover below indicates a potential downtrend. Traders may consider buying when the indicator's line turns green and selling when it shifts to red, aiding in strategic decision-making to optimize trading performances. This method provides a systematic approach to catch trend shifts promptly, benefiting those engaged in active trading environments.

Read more...
❀38πŸ‘19⚑4πŸ‘4πŸ‘Œ2πŸ”₯1
Linux offers a robust ecosystem for software development, preferred especially by those proficient in command line interfaces. Its package management system simplifies application installation, making the operating system transparent and mutable, allowing deep customization of its subsystems. Linux’s design includes ready-to-use essential development tools, creating a flexible and efficient environment favored in software engineering. This platform is versatile, spanning from personal desktops to sophisticated cloud services provided by major platforms like AWS and Google Cloud.

Developers targeting Windows users can utilize Linux to develop and deliver consistent, platform-agnostic applications. For instance, MetaTrader 5 developers often employ the MQL5 programming language and rely on the MT5 IDE for compiling. However, when developing custom solutions like shared libraries (DLLs)...

Read more...
❀23πŸ‘10✍5πŸ‘€4⚑3πŸŽ‰2
This technical indicator is designed to assist in trend and channel identification using the BSI Indicator as a base evaluation tool. It begins by assessing the overall market trend with the BSI, followed by drawing either trend lines or channels based on specific conditions. The configuration includes an orange dashed line to indicate either a high trend line or channel, while a blue dashed line represents a low trend line or channel. Key visual cues include a red mark to denote a high reversal bar and a blue mark for a low reversal bar. Additional features include a pink line, which outlines the tango line indicating the entry level, and a magenta line that depicts the moving average of the tango line. For clarity on BSI values, a red dotted line is used. This type of indicator is crucial for technical analysis, providing clear visual aids to guide trading decisions.

Read more...
πŸ‘55❀36πŸ‘Œ5πŸŽ‰2⚑1πŸ‘1😁1
MetaTrader 5 now supports a new program type called services, enabling users to create custom price feeds by implementing real-time price delivery from external systems. This feature allows for continuous data synchronization similar to that on brokers' trade servers, without needing to be chart-dependent.

Services run in their own thread, with executed threads correlating to the number of services. Unlike scripts and Expert Advisors (EAs), services can operate continuously without interrupting the functioning of other MQL5 programs, thanks to their independent execution flow. Additionally, services differ in their inability to use certain functions such as ExpertRemove() or any related to timers and custom indicators, aligning with their design to handle single Start events and ongoing tasks without user intervention.

Specifically, services can be extremely useful for background op...

Read more...
πŸ‘35❀17πŸ‘6⚑3πŸ†3✍1πŸ‘¨β€πŸ’»1
This function serves as a foundational script for retrieving the day's trading history in a trading platform environment. It's designed to allow users to enhance its functionality, such as by incorporating additional data types like trading volume. Modifications can also be made to examine different time periods by adjusting the starting variable in the code.

By default, the output, specifically the Daily Profit figure, is displayed in the Experts Panel. This function is crafted to be straightforward, promoting comprehensibility and ease of adaptation for further customization and extension by users who wish to tailor the function to meet specific trading needs or integrate more complex trading metrics.

Read more...
πŸ‘65❀29πŸ†5πŸ”₯4πŸ‘4πŸ‘Œ4πŸ€”1
In the realm of computer vision, the estimation of optical flow is essential for various applications including autonomous driving and object tracking. Traditionally, this problem has been approached largely through convolutional neural networks which, while effective to an extent, often fall short in handling scenarios involving large displacements or occlusions due to their limited receptive fields.

A promising method, CCMR (Coarse-to-Fine Context-Guided Motion Reasoning), represents a significant advancement in optical flow estimation. By integrating context-based motion aggregation with high-resolution multi-scale approaches, CCMR allows for more precise detection of flow fields, particularly in areas obstructed from view. This method employs transformers and other attention mechanisms, overcoming the constraints of traditional CNNs by leveraging global context at each stage of p...

Read more...
❀23πŸ‘16πŸ‘5πŸ†4⚑1
The Swing High/Low Identifier is a beneficial tool for MT5 users, engineered to accentuate key swing points on trading charts. This indicator enhances traders' ability to rapidly detect critical price levels and patterns, integral for executing strategic trading decisions. It marks swing highs with red arrows above the candles and swing lows with blue arrows beneath them, based on a user-defined range of bars.

This tool offers several strategic applications including:

1. *Trend Reversal Identification*: Helps in pinpointing potential resistance and support levels, aiding traders in forecasting the start of downtrends and uptrends.
2. *Support and Resistance Analysis*: The indicator's markings can be used to draw horizontal lines or channels to identify crucial support and resistance zones.
3. *Price Action Trading*: Traders can integrate the indicator with other price action methods...

Read more...
πŸ’―31❀17πŸ‘17⚑8πŸ‘4πŸŽ‰2
In technical analysis, the significance of candlestick patterns is enhanced when the candle's body constitutes at least 50% of the total range. This attribute indicates stronger market conviction in the price movement represented by the candle. An indicator can be employed to identify and color-code these candles, distinguishing them visually on charts. Candles not meeting this criterion retain the default color settings of the chart, allowing analysts to quickly assess market sentiment and potential price directions with greater clarity. This method aids in more precise and efficient chart analysis, supporting better-informed trading decisions.

Read more...
πŸ‘40❀22πŸ‘Œ6🀯4πŸ†4⚑1
One of the most popular threads on our forum is the one dedicated to getting started with MetaTrader 5.

Our community members have gathered a lot of useful information to assist everyone start trading on the platform and utilize its features to the fullest:

βœ“ Platform usage tips and practical insights
βœ“ Examples of working with indicators and instructions on testing robots
βœ“ Overviews of interesting articles for traders

Read this thread and join other forum discussions in the world's largest algo trading community. Add to favorites so you don't miss important updates.

Join the thread "How to Start with MetaTrader 5"
πŸ‘39❀26πŸ”₯6⚑4πŸ€”4
In the latest update on trading strategy automation, a significant advancement has been made in the realm of Expert Advisors (EAs) for trading platforms. The ability to maintain the state of an EA after a restart has now been enhanced to accommodate variable position sizes based on the trading account balance.

The update introduces the concept of a 'Normalized Trading Strategy'. This approach centers on defining a fixed lot size and calculating an initial balance that can sustain a drawdown, but not exceed 10%. This method ensures calculated risk while enabling position adjustment proportional to the account balance changes.

Three money management options are detailed: fixed size, constant size for a specified balance, and variable size according to the current balance. Each serves distinct testing and operational purposes ranging from demonstration to real trading environments, p...

Read more...
❀19πŸ‘14⚑3πŸ‘Œ2πŸ‘1