A zigzag indicator identifies swing points using a step size to determine price movement thresholds. The "scale" input adjusts swing detection sensitivity, dictating how price changes affect the indicator. Unlike traditional Zigzag with a "depth" parameter, this focuses on price movement for detecting swing reversals. It maintains leg continuation until confirmation of a new swing, making it effective for swing analysis. Originally developed by Evgeniy Chumakov as an MT4 indicator, it enhances price analysis by increasing the scale value, resulting in more zigzag points. Default settings vary by market; for example, use a scale of 3000 for XAUUSD and 25000 for BTCUSD. Adjust scale through trial and error for other markets.
π Read | CodeBase | Share!
#MQL5 #MT5 #Indicator
π Read | CodeBase | Share!
#MQL5 #MT5 #Indicator
π34β€14β3π3π3π¨βπ»2π€―1
When developing a zigzag indicator, the setup requires precise components: a zigzag plot, two data buffers for storing highs and lows, and input parameters. System variables reset upon recalculation. Arrays like upWaves and dwWaves handle highs and lows respectively, while other variables track wave type, start and end points, and bar distances.
The process begins with initializing the rolling ATR calculation. Before moving forward, bars collected must exceed the ATR period. Initial ATR calculation involves accumulating bar ranges, with subsequent updates clipping and adding new ranges based on ATR/period.
Retracements begin after a valid wave forms. Once ATR equals the period, determine the initial wave from high or low points that reach valid ATR sizes. This avoids starting with a retracement. With established waves, the system updates highs and lo...
π Read | VPS | Share!
#MQL5 #MT5 #Indicator
The process begins with initializing the rolling ATR calculation. Before moving forward, bars collected must exceed the ATR period. Initial ATR calculation involves accumulating bar ranges, with subsequent updates clipping and adding new ranges based on ATR/period.
Retracements begin after a valid wave forms. Once ATR equals the period, determine the initial wave from high or low points that reach valid ATR sizes. This avoids starting with a retracement. With established waves, the system updates highs and lo...
π Read | VPS | Share!
#MQL5 #MT5 #Indicator
π33β€13π¨βπ»3π2π€£2π€―1
Creating specialized WinForms objects in a library requires structuring categories similar to MS Visual Studio. Standard controls, containers, and other elements should inherit from a shared base object, CWinFormBase, to ensure consistent attributes and methods. Developing a GroupBox within the containers category and a CheckBox in standard controls facilitates identifying shared properties necessitating a common class for each category to streamline code development for future objects.
Incorporating macro substitutions for default properties upon object creation and refining enum lists to reflect categories supports library enhancement. GroupBox, designed to visually group objects, incorporates a frame, while CheckBox, inheriting from the Label object, allows states like checked, unchecked, or undefined using a label. Future implementations will conside...
π Read | NeuroBook | Share!
#MQL5 #MT5 #WinForms
Incorporating macro substitutions for default properties upon object creation and refining enum lists to reflect categories supports library enhancement. GroupBox, designed to visually group objects, incorporates a frame, while CheckBox, inheriting from the Label object, allows states like checked, unchecked, or undefined using a label. Future implementations will conside...
π Read | NeuroBook | Share!
#MQL5 #MT5 #WinForms
π45β€26β7β‘6π3π¨βπ»3π2
A new update now allows automatic export of trade history after running an Expert Advisor in the Strategy Tester. The exported file is stored in either the shared terminal folder (Common/Files) or the terminal folder (MQL4/Files). Users have the option to either let the file name be generated automatically or manually set it using the Export() method. This history file is useful for replicating the trade sequence on another trading server with the Simple History Receiver EA.
Basic usage involves instantiating the object in the global scope and adding the Export() method call to OnTester(). For extended usage, instantiate the object in the global scope, add parameter names and values in OnInit(), and include the Export() method call in OnTester(). The Export() method provides additional options for customization.
π Read | VPS | Share!
#MQL4 #MT4 #EA
Basic usage involves instantiating the object in the global scope and adding the Export() method call to OnTester(). For extended usage, instantiate the object in the global scope, add parameter names and values in OnInit(), and include the Export() method call in OnTester(). The Export() method provides additional options for customization.
π Read | VPS | Share!
#MQL4 #MT4 #EA
π38β€22π¨βπ»3π₯2π2π1
The adaptation of large-scale models to new tasks has been significantly influenced by the use of transformers, particularly due to their Self-Attention mechanism. While this offers robust modeling within a specific context window, it faces limitations in scale and context length. Sequence modeling can benefit from State Space Models (SSMs), which efficiently handle long-range dependencies with linear scaling. The Mamba algorithm introduces a novel class of selective SSMs that selectively process input data, allowing for efficient sequence transformations. The key lies in its unique selection mechanism that adjusts state interactions based on the input, thus enhancing performance in handling large sequences.
π Read | Freelance | Share!
#MQL5 #MT5 #Algorithm
π Read | Freelance | Share!
#MQL5 #MT5 #Algorithm
π46β€30π¨βπ»4β‘2π1π1π1
The EA utilizes a custom indicator called 'CHO Smoothed', which integrates the Chaikin Oscillator (CHO) line and a smoothed version using 'Moving Average'. It operates on a specified timeframe, known as the 'Working timeframe'. Key to its operation is the intersection of the two lines, which generates trading signals. When the 'Use ZeroLevel' parameter is set to 'true', only signals that meet specific conditions are permittedββBUYβ signals below zero and βSELLβ ones above zero.
The EAβs settings allow for optimization on the specified timeframe, limiting one market entry per bar. Different modes determine signal searching, with bar #0 considering each tick and bar #1 focusing on new bar births. Trade directions can be limited to BUY, SELL, or both, based on the βTrade mode parameterβ.
Time controls manage the intervals during which signals are searched. Th...
π Read | NeuroBook | Share!
#MQL5 #MT5 #EA
The EAβs settings allow for optimization on the specified timeframe, limiting one market entry per bar. Different modes determine signal searching, with bar #0 considering each tick and bar #1 focusing on new bar births. Trade directions can be limited to BUY, SELL, or both, based on the βTrade mode parameterβ.
Time controls manage the intervals during which signals are searched. Th...
π Read | NeuroBook | Share!
#MQL5 #MT5 #EA
π28β€23β8π¨βπ»3π2β‘1πΎ1
In recent developments, emphasis has been placed on enhancing encapsulation within the C_FilesTicks class to prevent data leakage. The class's prior exposure of critical information posed security risks, necessitating adjustments for improved encapsulation. A private variable was introduced, safeguarding against unwarranted modifications. A constructor was added for proper initialization, while the C_ConfigService class also underwent refinement to align with these changes.
Further adjustments were made to the control indicator module. Code modifications ensure its stability and resilience against runtime data inaccuracies. These updates are essential for maintaining system integrity and preventing service interruptions.
Overall, these strategic updates significantly elevate the system's security, stability, and performance, laying a robust fou...
π Read | Docs | Share!
#MQL5 #MT5 #Encapsulation
Further adjustments were made to the control indicator module. Code modifications ensure its stability and resilience against runtime data inaccuracies. These updates are essential for maintaining system integrity and preventing service interruptions.
Overall, these strategic updates significantly elevate the system's security, stability, and performance, laying a robust fou...
π Read | Docs | Share!
#MQL5 #MT5 #Encapsulation
π20β€10π¨βπ»3π2
Dive into the world of Receiver Operating Characteristic (ROC) graphs and discover how they enhance classifier performance evaluation. Explore how ROC curves provide critical insights into the trade-offs between true positive rates and false positive rates, particularly in financial datasets with skewed distributions. Learn about the importance of confusion matrices in encapsulating classification outcomes and calculating metrics like sensitivity and specificity. Understand how ROC curves visualize model performance across different thresholds, and leverage the area under the ROC curve (AUC) for simplified performance comparisons. This knowledge is invaluable for MetaTrader 5 developers and algorithmic traders seeking to refine their predictive models.
π Read | Quotes | Share!
#MQL5 #MT5 #Algorithm
π Read | Quotes | Share!
#MQL5 #MT5 #Algorithm
π17β€11π2π¨βπ»1
Part 11 focuses on implementing a multi-level grid trading system in MQL5. This system strategically places buy and sell orders at various price intervals, profiting from market volatility without predicting direction. The architecture separates signal detection, order execution, and risk management. Key parameters like moving averages guide trade signals, while a basket structure manages trade details like lot sizes and grid spacing.
The implementation involves setting up in MetaEditor, declaring metadata and global variables, using the "CTrade" object for trade execution, and defining functions for basket initialization and position management. The system dynamically adjusts to market conditions, with Moving Averages filtering trade opportunities. The structured plan ensures robust backtesting and trading deployment, leveraging market fluctuatio...
π Read | AppStore | Share!
#MQL5 #MT5 #AlgoTrading
The implementation involves setting up in MetaEditor, declaring metadata and global variables, using the "CTrade" object for trade execution, and defining functions for basket initialization and position management. The system dynamically adjusts to market conditions, with Moving Averages filtering trade opportunities. The structured plan ensures robust backtesting and trading deployment, leveraging market fluctuatio...
π Read | AppStore | Share!
#MQL5 #MT5 #AlgoTrading
π18β€14π4β‘2π¨βπ»2π1π€1
Seasonal decomposition is a powerful MQL5 tool to dissect time series data, revealing trend, seasonality, and residual components. By isolating these elements, traders gain insights into market behavior and remove seasonal noise for clearer trend analysis. Implementing this in MQL5 involves using moving averages for trend extraction and separating seasonal patterns through additive or multiplicative models. This technique is invaluable for identifying recurrent market patterns, applicable in trading strategy development. Practical applications include analyzing stocks like Apple's, unearthing seasonal trends in intraday, monthly, or long-term data. This method enhances algorithmic trading by informing machine learning-based forecasts and strategies.
π Read | CodeBase | Share!
#MQL5 #MT5 #Forecasting
π Read | CodeBase | Share!
#MQL5 #MT5 #Forecasting
π22β€19π14π₯5β3π1π¨βπ»1
An analysis of indicator line shapes using three distinct formulas reveals consistent patterns across variations in values. Applying the Fast-Slow, Fast/Slow, and (Fast-Slow)/Slow Rice formulas, each method deploys two moving averages within its structure. When reviewing data visually, three distinct indicators on a chart may appear similar in form, but they convey different value sets due to their underlying calculations. Each technique provides unique insights despite their visual congruence, contributing to a more comprehensive understanding of market dynamics for informed decision making in technical analysis.
π Read | NeuroBook | Share!
#MQL5 #MT5 #Indicator
π Read | NeuroBook | Share!
#MQL5 #MT5 #Indicator
π26β€8π¨βπ»3π2
Efficient coding practices demand an understanding of passing by value and by reference. The concept of passing by value involves a function receiving a variable copy, ensuring the original data remains unchanged. This is often safer and crucial in scenarios where data integrity is a priority.
In contrast, passing by reference involves providing a function direct access to a variable. While this method is powerful, it carries the risk of unintentional data modifications, often leading to complex debugging challenges.
For programmers, especially those using C or C++ inspired languages like MQL5, mastering these distinctions is key to writing clean, efficient, and error-free code. Prioritize value passing unless modification is absolutely necessary.
π Read | Forum | Share!
#MQL5 #MT5 #Education
In contrast, passing by reference involves providing a function direct access to a variable. While this method is powerful, it carries the risk of unintentional data modifications, often leading to complex debugging challenges.
For programmers, especially those using C or C++ inspired languages like MQL5, mastering these distinctions is key to writing clean, efficient, and error-free code. Prioritize value passing unless modification is absolutely necessary.
π Read | Forum | Share!
#MQL5 #MT5 #Education
π24β€9π3β‘2π₯2π1π¨βπ»1
The article explores the Traj-LLM algorithm, designed to enhance trajectory prediction using Large Language Models. Developed initially for autonomous vehicle applications, Traj-LLM harnesses Sparse Contextual Joint Encoding, high-level interaction modeling, and Lane-aware probabilistic learning, ensuring improved prediction accuracy. By utilizing pre-trained LLMs, the model overcomes traditional constraints of feature engineering, providing a robust approach to model temporal dependencies and interactions among traffic elements. The article also discusses implementing Traj-LLM in algorithmic trading using MQL5, highlighting modifications to existing neural network components for improved data processing efficiency and accuracy.
π Read | AppStore | Share!
#MQL5 #MT5 #AITrading
π Read | AppStore | Share!
#MQL5 #MT5 #AITrading
π25β€16π¨βπ»5π3β‘1
Enhancements to expert advisors (EAs) for real account trading are essential, focusing on factors beyond acceptable strategy tester results. Key improvements include restoring EA operation post-terminal restart, handling varied trading instrument names, and automating trading upon indicator thresholds.
A robust system involves retrieving necessary initialization strings from a multi-gigabyte database storing optimization results. Only vital information is extracted for efficient EA execution, avoiding full database integration.
Optimization involves three stages: single trading strategy optimization, group parameter selection, and final group selection across symbols and timeframes. Optimizing group sizes and forming a strategy group library entail detailed study. Automation streamlines results entry and library formation in databases, eliminating manual ef...
π Read | AppStore | Share!
#MQL5 #MT5 #EA
A robust system involves retrieving necessary initialization strings from a multi-gigabyte database storing optimization results. Only vital information is extracted for efficient EA execution, avoiding full database integration.
Optimization involves three stages: single trading strategy optimization, group parameter selection, and final group selection across symbols and timeframes. Optimizing group sizes and forming a strategy group library entail detailed study. Automation streamlines results entry and library formation in databases, eliminating manual ef...
π Read | AppStore | Share!
#MQL5 #MT5 #EA
π60β€24β‘4π4π2π¨βπ»2
Experience the enhanced functionality in MT4 with the Chaikin Oscillator, now featuring a smoothing option. This tool easily integrates into your technical analysis toolkit, offering a smoothed version of the traditional Chaikin Oscillator. It maintains the core purpose of measuring the momentum of the Accumulation/Distribution line over time, providing traders with the ability to better visualize trends and potential divergence.
With this addition, users can eliminate some of the noise that often accompanies volatile market movements, leading to clearer, more actionable insights. This improvement is particularly useful for those requiring precise analysis in dynamic trading environments. The oscillator remains an essential indicator in volume-based analysis, and the smoothing option enhances its utility, particularly for long-term strategy evaluations.
π Read | VPS | Share!
#MQL4 #MT4 #AI
With this addition, users can eliminate some of the noise that often accompanies volatile market movements, leading to clearer, more actionable insights. This improvement is particularly useful for those requiring precise analysis in dynamic trading environments. The oscillator remains an essential indicator in volume-based analysis, and the smoothing option enhances its utility, particularly for long-term strategy evaluations.
π Read | VPS | Share!
#MQL4 #MT4 #AI
π29β€17π3π¨βπ»2
CCommunicationDialog to create it, giving it m_chatId and m_botToken so it knows about Telegram. After creation, we call m_commPanel->Create() with parameters to place it on the screen.
Once we have a communication panel, we call m_commPanel->Toggle() every time the button is clicked. This shows or hides the panel, letting you interact with it as needed.
This method ties the communication dialog to the home dialog, ensuring it appears and disappears when requested, integrating into the overall system behavior fluidly, and handling user interactions cleanly within the modular structure.
π Read | Freelance | Share!
#MQL5 #MT5 #MQL5
Once we have a communication panel, we call m_commPanel->Toggle() every time the button is clicked. This shows or hides the panel, letting you interact with it as needed.
This method ties the communication dialog to the home dialog, ensuring it appears and disappears when requested, integrating into the overall system behavior fluidly, and handling user interactions cleanly within the modular structure.
π Read | Freelance | Share!
#MQL5 #MT5 #MQL5
π25β€11π€£2π1π¨βπ»1
TrendLoom EA supports traders by generating quick, reliable signals across multiple timeframes without manual switching. Its graphical interface features buttons linked to distinct trading strategies such as Short-Term Focus and Long-Term Trend. Each strategy employs SMAs to determine market signals. By pressing a button, the EA compares the closing price against SMAs, summing signals to issue a BUY, SELL, or NEUTRAL outcome. This aids in confirming overall trends and reducing entry mistakes. Efficient signal updates ensure timely decision-making and enhance analytical precision. The EA's coded framework utilizes MQL5 elements for an interactive yet maintainable interface, streamlining market analysis for traders.
π Read | Signals | Share!
#MQL5 #MT5 #EA
π Read | Signals | Share!
#MQL5 #MT5 #EA
π35β€15π9π¨βπ»1
An indicator displays signals in the main window using Arrow objects based on the iCHO indicator (Chaikin Oscillator, CHO) and its smoothed variant, iCHO Rice. The main feature is the CHO Smoothed Arrow which guides users through visual signal cues. Please remember that indicators in the subwindow are manually added solely for visualization purposes, aiding in interpreting the data. This setup allows for a clear representation of market trends and helps in making informed trading decisions. The combination of these elements can streamline analysis for technical analysts and traders.
π Read | Freelance | Share!
#MQL5 #MT5 #Indicator
π Read | Freelance | Share!
#MQL5 #MT5 #Indicator
π24β€13π¨βπ»5π4π3
Explore the potential of MetaTrader 5 by leveraging MQL wizard to experiment with simple trading patterns efficiently. By combining the Moving Average with the Stochastic Oscillator, traders can generate high-probability trading signals. Delve into the three machine learning phases: Supervised Learning for model training, Reinforcement Learning for optimizing decision-making, and Inference for applying learned insights to new data. Advanced Python integration with neural networks offers significant efficiency gains, enabling cross-validation and forward testing of predictive models. These methods enhance automated trading strategies, providing traders and developers with robust, data-driven decision-making tools for financial markets.
π Read | Signals | Share!
#MQL5 #MT5 #EA
π Read | Signals | Share!
#MQL5 #MT5 #EA
π24β€2π¨βπ»2π1
The article delves into the innovative adaptation of the Tabu Search algorithm for optimizing continuous search spaces. Initially renowned for efficiently solving combinatorial problems using adaptive memory, this modified version introduces a discretization technique, categorizing search parameters into sectors managed by "white" and "black" lists. This structure enhances adaptive exploration by dynamically adjusting search priorities based on previous successes or failures, thereby preventing redundant cycles and promoting diversification. Practical applications include optimizing complex algorithmic trading strategies, offering developers a robust tool to explore diverse solution spaces without excessive parameter tuning, while ensuring efficiency in finding optimal trading strategies.
π Read | CodeBase | Share!
#MQL5 #MT5 #Algorithm
π Read | CodeBase | Share!
#MQL5 #MT5 #Algorithm
π30β€9π¨βπ»2π1