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
Overloading functions plays a crucial role in programming, allowing flexible code execution across different contexts. Novices often find this concept daunting due to its complexity and its essential role in developing scalable applications. While overloading is sometimes seen as a source of complexity, it is indispensable for creating advanced solutions, making it a critical skill for any serious programmer. Programs and applications would lack versatility without overloading, limiting their functional capabilities.

Templates and novel data types like typename offer more advanced solutions. They enhance how functions handle various data types without duplication. Familiarity with both basic and fundamental concepts of these mechanisms in code development is vital. Striking the balance between understanding simple and complex code syntax ensures cl...

👉 Read | Forum | @mql5dev

#MQL5 #MT5 #Programming
53👀7👌4👨‍💻3👍2👾2
An efficient method for monitoring price movements involves implementing popup or push alert notifications on manually placed horizontal lines. This technique ensures that the system alerts users whenever the price touches these set lines. Once the price interaction occurs, these lines are designed to automatically delete themselves and reset, maintaining an organized and uncluttered visualization. This feature is beneficial for traders seeking immediate updates on critical price levels without manual oversight. Developing this approach requires utilizing programming skills to customize alerts and manage line deletions, thus enhancing the user experience by providing real-time notifications and streamlined chart management.

👉 Read | Forum | @mql5dev

#MQL5 #MT5 #Alert
32👍8👨‍💻4
Discover the power of the Pin Bar Averaging strategy, designed for MetaTrader 5 developers. Dive into automated trading by capitalizing on pin bar candlestick patterns, known for signaling price reversals. This system uses MQL5 to identify these patterns and implements an averaging strategy to manage trades dynamically. It incorporates trailing stops and breakeven adjustments, enhancing trade management during market changes. The integration of a real-time monitoring dashboard provides critical trade metrics and visual indicators like support and resistance levels. Understand, implement, and backtest this robust trading strategy to tailor it for your algorithmic trading needs.

👉 Read | Calendar | @mql5dev

#MQL5 #MT5 #PinBar
40👍7👌4😁3👨‍💻21🏆1
Matrix factorization offers powerful tools for building numerically driven trading applications. Progressing from regression tasks, focus now shifts to classification problems. Developing a market classifier that distinguishes market movements involves learning from past market data to guide trading decisions.

The classifier anticipates market trends based on moving average behaviors. For sell positions, both price and moving average should fall. For buy positions, both should rise. The model predicts two separate binary outcomes.

System definitions, user inputs, and global variables are essential for functionality. Important methods include setup and findSetup, handling data inputs and predictions. Employing Singular Value Decomposition (SVD) allows optimal coefficient determination.

Developing a classification model involves standardizing inpu...

👉 Read | VPS | @mql5dev

#MQL5 #MT5 #AlgoTrading
73👌6👍4🔥3👨‍💻3🤡2👀1
Developers working with MetaTrader 5 often encounter a challenge with symbol names mismatching broker-specific conventions. This issue affects the functionality of configurable Expert Advisors (EAs), especially those implementing multi-symbol strategies. The common problem arises when users fail to align the EA settings with their broker's symbol nomenclature. For example, if an EA is configured with "EURUSD" and the broker lists it as "EURUSD.i" or "EURUSD.m", the EA fails to identify and trade the symbol.

A Levenshtein distance algorithm can address this issue by identifying the most similar symbol name in the Market Watch window. This reference script can be integrated into EAs and scripts, allowing them to automatically adapt to various broker symbol names. It's especially useful during the development and testing phases for configuration validation, en...

👉 Read | Calendar | @mql5dev

#MQL5 #MT5 #EA
40👍6👨‍💻3👌21
Multiple indicators on a single trading screen can complicate analysis, often leading to errors. A solution is integrating charts with MetaTrader 5 templates for organized data. This approach involves saving specific configurations, allowing for quick switching between indicators or assets without manual setup each time.

MetaTrader 5 templates simplify management by storing configurations for indicators like RSI or MACD, and assets such as VALE3, PETROBRAS, and ITAU. Creating separate template files for different indicators or assets maintains clarity and efficiency.

Understanding how to apply and manage these template files can optimize visual space and minimize clutter, enhancing trading analysis even on smaller displays.

👉 Read | AlgoBook | @mql5dev

#MQL5 #MT5 #Indicators
75👍11👌5👏4👨‍💻4🏆31
The interface of the latest indicator version now automatically tracks "Market Watch," adjusting for added or removed symbols. Any active symbol changes prompt automatic rendering. Settings are temporarily saved when the terminal is closed or when switching off, featuring options to reset, change color themes, and more.

The objective is to apply volatility-flattening strategies in spread/equity trading for efficient entry/exit point identification. The underlying mechanism involves setting volume and direction for each active pair. The cumulative profit/loss results are displayed as an equity line in the subwindow, excluding spread, commission, and swaps.

Current prototype is experimental, focusing on understanding the mechanism of profit extraction from spread/equity trading. Future plans include integrating visual analysis of flat strategies and a...

