MQL5 Algo Trading
489K subscribers
3.1K photos
3.1K 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
Bollinger Bands are a useful tool for assessing price volatility through their phases of narrowing and widening. This indicator provides a straightforward visual representation of these patterns. By utilizing iBands data, it calculates colors to depict price movements effectively. Although this approach may seem unconventional, it efficiently highlights changes in volatility. Such insights can assist in identifying potential trading opportunities and understanding market dynamics. Implementing Bollinger Bands in technical analysis can offer a clearer perspective on market trends and price behavior, aiding in more informed decision-making processes.

πŸ‘‰ Read | Signals | @mql5dev

#MQL5 #MT5 #Indicator
❀50🀯6πŸ‘3πŸ‘€1
Learn how to seamlessly integrate graphical elements into MetaTrader 5 with a focus on enhancing trading tools. By embedding graphical objects within library structures, starting with the bar object, functionality expands to display and interact with data. Implement a management class to handle graphical creation, enabling each object to autonomously generate and control visuals. This integration allows developers to create dynamic, interactive trading platforms. Enhance object visibility with methods for showing and hiding forms, pivotal for user interactivity. Developers gain a versatile graphic component tool, adding a "visual" dimension to trading libraries, offering enhanced usability and intricate data presentations.

πŸ‘‰ Read | Quotes | @mql5dev

#MQL5 #MT5 #Graphical
❀57✍7πŸ†7πŸ‘Œ3πŸ‘€3πŸ”₯1
Efficiently navigate timeframes using keyboard hotkeys 1 through 9, excluding the number pad. Assignments are as follows: 1 for M1, 2 for M5, 3 for M15, 4 for M30, 5 for H1, 6 for H4, 7 for D1, 8 for W1, and 9 for MN. This setup optimizes analysis workflow, allowing quick transitions between different time intervals essential for detailed data examination. Such shortcuts enhance productivity, facilitating rapid switching without mouse interaction. Adopting this practice aids in maintaining focus on data trends and patterns without the distraction of manual menu navigation. Ensure consistency in setup across systems for seamless operation in diverse environments.

πŸ‘‰ Read | Forum | @mql5dev

#MQL4 #MT4 #Hotkeys
❀53πŸ‘4πŸ‘Œ4πŸ‘¨β€πŸ’»2
The article provides valuable guidance for developers aiming to improve efficiency and quality in coding practices. Key takeaways include the importance of thorough planning, utilizing existing code bases to avoid redundancy, and focusing solely on necessary project components. Developers are encouraged to embrace challenging tasks to enhance skill versatility and maintain good health for sustained productivity. Immediate action on ideas, setting clear deadlines, and understanding personal peak productivity moments are emphasized. Regular self-reflection, objective performance measurement, and exploring resources beyond current work are recommended to refine skills and increase project efficiency. Lastly, optimizing testing procedures is vital for effective project development.

πŸ‘‰ Read | CodeBase | @mql5dev

#MQL5 #MT5 #Strategy
❀65πŸ‘15⚑6πŸ‘€6πŸ‘Œ4πŸŽ‰2
Introducing Fox Wave Clean - a streamlined order manager EA designed for efficient trade management with a single-click operation. The tool features a straightforward interface with substantial functionality, ideal for traders seeking effective management solutions.

Key capabilities include removing all pending orders with instant effect, supported by a confirmation dialog to ensure user consent and accuracy in order count. For profit and loss management, it provides one-click solutions for closing profitable trades with additional safeguards, as well as an option to close loss positions with a risk warning system.

Equipped with a comprehensive live dashboard, it delivers real-time data on position statistics, pending orders, and profit/loss tracking, all displayed in account currency. The professional-grade dark theme enhances user interaction experienc...

πŸ‘‰ Read | CodeBase | @mql5dev

#MQL5 #MT5 #EA
❀48πŸ‘4πŸ”₯2πŸ‘Œ2
The transition from chart analysis to automated trading requires a solid understanding of market structures and algorithms. Traders struggle when translating visual observations into precise rules. Identifying swing points visually is intuitive, but automating this for consistent decision-making poses challenges. This is especially true when aiming to eliminate personal bias by relying on objective, testable rules.

