MQL5 Algo Trading
388K 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 the power of the Stochastic Oscillator in MetaTrader 5 for algorithmic trading. The article introduces the Stochastic Oscillator, a key indicator in technical analysis, which assesses the relationship between current closing prices and their historical range. Learn to leverage its %K and %D lines for market trend detection. Discover practical strategies for uptrend, downtrend, and sideways markets, and see how these strategies transition into trading systems through MQL5 coding. This integration enables automated, emotion-free trading, allowing precise execution of trading strategies. Ideal for traders and developers looking to enhance their trading systems using advanced technical indicators.

πŸ‘‰ Read | NeuroBook | @mql5dev

#MQL5 #MT5 #Indicator
❀56πŸ‘8✍4πŸ‘¨β€πŸ’»3
Customize your chart analysis by adding high and low lines based on a specific number of previous bars. Utilize an input field to define the desired number of bars for calculating the lines. This feature allows for precise control over the range of historical data considered, enhancing the accuracy of trend assessments. Adjust the number of bars in the settings to tailor the analysis to the requirements of the trading strategy or technical analysis approach. This flexibility fosters a more informed decision-making process by allowing for detailed examination of past market prices, providing valuable insights into potential support and resistance levels.

πŸ‘‰ Read | NeuroBook | @mql5dev

#MQL5 #MT5 #Indicator
❀26πŸ‘6πŸ‘¨β€πŸ’»2πŸ‘1πŸ‘Œ1
Explore the power of the CCanvas class in MQL applications for versatile graphics handling. Essential for advanced UI designs, CCanvas provides direct pixel manipulation capabilities on MetaTrader 5 charts. This tool equips developers with methods to skillfully create, modify, and manage visual elements such as UI components, images, and indicator overlays. By organizing pixel data into an array, developers can implement comprehensive chart interactionsβ€”drawing lines, shapes, and text via versatile algorithms including antialiasing and BΓ©zier curves. Practical for both traders and developers, CCanvas ensures high customization and control for dynamic algorithmic trading environments.

πŸ‘‰ Read | AppStore | @mql5dev

#MQL5 #MT5 #CCanvas
❀43πŸ‘10πŸ”₯4🀣3πŸ‘¨β€πŸ’»3πŸ‘€3πŸ†2
An expert advisor simplifies trade management effectively with specific functionalities. Automatic setting of take profit and stop loss based on pre-defined parameters enhances efficiency. Implementing an auto trailing stop ensures adaptability across any device placed order. The functionality to close all trades for the current symbol streamlines the trading process.

Usage involves adding the expert advisor to any symbol and configuring essential variables like take profit, stop loss, and trailing settings accordingly. There is no dependency on specific magic numbers, allowing orders placed on mobile devices to be modified by the EA. For currency symbols, standard pip values are used, while adjustments are necessary for XAUUSD and Boom/Crash synthetic symbols.

Efficient setup examples are available for XAUUSD and other currencies like EURUSD to enhance tr...

πŸ‘‰ Read | Quotes | @mql5dev

#MQL5 #MT5 #EA
❀39πŸ‘¨β€πŸ’»5πŸ‘Œ2
Dive into the world of algorithmic trading with the MACD indicator, a powerful tool for identifying market trends and momentum. Understand the calculation of MACD using exponential moving averages, and discover how its componentsβ€”the MACD Line, Signal Line, and Histogramβ€”help traders discern bullish or bearish market conditions. Learn how simple strategies, like MACD line crossovers with the zero-level and Signal Line, can provide actionable trading signals. This guide also covers designing trading systems in MetaTrader 5 with MQL5, showcasing practical applications for both developers and traders aiming to enhance their trading performance with automated insights.

πŸ‘‰ Read | Freelance | @mql5dev

#MQL5 #MT5 #Trading
❀75πŸ‘7✍4πŸ‘¨β€πŸ’»4⚑3πŸŽ‰3πŸ‘Œ1
Breakout Trader 1.0 is a tool designed for trading breakouts from established ranges, executing according to specific trading times. Key settings include start date configuration, magic number, and initial capital. Volume input and risk percentage per order offer customizable risk management. Users can toggle reverse trading and opt for automation during the day.

Additional parameters such as negative orders per day, profit formulas, and stop-loss techniques are available. The software allows trailing stops and tailors take-profit strategies based on equity levels. Partial sells and monthly trade settings provide further flexibility.

Users can configure trading days and times, with options to pause or end trading based on daily or weekly capital performance. Panel and design settings ensure the tool is user-friendly. Testing in demo accounts is advised...

πŸ‘‰ Read | Forum | @mql5dev

#MQL5 #MT5 #Trading
❀37πŸ‘6πŸ‘¨β€πŸ’»4πŸ‘Œ2πŸ€”1
Explore the intricate world of MQL5 programming with this engaging guide to utilizing the #define directive for inline macros. Discover how to transform repetitive code into efficient procedures, saving both time and space in your projects. Learn the art of passing arguments to macros, a powerful yet cautious approach to enhance your algorithmic trading scripts. Mastering these techniques ensures optimized code performance, crucial for high-frequency trading strategies. By understanding the subtle differences in compiler behavior, programmers can achieve faster execution while minimizing memory usage. This knowledge is pivotal for developers seeking to deepen their understanding of resource management in MetaTrader 5.

πŸ‘‰ Read | Freelance | @mql5dev

#MQL5 #MT5 #Macro
❀26πŸ‘3πŸ‘¨β€πŸ’»2
Explore the vital role of floating-point numbers in MQL5 programming. Understanding them is crucial for accuracy in financial calculations. This knowledge forms the foundation for more advanced topics, such as function overloading. Discover how overloading enhances code readability by allowing multiple functions with the same name but different parameters or types. Learn the importance of proper parameter selection to avoid compilation errors and ensure precise execution flow. Through insightful examples, gain clarity on generating concise, effective trading algorithms. Perfect your programming skills with a solid grasp of these fundamental concepts, paving the way for building sophisticated trading tools.

πŸ‘‰ Read | Calendar | @mql5dev

#MQL5 #MT5 #Programming
❀24πŸ‘2πŸ‘¨β€πŸ’»2
Floating-point numbers in programming, especially in MQL5, are critical to understand for precise computations. Although double and float are commonly used, they often carry hidden complexities due to their design based on the IEEE 754 standard. This standard aims to unify floating-point representation but introduces potential errors due to rounding. MQL5, like many programming languages, uses the IEEE 754 to standardize calculations but the way floating-point values are storedβ€”either in single (32-bit) or double precision (64-bit)β€”can affect computation accuracy, especially in the high-stakes world of algorithmic trading. Understanding this can help avoid costly errors in calculation-critical environments.

πŸ‘‰ Read | VPS | @mql5dev

#MQL5 #MT5 #Floats
❀34πŸ‘¨β€πŸ’»4πŸ‘3😈1
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πŸ‘¨β€πŸ’»2⚑1πŸ†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πŸ‘Œ2✍1
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πŸ†3⚑1
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πŸ‘€3⚑2πŸ‘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πŸ‘¨β€πŸ’»3✍2πŸ‘€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πŸ‘7✍2πŸ‘Œ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πŸ‘¨β€πŸ’»2⚑1πŸŽ‰1