In this discussion, the focus is on the Support and Resistance forex trading strategies utilizing MetaQuotes Language 5 (MQL5) for creating an Expert Advisor (EA) in MetaTrader 5 (MT5). Key areas covered include strategy definition, types, and the technical aspects of implementation in MQL5. The strategy revolves around the analysis and identification of key price levels that typically reflect pause or reversal trends, termed as support and resistance levels.
The article elaborates on different types of support and resistance such as round numbers, trendline channels, Fibonacci levels, and indicator-based levels. Each type serves distinct functions in trading, with implications for both strategy formulation and execution. Emphasis is placed on horizontal round numbers for practical illustration.
The practical section details the development of an EA in MQL5, highlighting steps from ...
Read more...
The article elaborates on different types of support and resistance such as round numbers, trendline channels, Fibonacci levels, and indicator-based levels. Each type serves distinct functions in trading, with implications for both strategy formulation and execution. Emphasis is placed on horizontal round numbers for practical illustration.
The practical section details the development of an EA in MQL5, highlighting steps from ...
Read more...
π11β€2π2π1
Exploring the utilization of Long Short-Term Memory (LSTM) networks for price prediction in financial markets reveals promising strategies for handling time series data. LSTMs are beneficial due to their ability to remember long-term dependencies, dealing with one of the key challenges in traditional Recurrent Neural Networks (RNNs). This capacity is crucial for modeling sequences where context from much earlier inputs (such as past price movements) significantly influences current outputs.
The practical application involves normalizing price data on a daily rolling basis, recognizing the importance of adapting to intraday volatility and ensuring the model isn't biased by significant singular movements. This normalization strategy uses the highest and lowest prices within a day to scale price action between 0 and 1, refining how the model views price relationships.
Methodologically,...
Read more...
The practical application involves normalizing price data on a daily rolling basis, recognizing the importance of adapting to intraday volatility and ensuring the model isn't biased by significant singular movements. This normalization strategy uses the highest and lowest prices within a day to scale price action between 0 and 1, refining how the model views price relationships.
Methodologically,...
Read more...
π11β€5π1π1
In the latest discussion on improving data communication between Expert Advisors (EAs) and indicators in MetaTrader 5, we focus on refining the process of reading data from an indicator, a vital step for developing robust trading strategies. The new approach involves creating a clear channel for indicators to send meaningful data back to the EA, enhancing the interaction and integration of the two.
In our proposed method, a header file `Defines.mqh` is used to streamline the naming convention across the EA and the indicator, which helps in avoiding any discrepancies during the development process. This setup facilitates a smoother workflow by ensuring consistent references in both the EA and indicator codes.
The core of this system relies on the indicator having the capability to write data to a buffer, which the EA can then read from. By implementing this model, it ensures that the...
Read more...
In our proposed method, a header file `Defines.mqh` is used to streamline the naming convention across the EA and the indicator, which helps in avoiding any discrepancies during the development process. This setup facilitates a smoother workflow by ensuring consistent references in both the EA and indicator codes.
The core of this system relies on the indicator having the capability to write data to a buffer, which the EA can then read from. By implementing this model, it ensures that the...
Read more...
β€8π6π―3π₯2π2
Exploring a new approach to algorithmic optimization, researchers have developed an innovative experiment to investigate how algorithms handle scenarios with minimal initial diversity. The test involves initializing all agents at the global minimum instead of distributing them randomly, creating a challenging environment termed a 'degenerate population'. This setup aims to test the algorithms' abilities to escape local extrema and achieve a global maximum, a significant challenge in optimization tasks.
This approach is particularly insightful for studying the impact of diversity on the efficiency of optimization algorithms. By forcing all agents to start from a single point, the experiment allows researchers to explore strategies to maintain diversity and enhance algorithm performance under constrained conditions.
The findings from this experiment could lead to better strategies in ...
Read more...
This approach is particularly insightful for studying the impact of diversity on the efficiency of optimization algorithms. By forcing all agents to start from a single point, the experiment allows researchers to explore strategies to maintain diversity and enhance algorithm performance under constrained conditions.
The findings from this experiment could lead to better strategies in ...
Read more...
π8π3π₯2β€1π1π1
Understanding the intricacies of automated trading can significantly enhance strategy implementation and effectiveness. Key functionality includes the ability to adjust parameters such as target profit, starting lot size, and gain per lot through methods like SetParameters. This flexibility ensures that traders can tailor strategies to fit market conditions and personal risk tolerance.
Accurately setting and retrieving target profits is crucial, manageable via the TargetProfit methods. Adjusting for gain per lot with GainPerLot, and controlling order placement through dynamic adjustment of order distance with SqueezeDistance, allow for optimized entry and exit points.
For managing risk, methods like SetHard-ST allow for precise stop loss settings, safeguarding investments against market volatility. Analyzing trading volumes through LongVolume and ShortVolume functions offers insight...
Read more...
Accurately setting and retrieving target profits is crucial, manageable via the TargetProfit methods. Adjusting for gain per lot with GainPerLot, and controlling order placement through dynamic adjustment of order distance with SqueezeDistance, allow for optimized entry and exit points.
For managing risk, methods like SetHard-ST allow for precise stop loss settings, safeguarding investments against market volatility. Analyzing trading volumes through LongVolume and ShortVolume functions offers insight...
Read more...
β€6π4π2π€1
The scrollbar's functionality in UI design is critical for effective user navigation through content-heavy applications. Addressing user needs for clear and functional interfaces, this article outlines the development of an enhanced scrollbar that dynamically adjusts its slider based on the content's visibility within a container. By improving the responsiveness of horizontal and vertical scrollbars, users can accurately gauge the relative position and amount of the unseen content.
To boost the application's performance and scalability, modifications are introduced in the MQL5 library classes. These include setting a minimum slider size to prevent it from being too small to manipulate and customizing the step size for shifting container contents, ensuring more precision and smoother scrolling experience. Additionally, crucial modifications ensure that graphical elements accurately up...
Read more...
To boost the application's performance and scalability, modifications are introduced in the MQL5 library classes. These include setting a minimum slider size to prevent it from being too small to manipulate and customizing the step size for shifting container contents, ensuring more precision and smoother scrolling experience. Additionally, crucial modifications ensure that graphical elements accurately up...
Read more...
π10β3π3π€1
Introducing an advanced technical tool, the Adaptive R207;SI indicator, which calculates using tick data to provide a detailed analysis of market dynamics. Separate from standard tools, this version enhances its utility by incorporating both fast and slow moving averages displayed in an additional analysis window. It permits users to adjust calculation periods, choose from different moving average types, and alter visual settings for optimized clarity and usability.
Originally converted from a 2008 MT4 Rosh-developed indicator at Trend Laboratory, the upgraded version now seamlessly integrates with MT5, replacing the default RSI indicator to offer a more robust and precise market evaluation. The Adaptive RSI's key features include a green tick price plot alongside a blue fast RSI line and a red slow RSI line, collectively providing comparative insights against MT5's default RSI, thus...
Read more...
Originally converted from a 2008 MT4 Rosh-developed indicator at Trend Laboratory, the upgraded version now seamlessly integrates with MT5, replacing the default RSI indicator to offer a more robust and precise market evaluation. The Adaptive RSI's key features include a green tick price plot alongside a blue fast RSI line and a red slow RSI line, collectively providing comparative insights against MT5's default RSI, thus...
Read more...
β€7π6π2
A developer by the nickname "William210" offers a range of indicators across various platforms, with some available for purchase and others for free download. Highlighting the ease of use, these tools make use of native functions from the MovingAverages.mqh library, such as `SimpleMAOnBuffer()`, `ExponentialMAOnBuffer()`, `SmoothedMAOnBuffer()`, and `LinearWeightedMAOnBuffer()`.
These indicators encompass a variety of financial model bases including Adaptative Moving Average, ADX, Alligator, and more complex models such as MACD and Stochastic indicators. For developers looking to enhance their trading algorithms, "William210" also provides multi-timeframe smoothing options like EMA, SMA, and Linear Weighted Moving Average. Additionally, there are options like VWMA and EVWMA for volume-weighted analysis.
For any assistance or updates due to malfunction or upgrades, users are encourag...
Read more...
These indicators encompass a variety of financial model bases including Adaptative Moving Average, ADX, Alligator, and more complex models such as MACD and Stochastic indicators. For developers looking to enhance their trading algorithms, "William210" also provides multi-timeframe smoothing options like EMA, SMA, and Linear Weighted Moving Average. Additionally, there are options like VWMA and EVWMA for volume-weighted analysis.
For any assistance or updates due to malfunction or upgrades, users are encourag...
Read more...
β€15π13π3π₯2π2π1
In a recent technical exploration, the development of a ticker panel for displaying real-time symbol prices has been further enhanced. The panel, initially discussed in a prior article, lacked complete functionality but demonstrated the base concept with minimal code. Enhancements now integrate visual aids such as asset logos, facilitating quicker asset identification on the display.
The upgrade introduces a new class, C_Object_Bitmap, designed to handle these images. This class simplifies object creation and details which image to display, embracing a heightened level of abstraction to prevent exposure of the underlying code processes to other system components or end-users.
Further modifications include improvements to the C_Object_Edit class, enabling greater control over text appearance on the chart, including font types and sizes. Such advancements allow for a richer presentati...
Read more...
The upgrade introduces a new class, C_Object_Bitmap, designed to handle these images. This class simplifies object creation and details which image to display, embracing a heightened level of abstraction to prevent exposure of the underlying code processes to other system components or end-users.
Further modifications include improvements to the C_Object_Edit class, enabling greater control over text appearance on the chart, including font types and sizes. Such advancements allow for a richer presentati...
Read more...
β€12π10π1
Understanding an enhanced indicator tool can significantly aid in trading strategy refinement. This update is based on the Time Segenerated Volume (TSV) originally by Worden Brothers, Inc. A key addition to this tool is the freedom to select different pricing points, rather than being constrained to the close price typically used. Additionally, users have options in volume weighting, including a technique based on a true range and an option to forego volume weighting altogether.
The indicator incorporates two types of moving averages: the original simple moving average and a newly integrated exponential moving can be activated depending on preference, which offers quicker responsiveness to market changes. The coding is versatile, designed for compatibility with both MQL4 and MQL5 environments.
For developers and traders interested in accessing the source code, it's available under '...
Read more...
The indicator incorporates two types of moving averages: the original simple moving average and a newly integrated exponential moving can be activated depending on preference, which offers quicker responsiveness to market changes. The coding is versatile, designed for compatibility with both MQL4 and MQL5 environments.
For developers and traders interested in accessing the source code, it's available under '...
Read more...
π20β€5π5β‘2π2
Understanding causal inference in the context of trading is an intricate yet vital aspect of developing robust predictive models. Recently, the focus has been on the use of propensity score matching (PSM), a technique predicated on the ability to estimate the average causal effect (ACE) even when data exhibits inherent biases due to variable treatments across a heterogeneous sample.
PSM addresses challenges particularly present in environments like Forex trading where market volatility significantly affects the data distribution in training sets. This method involves matching datasets with similar propensity scores, which are estimates of the probability of receiving a particular treatment given their baseline characteristics. By aligning units from both the treatment and control groups that share similar scores, PSM seeks to neutralize the effect of confounding variables, thus ensur...
Read more...
PSM addresses challenges particularly present in environments like Forex trading where market volatility significantly affects the data distribution in training sets. This method involves matching datasets with similar propensity scores, which are estimates of the probability of receiving a particular treatment given their baseline characteristics. By aligning units from both the treatment and control groups that share similar scores, PSM seeks to neutralize the effect of confounding variables, thus ensur...
Read more...
π6β5π₯1π1
In the realm of custom scripting with external libraries, understanding the use of "user32.dll" can enhance application interfaces significantly. A brief script tutorial demonstrates how to leverage this DLL in several steps.
1. Start by importing the DLL and its essential functions.
2. Utilize `FindWindowW` to acquire the handle of a parent alert dialog, pinpointing the specific parent window handle crucial for interaction.
3. Further, use `FindWindowExW` to obtain the handle of a child window component, such as a textbox or label, within the dialog. This specifies the process by identifying the child window handle.
4. Extract content from the textbox, ensuring to define the string length before extraction to avoid errors.
This methodical approach to using external libraries like "user32.dll" allows for deeper customization and control over Windows GUI elements, facilitating more d...
Read more...
1. Start by importing the DLL and its essential functions.
2. Utilize `FindWindowW` to acquire the handle of a parent alert dialog, pinpointing the specific parent window handle crucial for interaction.
3. Further, use `FindWindowExW` to obtain the handle of a child window component, such as a textbox or label, within the dialog. This specifies the process by identifying the child window handle.
4. Extract content from the textbox, ensuring to define the string length before extraction to avoid errors.
This methodical approach to using external libraries like "user32.dll" allows for deeper customization and control over Windows GUI elements, facilitating more d...
Read more...
π14β€4π2
In the latest installment on developing a modular replay system, the focus shifts to enhancing communication between processes using an EA and an indicator, with scope for further expansion. The segmentation into modules allows for individual updates or modifications without impacting the broader system, making it more efficient and secure compared to using global terminal variables.
Efforts are made to transform an EA-based system into one that operates on an indicator, which aligns with the systemβs upcoming enhancements. This transition includes modifying code within the InterProcess.mqh and C_Study.mqh files to facilitate seamless data transfer and interaction. These code adjustments are geared to ensure the indicator functions efficiently within its environment, handling inter-process communications without hindering the performance of other operations on the chart.
Understand...
Read more...
Efforts are made to transform an EA-based system into one that operates on an indicator, which aligns with the systemβs upcoming enhancements. This transition includes modifying code within the InterProcess.mqh and C_Study.mqh files to facilitate seamless data transfer and interaction. These code adjustments are geared to ensure the indicator functions efficiently within its environment, handling inter-process communications without hindering the performance of other operations on the chart.
Understand...
Read more...
π15β€6π2π2π1
The indicator in discussion employs a calculating method based on the principles of Linear Regression Value. For those interested in a deeper understanding, it is recommended to refer to the detailed explanation provided in the related post. The calculation of this linear regression line utilizes the exact function outlined in the previously mentioned link, ensuring consistency in the methodological approach. This precision in calculation aids in delivering reliable predictions and trends within the dataset being analyzed.
Read more...
Read more...
π14π2π2β€1
Understanding the application of Linear Regression in trading algorithms can significantly enhance trading strategy development. This particular indicator utilizes the Linear Regression Value method, which is detailed extensively in a dedicated post on the subject. For developers and programmers working in the financial technology sector, leveraging such mathematical models is crucial for designing predictive algorithms that are both robust and efficient. The method discussed is used specifically to compute the slope of the linear regression, which can provide insightful data trends in market analysis. For those interested in implementing or refining their trading algorithms, a thorough understanding of this method is recommended.
Read more...
Read more...
π12π₯3π1
Efficiency in coding has always been a critical aspect of software development. In a notable instance concerning linear regression calculations, a coder known as "mathemat" developed a streamlined formula for these calculations: `3*lwma - 2*sma`. This formula, utilizing lightweight moving average (LWMA) and simple moving average (SMA), both optimized for what is referred to as "loop less mode," offers an expedited approach to compute linear regression values accurately.
Although this method is efficient, it omits two crucial aspects found in the traditional linear regression calculations: the intercept and the slope of the regression line. Recognizing the importance of these components, an alternative approach has been proposed. This new method still adheres to the loop less mode for efficiency but incorporates both the intercept and the slope, ensuring a more comprehensive analysis....
Read more...
Although this method is efficient, it omits two crucial aspects found in the traditional linear regression calculations: the intercept and the slope of the regression line. Recognizing the importance of these components, an alternative approach has been proposed. This new method still adheres to the loop less mode for efficiency but incorporates both the intercept and the slope, ensuring a more comprehensive analysis....
Read more...
π22β€4π1π1
In the latest installment of our series on MQL5 and RestAPI, we focus on transitioning from a procedural approach to using object-oriented programming (OOP) to enhance code management and efficiency. OOP helps in organizing functions into classes, making the software easier to maintain and expand.
OOP principles like encapsulation enhance modularity, allowing related functions and variables to be grouped together. This structure reduces errors and simplifies maintenance. In MQL5, converting existing procedural code into class-based code promotes code reusability across different parts of the project or future projects.
Changes discussed include the creation of interfaces like IHttpRequest and IHttpResponseProcessor, which establish a framework for classes. Concrete classes such as HttpRequest and HttpResponseProcessor implement these interfaces, encapsulating the handling of HTTP re...
Read more...
OOP principles like encapsulation enhance modularity, allowing related functions and variables to be grouped together. This structure reduces errors and simplifies maintenance. In MQL5, converting existing procedural code into class-based code promotes code reusability across different parts of the project or future projects.
Changes discussed include the creation of interfaces like IHttpRequest and IHttpResponseProcessor, which establish a framework for classes. Concrete classes such as HttpRequest and HttpResponseProcessor implement these interfaces, encapsulating the handling of HTTP re...
Read more...
π11β€3π3π€3β1
In the realm of technical analysis, not all indicators facilitate the application to another indicator's data, especially in environments governed by specific platform constraints. A useful case in point is the linear regression line, which traditionally leverages simple price data. An enhanced version of this is now presented that allows application to data from other indicators, extending its utility.
Moreover, unlike the regression channel which requires manual adjustments to align with new bars, this updated linear regression line adjusts automatically, streamlining its use in dynamic market conditions. Additionally, this version offers a feature where the line color changes based on the slope, providing visual cues about trend direction and momentum, thus aiding in more nuanced analysis and decision-making processes in trading strategies. This adaptation marks a significant impr...
Read more...
Moreover, unlike the regression channel which requires manual adjustments to align with new bars, this updated linear regression line adjusts automatically, streamlining its use in dynamic market conditions. Additionally, this version offers a feature where the line color changes based on the slope, providing visual cues about trend direction and momentum, thus aiding in more nuanced analysis and decision-making processes in trading strategies. This adaptation marks a significant impr...
Read more...
π20β€14π2π₯1π1
Expanding accessibility and integration on the MetaTrader 5 platform, developers now have enhanced capabilities to utilize WhatsApp for effective signal notifications. This improvement is a part of ongoing upgrades to make trading signals accessible via popular platforms such as WhatsApp, thanks to its new channel feature aimed at reaching a broader audience.
The integration process includes configuring a Messaging API and modifying the Trend Constraint Indicator to send notifications through WhatsApp. This setup is detailed in a newly introduced flowchart which outlines critical stages, ensuring developers can replicate or adapt the process efficiently.
Security has been a paramount consideration, with stages including rigorous testing and debugging to safeguard the application from potential vulnerabilities common with DLL files, such as malware risks and version conflicts.
Comp...
Read more...
The integration process includes configuring a Messaging API and modifying the Trend Constraint Indicator to send notifications through WhatsApp. This setup is detailed in a newly introduced flowchart which outlines critical stages, ensuring developers can replicate or adapt the process efficiently.
Security has been a paramount consideration, with stages including rigorous testing and debugging to safeguard the application from potential vulnerabilities common with DLL files, such as malware risks and version conflicts.
Comp...
Read more...
π13π₯8β€7β2π1
In the technical development of the Replay System, specifically in article "Developing a Replay System (Part 40): Starting the second phase (I)", the focal point shifted towards enhancing the integration and functionality of the mouse within the trading environment through a custom indicator. The evolution introduces a methodology to streamline coding practices and reduce redundancy across different sectors of development.
The modification of the C_Mouse class is vital as it serves as a hinging mechanism between user interaction and system response. This evolution emphasizes on refining the interaction with the mouse pointer, finalizing the indicator for an extended period without further alterations, promising stability and consistency in its application.
In subsequent phases, elements from the C_Study class are strategically moved to streamline the C_Mouse class, focusing on simpl...
Read more...
The modification of the C_Mouse class is vital as it serves as a hinging mechanism between user interaction and system response. This evolution emphasizes on refining the interaction with the mouse pointer, finalizing the indicator for an extended period without further alterations, promising stability and consistency in its application.
In subsequent phases, elements from the C_Study class are strategically moved to streamline the C_Mouse class, focusing on simpl...
Read more...
π7β€6β2