Larry Williams' market structure concepts form the core of this automated trading strategy. Using MQL5, an Expert Advisor is developed to interpret market structure data from a custom indicator, making it actionable. Key elements include automating trade execution upon confirmation of swing points, managing risk through structured stop-loss placement, and ensuring trades align with robust market analysis.

All components are designed to ensure effi...

πŸ‘‰ Read | NeuroBook | @mql5dev

#MQL5 #MT5 #Trader
❀49πŸ‘10🀯4⚑3πŸ‘Œ3πŸ”₯1
The Billiards Optimization Algorithm (BOA), introduced by Hadi Givi and Marie HubΓ‘lovskΓ‘ in 2023, offers a unique approach to solving optimization problems by drawing inspiration from billiards. It models the search space as a pool table with solutions represented as balls moving towards optimal pockets. The iterative refinement process aims to balance global and local search using a stochastic method.

Implementation details reveal a method influenced by a combination of random and deterministic movement, guided by an equation that adjusts positions based on the proximity to target pockets. The algorithm runs through multiple iterations to refine solutions and approach optimality.

Initial test results suggested room for improvement, particularly in navigating large-dimensional problems or avoiding local minima. Revising the movement equation for...

πŸ‘‰ Read | VPS | @mql5dev

#MQL5 #MT5 #Algorithm
❀54✍6πŸ”₯6🀨5πŸ‘Œ4πŸ‘3
A new indicator has been developed for a more streamlined presentation of the Parabolic SAR. It operates in a separate window, offering a different view that may enhance clarity for some users. Additionally, this tool includes a feature for traders who use the SAR as a moving StopLoss. When applied to a trading pair, it actively monitors open positions and provides immediate alerts if the Parabolic SAR shifts unfavorably against the position. This functionality aims to support more effective decision-making by ensuring that traders are promptly informed of potential changes in trend direction as indicated by the Parabolic SAR.

πŸ‘‰ Read | AlgoBook | @mql5dev

#MQL4 #MT4 #Indicator
❀57✍7πŸ‘€6⚑4πŸ‘Œ3πŸ†2πŸ”₯1
Enhancing the library classes involves optimizing existing code to improve readability and reduce redundancy by formalizing repetitive logic into functions or methods. This approach streamlines code management, ensuring a cleaner and more efficient structure.

The addition of a geometric animation frame object class enables easier construction of regular polygons by calculating their vertex coordinates using geometric equations, improving precision and reducing manual calculations.

Adjustments have been made to accommodate geometric shapes, including changes in animation frame naming conventions and the addition of new enumeration types for geometric animations. This ensures consistent handling of all animation frames regardless of their shape or type.

Geometric animation frames now facilitate inserting regular polygons into circumscribed circles, e...

πŸ‘‰ Read | AlgoBook | @mql5dev

#MQL5 #MT5 #Algorithm
❀83πŸ‘13πŸ‘Œ6πŸ‘€4πŸ’”3🀯1
John Ehlers has proposed an enhanced RSI in the January 2022 issue of TASC using Hann windowing, resulting in a smoother RSIH indicator with a zero mean. This approach eliminates the need for additional filtering due to inherent smoothing in the calculation. RSIH can be applied like any other RSI indicator. Its momentum nature suggests potential momentum shifts when color changes occur. Furthermore, zero crossings could serve as indicators of long-term trend estimations. The development signifies a potential alternative to traditional RSI, offering insights in momentum and trend analysis with improved performance characteristics.

πŸ‘‰ Read | VPS | @mql5dev

#MQL5 #MT5 #Indicator
❀39πŸ‘4⚑3πŸ‘3πŸ‘Œ3✍2πŸ†1
Explore the next phase of algorithmic trading with MetaTrader 5 as we enhance support and resistance zones with decision-making intelligence. Building on earlier work, we're shifting from passive analysis to active decision making. The focus is on programmable entry logic using candlestick patterns within specific zones, vital for precise trading in smaller accounts. Automating detection and notifications ensures traders capture every opportunity efficiently. We present a modular system leveraging MQL5 for real-time alerts, zone-awareness, and advanced candlestick detection. This innovation paves the way for future automated solutions, offering both traders and developers a robust framework to refine and execute trading strategies.