👉 Read | AlgoBook | @mql5dev

#MQL5 #MT5 #Indicator
35👀32👍2🔥1👌1👨‍💻1
Mastering MetaTrader 5's template feature significantly enhances trading algorithm efficiency by enabling function overloads based on data types. While creating templates allows rapid implementation by reusing elements, it also requires precise handling of data types to avoid compiler errors. Explicit type conversions can resolve data mismatches, enabling seamless addition of different types. Moreover, utilizing multiple type identifiers in templates opens up extensive possibilities by allowing mixed data types, though careful implementation is essential to ensure correct results. This approach is particularly useful for MQL5 developers aiming to optimize their algorithmic trading solutions with greater flexibility and precision in code execution.

👉 Read | VPS | @mql5dev

#MQL5 #MT5 #Programming
21👨‍💻4
Explore a sophisticated MQL5 strategy focused on the automated identification and trading of Crab Harmonic Patterns. This system utilizes pivotal pivot points and Fibonacci ratios to detect both bullish and bearish patterns, ensuring precise trade execution with calculated entry, stop loss, and take-profit levels. Advanced visualization techniques, like drawing triangles and trendlines on charts, highlight key areas for clear pattern representation. This innovative approach supports backtesting, enabling traders and developers to refine and customize their strategies. Gain insights into leveraging these advanced technical tools for enhanced trading precision and pattern recognition, empowering traders with systematic, rule-based decision-making.

👉 Read | Forum | @mql5dev

#MQL5 #MT5 #Strategy
26👍4👌4👨‍💻32👀2
Programming templates can enhance code efficiency and flexibility, particularly in MQL5. While not always common in this language, templates simplify implementation and help avoid complex errors. Previous discussions have highlighted the utility of function and procedure templates for handling various data types. Even routine tasks, like calculating averages, can benefit from template usage by ensuring consistency and reducing redundancy.

Incorporating templates with unions presents additional opportunities, allowing dynamic configurations that adjust byte sizes based on data types. A properly implemented template accounts for data type variations, assisting both novice and experienced developers in creating scalable and maintainable code structures. Further exploration into union templates will provide more comprehensive insights.

Careful attenti...

👉 Read | AppStore | @mql5dev

#MQL5 #MT5 #programming
35👍72👌1👨‍💻1
Discover the power of Firebase for app development without the backend complexity. Firebase offers two robust NoSQL databases: Realtime Database and Cloud Firestore. Realtime Database excels in low-latency, real-time syncing for chat apps or live dashboards. Meanwhile, Cloud Firestore is optimized for extensive scalability and complex data querying, ideal for ambitious projects. Both databases support secure data operations through advanced security rules, and are perfect for algorithmic trading applications. By integrating MQL5, traders can seamlessly manage and visualize trading data on custom dashboards, enhancing clarity and decision-making capabilities. Embrace Firebase to build dynamic, data-driven applications effortlessly.

👉 Read | AlgoBook | @mql5dev

#MQL5 #MT5 #Firebase
56👍9👨‍💻21🎉1
A novel zigzag indicator, now available for MQL5, shifts focus from timeframe dependency to pure asset price percentage changes from extremums. Unlike its Autoscale predecessor, this version integrates seamlessly across all securities through its use of price percentage input. Developed to streamline the analysis process, it's an adaptation of Evgeniy Chumakov's original MQL4 structure.

This indicator is designed strictly around price movements, excluding time considerations. Its structure enhances trend monitoring similar to a Renko chart. It is crucial to note that this tool should not be used in isolation for trade decisions. Combining it with a momentum oscillator may provide better insights into optimal entry points in the market.

👉 Read | Quotes | @mql5dev

#MQL5 #MT5 #Indicator
37👍2👨‍💻21😁1
The BotCilento Expert Advisor for MetaTrader 5 is designed for strategy testers and simulation environments. It focuses on grid trading with trend-following signals and adaptive risk management. Implementing the Dual MA Strategy, it operates on crossover signals of fast and slow SMAs on the H1 timeframe, filtering activity through volume and volatility measures. The smart grid management system permits position additions using dynamic intervals, either fixed pips or ATR-based. It offers Martingale or Arithmetic lot sizing strategies and configurable profit or breakeven targets for closing entire grids.

Risk safeguards include auto-stop at daily loss limits and emergency drawdown-based closures. Position expiration and spread/slippage filters are integral. With features like "hold through reversals" mode and stagnation detection, the EA displays real-time pro...

👉 Read | AlgoBook | @mql5dev

#MQL5 #MT5 #EA
31👍6👾3💯2👨‍💻1
Part 37 in the Price Action Analysis Toolkit Development series introduces the Sentiment Tilt Meter (STM), designed to tackle cluttered data visualizations in trading. STM aggregates candle-level metrics across configurable timeframes, producing a scalar score from -100 to +100. Displayed on a compact dashboard, it maintains clarity through persistent annotations anchored to timestamps and price levels. It enables precise rule-based settings for tuning sensitivity, ensuring a balance between noise suppression and responsiveness.

