In the world of MetaTrader 5 development, efficiently managing graphical objects on trading charts is crucial. This article presents an advanced approach to track changes in graphical objects using event-driven logic. By leveraging the `OnChartEvent()` handler, developers can monitor critical events such as creation, modification, and deletion of graphical objects. This method reduces resource consumption by avoiding constant synchronous checks, though it's restricted to live charts.
The solution introduces arrays to store previous object properties, enabling seamless comparison and detection of changes. While this initial test version sets the foundation, future iterations aim to encompass all open charts, enhancing the functionality and responsiveness of trading applications.
π Read | Signals | @mql5dev
#MQL5 #MT5 #ChartEvent
The solution introduces arrays to store previous object properties, enabling seamless comparison and detection of changes. While this initial test version sets the foundation, future iterations aim to encompass all open charts, enhancing the functionality and responsiveness of trading applications.
π Read | Signals | @mql5dev
#MQL5 #MT5 #ChartEvent
β€57π2π2β1
A foundational understanding of MQL is crucial for new coders entering the field. A useful script is one that efficiently prints key account metrics for monitoring. Essential fields to access include:
- Account Balance: Provides the current account balance.
- Account Equity: Reflects the net asset value.
- Account Credit: Shows any credit available in the account.
- Account Currency: Indicates the currency in use.
- Account Company: Names the brokerage or financial institution.
- Account Name: Identifies the account holder.
Leveraging these fields can enhance one's capability to assess and manage trading account statuses effectively. This setup aids in developing practical skills in handling account data, thus optimizing the learning process for new MQL developers. Coders can gain valuable experience in data output, a critical aspect of developing robust tra...
π Read | NeuroBook | @mql5dev
#MQL4 #MT4 #MQL
- Account Balance: Provides the current account balance.
- Account Equity: Reflects the net asset value.
- Account Credit: Shows any credit available in the account.
- Account Currency: Indicates the currency in use.
- Account Company: Names the brokerage or financial institution.
- Account Name: Identifies the account holder.
Leveraging these fields can enhance one's capability to assess and manage trading account statuses effectively. This setup aids in developing practical skills in handling account data, thus optimizing the learning process for new MQL developers. Coders can gain valuable experience in data output, a critical aspect of developing robust tra...
π Read | NeuroBook | @mql5dev
#MQL4 #MT4 #MQL
β€47π9β‘2π2π€1π1
Explore the seamless implementation of machine learning algorithms in Python, utilizing a simple perceptron and moving towards complex networks like TensorFlow and Keras. Discover how Python packages can be integrated with MQL5 to expand capabilities in data analysis and model creation.
Understand the fundamentals of perceptrons, gradient descent, and multilayer perceptron networks. Follow step-by-step guidance to set up a Python environment in MetaEditor for executing scripts directly from MetaTrader 5.
Learn to construct a basic network manually, then advance to comprehensive modeling with TensorFlow and Keras. Witness the model's progression through network launch, feedforward, backpropagation, and training phases.
In the practical tutorial, implement data collection via MetaTrader 5, visualize data, and forecast with a univariate regression using Keras. ...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Python
Understand the fundamentals of perceptrons, gradient descent, and multilayer perceptron networks. Follow step-by-step guidance to set up a Python environment in MetaEditor for executing scripts directly from MetaTrader 5.
Learn to construct a basic network manually, then advance to comprehensive modeling with TensorFlow and Keras. Witness the model's progression through network launch, feedforward, backpropagation, and training phases.
In the practical tutorial, implement data collection via MetaTrader 5, visualize data, and forecast with a univariate regression using Keras. ...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Python
β€63π18β‘5β4π2π1
The Range Vector Fibo Logic Indicator is an advanced tool for traders using the "One Candle" and "Daily Breakout" strategies, commonly utilized by institutional traders. Its primary function is to automate key analytical processes such as projecting breakout levels, stop loss zones, and Fibonacci profit targets based on the previous day's volatility.
The tool is particularly beneficial for trading the Daily High/Low Breakout strategy by identifying precise entry points and target levels. Black lines indicate breakout triggers, signaling potential entries when a candle closes beyond these levels. Stop loss levels, depicted by red dotted lines, are set at a 0.9 Fibonacci retracement, warning of setup invalidation if reached. The blue solid lines, representing take profit zones, extend to the 1.25 Fibonacci expansion, marking the day's volatility limit.
...
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
The tool is particularly beneficial for trading the Daily High/Low Breakout strategy by identifying precise entry points and target levels. Black lines indicate breakout triggers, signaling potential entries when a candle closes beyond these levels. Stop loss levels, depicted by red dotted lines, are set at a 0.9 Fibonacci retracement, warning of setup invalidation if reached. The blue solid lines, representing take profit zones, extend to the 1.25 Fibonacci expansion, marking the day's volatility limit.
...
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
β€53π3β‘2β2π2
A nonlinear smoothing algorithm of the HiLo type has been implemented in this indicator, focusing on processing the extrema of the initial time series, setting it apart from traditional approaches. The indicator offers a streamlined configuration with a single parameter, iPeriod, which defines its period. This simplicity allows for easy integration into existing trading systems while providing robust analytical capabilities. Designed for efficient performance, it adapts specifically to time series fluctuations, enhancing the precision of market trend analysis. Ideal for developers seeking advanced, yet straightforward, technical indicators.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #Indicator
π Read | Calendar | @mql5dev
#MQL5 #MT5 #Indicator
β€36π4β‘3
The Expert Advisor (EA) in question operates by exclusively executing buy positions, without utilizing stop-loss (SL) or take-profit (TP) levels. The configuration options include general settings such as commentary, trade initiation, and trade termination, along with notifications when a trade is closed. Risk and money management settings cover aspects like lot size, the maximum number of open positions per symbol, and the daily deal cap for each symbol.
A test was conducted using the standard settings on an account balance of $10,000 with 100:1 leverage. The trading was specifically applied to the US30 symbol. This setup focuses on maintaining a structured and controlled trading environment while adhering to preset conditions and limits.
π Read | AlgoBook | @mql5dev
#MQL5 #MT5 #EA
A test was conducted using the standard settings on an account balance of $10,000 with 100:1 leverage. The trading was specifically applied to the US30 symbol. This setup focuses on maintaining a structured and controlled trading environment while adhering to preset conditions and limits.
π Read | AlgoBook | @mql5dev
#MQL5 #MT5 #EA
β€37π4π3
The recent work on MQL5's table functionality focuses on enhancing user control and data manipulation. Key updates include refining existing library classes to adjust column widths, set data types, and enable sorting by columns. This approach aligns with the MVC paradigm, allowing seamless interaction between the Model, View, and Controller components.
Enhancements in class files enhance sorting by implementing macro substitutions for index-based sorting and refining the Compare() method in CTableRow. Additionally, new methods facilitate working with table columns, including setting display flags and sorting data by column and direction.
Refinements in base and graphical element classes address tooltip functionality, handling cursor coordinates, preventing errors linked to object deletion, and ensuring better management of UI element visibility relative to t...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #MVC
Enhancements in class files enhance sorting by implementing macro substitutions for index-based sorting and refining the Compare() method in CTableRow. Additionally, new methods facilitate working with table columns, including setting display flags and sorting data by column and direction.
Refinements in base and graphical element classes address tooltip functionality, handling cursor coordinates, preventing errors linked to object deletion, and ensuring better management of UI element visibility relative to t...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #MVC
β€77β‘5π5π5π1
The integration of various well-known indicators can provide valuable insights for novice traders. By combining different indicators, such as moving averages, relative strength index (RSI), and Bollinger Bands, traders can develop a more comprehensive understanding of market trends and potential entry and exit points.
Moving averages help identify the direction of the trend over time, indicating potential buy or sell signals. RSI is used to assess market momentum, signaling potential overbought or oversold conditions. Bollinger Bands offer a perspective on market volatility and potential price reversals.
Utilizing these indicators together can assist in reducing risks and enhancing decision-making. However, it is essential for traders to thoroughly understand how each indicator works individually before integrating them into their strategies. Combi...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
Moving averages help identify the direction of the trend over time, indicating potential buy or sell signals. RSI is used to assess market momentum, signaling potential overbought or oversold conditions. Bollinger Bands offer a perspective on market volatility and potential price reversals.
Utilizing these indicators together can assist in reducing risks and enhancing decision-making. However, it is essential for traders to thoroughly understand how each indicator works individually before integrating them into their strategies. Combi...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
β€51π3β1π1π1
Freelance work in the MQL5 space offers a unique avenue for developers looking to monetize their programming skills. Important lessons shared by experienced freelancers include not overcommitting to unfamiliar tasks and conducting thorough research on job requirements. It's crucial to maintain professionalism by avoiding overwhelming clients with technical jargon, ensuring clear and concise communication instead.
Prioritize clean and organized code from the outset to avoid future complications. Flexibility and a problem-solving mindset are essential, but it's also important to remain cautious with customers who might overreach or misunderstand certain aspects of development. Emphasizing quality work and honest client interactions can lead to long-term success in this field.
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Freelance
Prioritize clean and organized code from the outset to avoid future complications. Flexibility and a problem-solving mindset are essential, but it's also important to remain cautious with customers who might overreach or misunderstand certain aspects of development. Emphasizing quality work and honest client interactions can lead to long-term success in this field.
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Freelance
β€66π10β‘4π€‘3π2
The described function is integral to automating trade execution, carefully calculating entry and exit levels based on user-defined parameters and symbol data. It constructs a detailed trade request using MqlTradeRequest, specifying key details including the symbol, volume, order type, and more. The OrderSend function is crucial here, as it processes the trade request and returns a result indicating success or failure.
The SetTypeFillingBySymbol function plays an important role in determining how orders are executed. It adapts to the symbol's specified fulfilment policy, choosing between Fill or Cancel, Immediate or Cancel, or Return. This flexibility is key for accommodating various trading strategies and market conditions.
Additionally, the GetMinTradeLevel function ensures trades respect each instrument's minimum trading requirements, factoring i...
π Read | Forum | @mql5dev
#MQL5 #MT5 #Trading
The SetTypeFillingBySymbol function plays an important role in determining how orders are executed. It adapts to the symbol's specified fulfilment policy, choosing between Fill or Cancel, Immediate or Cancel, or Return. This flexibility is key for accommodating various trading strategies and market conditions.
Additionally, the GetMinTradeLevel function ensures trades respect each instrument's minimum trading requirements, factoring i...
π Read | Forum | @mql5dev
#MQL5 #MT5 #Trading
β€45π₯4β1
The article expands the DoEasy library for MetaTrader 5 by enhancing support for graphical objects. It introduces new library classes for shapes, arrows, and other graphical elements, allowing them to be added to collections. The update also corrects a spelling error across library files and refines how graphical objects' properties are handled, particularly with anchor points. The article outlines improved methods for identifying and managing newly added graphical objects by storing them in a structured list, enhancing memory management, and preventing leaks. Developers can now efficiently track, sort, and integrate graphical objects within the trading terminal, providing enhanced chart management capabilities.
π Read | Docs | @mql5dev
#MQL5 #MT5 #Algorithm
π Read | Docs | @mql5dev
#MQL5 #MT5 #Algorithm
β€60π4β‘2π1
Enhancing efficiency by cycling through Market Watch symbols with hotkeys can streamline workflow in trading environments. Utilize the Comma and Period keys for navigating to the previous and next symbols, respectively. To change the default hotkey assignments, identify the desired keycode using online resources like keycode.info. Upon accessing the site, note the keycode number for your preferred keys. Replace the existing keycodes (case 188 for Comma and case 190 for Period) with the new ones in your settings. This setup allows for quick adjustments and improved navigation through market lists, optimizing the trading experience.
π Read | AlgoBook | @mql5dev
#MQL5 #MT5 #script
π Read | AlgoBook | @mql5dev
#MQL5 #MT5 #script
β€38β‘3π3π2π2
Concept development for improving library classes and defining descendant objects for graphical representation is underway. The focus is on expanding the abstract graphical object class by incorporating specific characteristics for objects in lines, channels, Gann, Fibo, and Elliott groups. This approach ensures that each descendant class highlights its unique properties while aligning with the overall structure of the abstract class.
Enhancements include adding a grouping property to the object class and improving time frame visibility functionality. This allows for more granular control over object properties, facilitating better management and manipulation within the library. Concrete examples involve the creation of classes for specific graphical object types, each with dedicated methods for handling associated properties.
These improvements aim to...
π Read | AlgoBook | @mql5dev
#MQL5 #MT5 #Algorithm
Enhancements include adding a grouping property to the object class and improving time frame visibility functionality. This allows for more granular control over object properties, facilitating better management and manipulation within the library. Concrete examples involve the creation of classes for specific graphical object types, each with dedicated methods for handling associated properties.
These improvements aim to...
π Read | AlgoBook | @mql5dev
#MQL5 #MT5 #Algorithm
β€58π6π5β‘1
The library initially designed for MQL5 has been adapted to function with MQL4. Users interested in this modified version can assess it by renaming the test scriptβs suffix to mq4. The adjustment process involved contributions from @fxsaber, particularly in enhancing processing efficiency. Files such as JsonTypes.mqh, JsonUtils.mqh, and JsonDomBuilder.mqh underwent modifications to bolster parsing speed. These updates aim to optimize performance while maintaining compatibility across different versions of the MetaTrader platform. Further details on the original can be accessed through the provided link to ensure thorough understanding and application.
π Read | Signals | @mql5dev
#MQL5 #MT5 #script
π Read | Signals | @mql5dev
#MQL5 #MT5 #script
β€32π7
Efficient tick data storage and processing have been significantly enhanced through advanced compression methods. By compressing tick data up to 3.5 times more effectively than traditional .tcs files, storage requirements are substantially minimized. Key improvements include encoding price variations, often between -8 and 7 points, with just 4 bits, allowing Ask and Bid to be packed into a single byte.
For further optimization, a byte can denote the time difference, with values exceeding typical limits encoded across more bytes. Additional ZIP compression can reduce data size by up to 50%. Notably, compression to three bytes is possible when price shifts range from -129 to 128, incorporating two bytes for prices and one for time.
Data for BTCUSDT demonstrate average tick sizes reduced to 1.498 bytes post-compression. With zip reduction, substanti...
π Read | VPS | @mql5dev
#MQL5 #MT5 #Compression
For further optimization, a byte can denote the time difference, with values exceeding typical limits encoded across more bytes. Additional ZIP compression can reduce data size by up to 50%. Notably, compression to three bytes is possible when price shifts range from -129 to 128, incorporating two bytes for prices and one for time.
Data for BTCUSDT demonstrate average tick sizes reduced to 1.498 bytes post-compression. With zip reduction, substanti...
π Read | VPS | @mql5dev
#MQL5 #MT5 #Compression
β€40π4π3
Explore the application of Deep Neural Networks in MQL, enhancing algorithmic trading with a powerful, multilayered machine learning approach. Delve into the construction of artificial neurons, focusing on activation functions like Tan-h and Softmax for processing trading signals. Learn how these networks classify trading actions (BUY, SELL, HOLD) and adapt to high-dimensional, complex data in markets. This comprehensive guide breaks down a 3-4-5-3 network architecture and showcases practical implementation steps, including using the MetaTrader 5 Strategy Tester for training. Understand how deep learning can significantly improve predictive accuracy in trading, providing a competitive edge in foreign exchange markets.
π Read | AlgoBook | @mql5dev
#MQL5 #MT5 #DeepLearning
π Read | AlgoBook | @mql5dev
#MQL5 #MT5 #DeepLearning
β€61β‘2
Configuring keyboard shortcuts enhances efficiency in navigating timeframes across trading platforms. Assigning hotkeys 1-9 on the main keyboard (excluding the numpad) provides quick access to various timeframes: 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 streamlines workflow, allowing seamless timeframe switching without diverting focus from analysis tasks. Such customization facilitates rapid market assessment, fostering an uninterrupted review of chart data. Ensure these key bindings are set in the platform settings to optimize utility and prevent conflicts with other functions.
π Read | Signals | @mql5dev
#MQL5 #MT5 #Hotkeys
π Read | Signals | @mql5dev
#MQL5 #MT5 #Hotkeys
β€42π₯3
Efficient coding relies on several key practices. Planning is crucial. Before coding, outline your project's goals, necessary tools, and libraries. This establishes a clear direction and reduces confusion later.
Creating a collection of reusable code snippets can save time. Utilize Object-Oriented Programming to store commonly used functions in separate files for easy inclusion.
Establish a consistent coding routine to enhance productivity. Setting specific hours promotes regularity and discipline, fostering a productive environment.
Scheduling deep work sessions is vital. Allocate uninterrupted time for focused coding to solve complex problems effectively.
Develop simple, single-purpose functions. Avoid overly complicated operations in one function to minimize bugs and enhance readability.
Add meaningful comments to your code. This practice aids ...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #coding
Creating a collection of reusable code snippets can save time. Utilize Object-Oriented Programming to store commonly used functions in separate files for easy inclusion.
Establish a consistent coding routine to enhance productivity. Setting specific hours promotes regularity and discipline, fostering a productive environment.
Scheduling deep work sessions is vital. Allocate uninterrupted time for focused coding to solve complex problems effectively.
Develop simple, single-purpose functions. Avoid overly complicated operations in one function to minimize bugs and enhance readability.
Add meaningful comments to your code. This practice aids ...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #coding
β€76π6
An advanced financial screener offers the capability to identify assets experiencing significant price drawdowns. This tool scans all available symbols or filtered categories to locate instruments trading below recent peaks, aiding in the identification of undervalued assets. The screener features accurate drawdown calculations using closing prices and comes with a customizable lookback period, set to a default of 90 days. Users can adjust the drawdown threshold and apply asset category filters across stocks, forex, indices, and crypto. Batch data loading ensures efficient performance alongside real-time progress monitoring. This screener suits value investors seeking discounted assets, swing traders targeting oversold instruments, portfolio managers overseeing position drawdowns, and technical analysts seeking reversal patterns. Recent updates in ...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #Trading
π Read | Calendar | @mql5dev
#MQL5 #MT5 #Trading
β€40π5π5π₯3π2
The article presents a systematic approach to improving a graphical object library through the establishment of an abstract graphical object class. Key steps involve defining the standard properties for terminal graphical objects and organizing them into a collection based on the CCanvas class. The focus is on creating an abstract class that serves as a template for inheriting specific properties of graphical objects, such as Arrow codes or Ray properties. This structure allows for precise management of each individual object type, ensuring streamlined access to specific properties and enhanced functionality. Future steps include the creation of descendant objects for comprehensive graphical object representation and handling within the library.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #GraphObjects
π Read | Calendar | @mql5dev
#MQL5 #MT5 #GraphObjects
β€67π9π₯3
Grid Master EA Version 1.30 by Fox Wave is an automated system utilizing a bidirectional grid strategy. It generates pending orders both above and below current market prices, aiming to profit from market fluctuations. The system features bidirectional trading, using both stop and limit orders, and includes trailing stop and breakeven functions for managing positions. Designed for continuous 24/7 trading, it includes an optional time filter and real-time grid health monitoring for performance analysis. Risk management is strengthened through fixed lot sizing and volume validation, with detailed logging available for strategy optimization. The symmetrical grid of pending orders automatically refreshes as needed, supported by trailing stops and breakeven options. It's most effective in ranging markets and pairs like BTC/USD, ETH/USD, as well as forex pairs w...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #EA
π Read | Quotes | @mql5dev
#MQL5 #MT5 #EA
β€37π26π3π2π2β1