πŸ‘‰ Read | Freelance | @mql5dev

#MQL5 #MT5 #Algorithm
❀94πŸ‘Œ7πŸ‘4πŸ’―2✍1
A new indicator implementation focuses on candlestick analysis without further modernization plans. The current design identifies when a candlestick body breaks through the blue line, offering insights for decision-making processes in trading or data analysis. The approach remains static, prioritizing stability over feature expansion at this stage. It provides a straightforward tool for users seeking reliable pattern identification in their technical analysis workflows. Suitable for those requiring a consistent performance in monitoring specific market movements, this implementation allows for clear visualization of key trading signals.

πŸ‘‰ Read | AlgoBook | @mql5dev

#MQL5 #MT5 #Indicator
❀50πŸ‘€4πŸ‘Œ2✍1
Analyzing financial time series through clustering provides a strategic advantage in trading system development. By segmenting data into distinct clusters characterized by unique features, one can fine-tune trading models for more consistent results. This technique aids in separating distinct market regimes, enabling trading systems to adapt to specific market conditions, such as trends and volatility levels.

The integration of clustering methods with mean reversion labeling enhances model training. Implementing filters like Savitzky-Golay, along with adding Moving Averages and Splines, supports robust labeling. This refines the learning environment, allowing for precision in trade decision-making. Employing Python for handling these processes, and using packages like Numba, underscores flexibility and computational efficiency in model training.

πŸ‘‰ Read | Signals | @mql5dev

#MQL5 #MT5 #MachineLearning
❀49πŸ‘€3πŸ‘Œ2πŸ‘1
Explore the DeepAR model in algorithmic tradingβ€”an autoregressive neural network designed for probabilistic time-series forecasting. Unlike traditional models, DeepAR provides full distributions of future values, aiding in risk-aware decisions. Built on RNN architecture with LSTM cells, it learns shared patterns across time series, capturing trends and seasonality effectively. By utilizing both static and dynamic features, it surpasses models like XGBoost in handling diverse data inputs. Implemented in Python with PyTorch Forecasting components, DeepAR enables powerful forecasting capabilities for traders, making it a potent tool for complex, real-time market predictions. This innovative model brings a novel solution to multicurrency trading challenges.

πŸ‘‰ Read | AlgoBook | @mql5dev

#MQL5 #MT5 #DeepAR
❀74✍11πŸ‘8πŸ‘Œ6πŸ†6⚑5
In MT5, the standard NewTick event triggers only for the symbol on which an Expert Advisor (EA) is active, making multisymbol trading challenging. To address this, a library has been created to implement a multisymbol OnTick event across specified trading symbols. It serves as a convenient enhancement to the existing framework.

This is showcased through an example of a multisymbol EA designed to tally incoming ticks for each specified symbol. By using the MT5 Tester, users can verify EA functionality. Symbols of interest are input after a comma, dictating the multisymbol OnTick's scope. Results from the Tester confirm that all ticks for these symbols are processed appropriately. This ensures EAs function consistently without reliance on a base symbol, as ticks for all specified symbols are captured efficiently.

πŸ‘‰ Read | Calendar | @mql5dev

#MQL5 #MT5 #EA
❀45πŸ†9πŸ‘Œ3
Implementing RSA in its raw form offers insight into its encryption process. Create an RSA instance and format the message to encrypt into a uchar[] array. Apply EncryptPKCS1v15 for encryption, producing a char array result, altered by padding particulars.

Real-world applications often employ RSA in tandem with AES due to RSA's computational load and key size restrictions. Hybrid models overcome these by encrypting a randomly generated AES session key with RSA, while the data payload is secured using AES, optimal for larger data due to its speed. The AES-encrypted message and RSA-encrypted key are sent together, efficiently blending the benefits of both algorithms, with RSA securing the AES key exchange and AES providing rapid data encryption.