In the MQL5 implementation, the STM incorporates a methodical process, starting with environment setup in MetaTrader 5 and MetaEditor. The EA template initializes with strict property declarations, constant settings, and essential libraries like Trade.mqh. User-configurable inputs determine timeframe signals, smoothing, and alert pa...

👉 Read | NeuroBook | @mql5dev

#MQL5 #MT5 #Sentiment
19👍7👨‍💻21
Explore the potential of supervised learning to enhance underperforming trading signal patterns using a Convolutional Neural Network (CNN) with kernel regression and dot product similarity. This innovative approach extracts hidden value from seemingly weak signals. The model utilizes kernel regression to measure similarity, refining CNN performance by capturing long-range dependencies. This enhances predictive capabilities in time series data, offering practical benefits for algorithmic trading. Considerations like local-attention-windows mitigate computational costs. The method is adjustable, capable of tuning kernel sizes and channel depths to match data-driven needs, leading to an architecture that is both comprehensive and responsive to trading indicators.

👉 Read | Forum | @mql5dev

#MQL5 #MT5 #Algorithm
17🎉9👍5👨‍💻1👀1
In the latest installment of the MetaTrader 5 Machine Learning Blueprint series, focus is placed on improving labeling techniques for trading algorithms. Common fixed-time horizon labeling methods are critiqued for their inadequacies in reflecting real-world trading behaviors. Instead, dynamic approaches like the triple-barrier method and meta-labeling are explored, which mirror actual trading conditions by incorporating profit targets, stop-losses, and time limits. These methods align labeling with risk management and adaptation to market volatility, crucial for building robust and reliable machine-learning models in finance. Understanding these methods is essential for effective model implementation and successful trading strategies.

👉 Read | Quotes | @mql5dev

#MQL5 #MT5 #MachineLearning
45👍6👌53🤣2🏆2👨‍💻1
SuperTrend identified as 0: Used for trend direction and reversals in trading strategies. Direnc marked as 1: Indicates areas where price action may face resistance. Support designated as 2: Highlights zones where price declines may halt. Trend listed as 3: Represents general direction of the market or asset price movement over time. Understanding these elements can enhance technical analysis and improve decision-making in trading environments. Properly utilizing such indicators can assist in developing robust trading strategies tailored to various market conditions. Ensuring consistency in analyzing these features may contribute to better forecasting and market insights.

👉 Read | Freelance | @mql5dev

#MQL5 #MT5 #Strategy
25👨‍💻6👍3👌32
Asynchronous execution of algorithms is crucial for enhancing performance in software systems. An interface similar to JavaScript Promises offers these capabilities, allowing asynchronous operations to be handled efficiently in various programming environments. The provided `timer.mqh` serves as an illustration of asynchronous execution, showcasing the potential of this approach. Developers can leverage this concept by utilizing npm package manager to manage dependencies and implement similar async functions in their projects.

Promise in JavaScript enables executing concurrent operations without blocking the main thread. Functions like `Promise.all`, `Promise.race`, and `Promise.any` provide robust mechanisms for handling multiple asynchronous tasks with ease, enhancing control and flexibility in software design. Deploying these techniques across var...

👉 Read | Freelance | @mql5dev

#MQL5 #MT5 #algorithm
234👾4👍2🤡2👨‍💻2👀1
Introducing Tarantella EA, an advanced adaptive grid trading system designed for strategy testing. This Expert Advisor integrates traditional grid methodologies with contemporary risk management strategies. Its foundation lies in executing buy/sell orders at Fibonacci-based intervals, adjusting position sizes dynamically in response to market conditions.

Key features include Market Profile Integration, confining trades to high-probability Value Areas while avoiding Point of Control zones. Multi-layer trend filtering utilizes ADX for trend strength alongside MA/MACD for directional approvals across timeframes. Adaptive Grid Management employs Fibonacci ratios for grid spacing adjustments.

Tarantella EA implements comprehensive risk management, with position limits and equity-based closure rules, incorporating advanced entry conditions requiring volume fil...

👉 Read | NeuroBook | @mql5dev

#MQL5 #MT5 #EA
24👍4👨‍💻3
Dive into the intricacies of logistic regression, a fundamental tool for binary classification, pivotal in algorithmic trading. Unlike its linear counterpart, logistic regression utilizes the sigmoid function to predict probabilities in binary outcomes, essential for decisions like Buy/Sell. Delve into practical steps such as data cleaning, handling NaN values, and feature encoding, crucial for effective model training. Explore the role of the confusion matrix in evaluating model accuracy, ensuring reliable predictions. This introduces a foundation for dynamic logistic regression models in trading, enhancing decision-making by accurately classifying outcomes, a key skill for MetaTrader 5 developers.

👉 Read | CodeBase | @mql5dev

#MQL5 #MT5 #Algorithm
5010👍7👨‍💻5😁4🤯1