Within MQL5, this amalgamation facilitates secure communication between components via built-in CryptEncode(...

πŸ‘‰ Read | Freelance | @mql5dev

#MQL5 #MT5 #RSA
❀38⚑9πŸ‘Œ2
The BBMA strategy, developed by Ali Oma from Malaysia, incorporates Bollinger Bands and Moving Averages to identify market movements. The strategy emphasizes the combination of signals from various time frames, enhancing the probability of successful entries. Key components include CSA/CSAK, MHV, Momentum, and Reentry Zone ZeroLoss. The integration of these elements into clear standard operating procedures aids traders in discovering high-probability entry points.

The BBMA indicator simplifies analysis by displaying all signals concurrently on a chart. It minimizes the chance of missing crucial market movements. Separate data buffers for each signal facilitate the integration with Expert Advisors, supporting custom dashboard development or fully automated trading systems. This structured approach provides a comprehensive outlook on market trends for effec...

πŸ‘‰ Read | AppStore | @mql5dev

#MQL5 #MT5 #BBMA
❀49✍10πŸ‘Œ3
The third part of our series enhances a gauge-based MQL5 indicator for displaying multiple oscillators like RSI, CCI, and MFI. Building on previous work, this iteration introduces sector and round gauge styles with advanced rendering, employing derived classes for tailored visualization.

The framework supports selective indicator combinations via user inputs. It utilizes enumerations for gauge selection and null mark positioning, allowing flexible layouts, particularly beneficial for showing oscillators with negative ranges like CCI.

The implementation involves setting up and initializing the gauges, creating unique instances for RSI, CCI, and MFI, and managing their visual properties and data representation. The application dynamically updates the buffer data and reflects it graphically, ensuring accurate and visually appealing output.

The prop...

πŸ‘‰ Read | NeuroBook | @mql5dev

#MQL5 #MT5 #Indicator
❀27πŸ‘Œ3πŸ‘€2😎2πŸ‘1
Explore the synergy between Python and MQL5 with this insightful article on enhancing file I/O operations in MetaTrader 5. Discover how Python's flexible file handling capabilities can inspire robust solutions in MQL5, including automated file flag generation and abstraction techniques. Dive into the nuances of reading and writing different data types, handling CSV files effectively with custom-built classes, and managing file modes to ensure seamless integration in trading environments. Learn how to simplify complex tasks, reduce errors, and improve code maintainabilityβ€”all without compromising on MQL5's native offerings. Perfect for traders and developers seeking efficient algorithmic trading strategies.

πŸ‘‰ Read | Quotes | @mql5dev

#MQL5 #MT5 #Python
❀45πŸ‘Œ8πŸ‘7πŸŽ‰5
A utility function simplifies timeframe representation by converting full timeframe identifiers such as "PERIOD_M1" to their concise forms like "M1". This can enhance code readability and efficiency by streamlining how timeframes are displayed and referenced in your projects. By using shortened names, the codebase remains clean without losing the clarity of timeframe identification. Implementing such a function improves maintainability and can facilitate easier updates or modifications across projects. Effective for developers looking to optimize their workflow by reducing verbosity in their scripts and ensuring a more intuitive understanding of time-based operations.

πŸ‘‰ Read | Calendar | @mql5dev

#MQL5 #MT5 #Timeframes
❀37πŸ‘6✍2πŸ‘Œ2
Creating custom indicators with candlestick charts in MQL5 involves various methods, each with distinct characteristics. The simplest approach is constructing single-color candles, neglecting highs and lows. More complex is using multicolored candles guided by defined business rules, which aids in interpreting market movements.

Building a basic candlestick chart requires defining price series for open, high, low, and close values. Utilizing buffers to store data is key, and color differentiation is tied to business logic. For example, green indicates buying, red for selling, and yellow reflects a neutral state in the market.

Using DRAW_COLOR_CANDLES allows multicolored candle plotting, adding an extra buffer for storing color data. This buffer facilitates distinguishing between bullish and bearish candles based on preset trading conditions.

If co...

πŸ‘‰ Read | AppStore | @mql5dev

#MQL5 #MT5 #Indicator
❀62✍13πŸ‘8πŸ‘Œ5πŸ”₯3