In trading, the integration of fundamental and technical analysis is often debated. While some view these methods as mutually exclusive, combining them could potentially offer a balanced trading strategy. This discussion delays the groundwork for utilizing both analyses by leveraging the strengths of each to inform trading decisions.
Fundamental analysis offers insights into market dynamics and economic indicators, providing a deeper understanding of why markets move. By examining factors like GDP growth, interest rates, and political events, traders can anticipate market trends that are not immediately apparent from charts alone.
On the other hand, technical analysis focuses on price movements and trading volumes to identify patterns that can suggest future activity. By applying tools such as the Moving Average Convergence Divergence (MACD) and the Money Flow Index (MFI), traders c...
Read more...
Fundamental analysis offers insights into market dynamics and economic indicators, providing a deeper understanding of why markets move. By examining factors like GDP growth, interest rates, and political events, traders can anticipate market trends that are not immediately apparent from charts alone.
On the other hand, technical analysis focuses on price movements and trading volumes to identify patterns that can suggest future activity. By applying tools such as the Moving Average Convergence Divergence (MACD) and the Money Flow Index (MFI), traders c...
Read more...
π37β€13π3π₯2π2β‘1
A modified Detrended Price Oscillator (DPO) integrates enhanced control over moving average parameters, including period, mode, and applied price. This adjustment allows for the transformation of the moving average curve into a horizontal line, which can serve as a support or resistance level. The calculation formula for this advanced DPO is defined as: DPO = close - MA (mode, price, DPO_period). Here, 'close' refers to the closing price of the bar. The 'mode' specifies the method used for calculating the moving average, which could be Simple Moving Average (SMA), Exponential Moving Average (EMA), Smoothed Moving Average (SMMA), or Linear Weighted Moving Average (LWMA). 'Price' denotes the price point applied in the moving average calculation, and 'DPO_period' is the duration over which the MA is calculated. This modified DPO tool is designed to offer more precise technical analysis c...
Read more...
Read more...
π35β€18π2π2π2β‘1π€1
Got a programming question? Ask the community! Visit the largest Forum for algorithmic traders, where developers like you share their expertise and discuss topics related to the creation of robots and indicators:
β’ Undocumented methods of working with MQL5
β’ Real-world examples of particular tasks
β’ Frequent errors and solutions
β’ Advanced specifics of the MetaTrader 5 platform operation
Join the discussion, share your knowledge and get new experiences.
Go to the thread "MQL5 features, subtleties and tricks"...
β’ Undocumented methods of working with MQL5
β’ Real-world examples of particular tasks
β’ Frequent errors and solutions
β’ Advanced specifics of the MetaTrader 5 platform operation
Join the discussion, share your knowledge and get new experiences.
Go to the thread "MQL5 features, subtleties and tricks"...
β€33π28π9π4β‘1π€1
In the realm of architectural design, combining the strengths of graph convolution networks and Transformers can yield more effective results than using each technique in isolation. This synergy is exemplified in the recently published algorithm, Graph Transformer Generative Adversarial Model (GTGAN). GTGAN excels in generating realistic architectural layouts from input graphs by merging the advantages of message passing convolutional neural networks (Conv-MPN), a Graph Transformer encoder (GTE), and a generation head. This method successfully illustrates the generation of architecturally coherent house layouts by synthesizing local vertex information and global room relationships.
The GTGAN's innovative approach has demonstrated significant improvements over existing algorithms in both qualitative and quantitative evaluations, proving its capability to handle complex graphically co...
Read more...
The GTGAN's innovative approach has demonstrated significant improvements over existing algorithms in both qualitative and quantitative evaluations, proving its capability to handle complex graphically co...
Read more...
π27β€16β3π3π3β‘1π€1
For developers interested in managing chart objects on MetaTrader 5, particularly when dealing with indicators that do not use buffers, manipulating these objects directly can be crucial. In scenarios where indicators operate solely with objects, modifying these can be quite challenging since iCustom inputs, which facilitate changes in buffer-utilizing indicators, provide no assistance here.
A practical example involves using the "PZ Multidiagonals MT5" indicator, available on the MT5 market. This indicator, primarily used for trend analysis, draws excessive trend lines automatically - an issue if a more streamlined visualization is desired. Before attempting any modifications, installation of the indicator is required.
The process starts with identifying the objects created by the indicator using a unique object prefix. By implementing the LogChartObjectNames() function, develope...
Read more...
A practical example involves using the "PZ Multidiagonals MT5" indicator, available on the MT5 market. This indicator, primarily used for trend analysis, draws excessive trend lines automatically - an issue if a more streamlined visualization is desired. Before attempting any modifications, installation of the indicator is required.
The process starts with identifying the objects created by the indicator using a unique object prefix. By implementing the LogChartObjectNames() function, develope...
Read more...
β€49π42π7π3β‘1
In the realm of advanced trading platforms, understanding the structural and operational nuances of MQL5 libraries becomes imperative for developing robust trading tools. This post delves into the intricate process of importing and utilizing EX5 libraries within MQL5 code, which is essential for creating sophisticated Expert Advisors (EAs) and other trading scripts.
The procedure commences by applying the directive beneath the section in your MQL5 source code. This directive should include the specific path where the .EX5 library is stored, primarily in the default "MQL5/Libraries" or alongside the algorithm's source code. Once the path and file are accurately specified, the subsequent step involves detailing the exported function prototypes to ensure seamless integration within the userβs trading strategy.
Moreover, handling multiple EX5 libraries simultaneously follows a simila...
Read more...
The procedure commences by applying the directive beneath the section in your MQL5 source code. This directive should include the specific path where the .EX5 library is stored, primarily in the default "MQL5/Libraries" or alongside the algorithm's source code. Once the path and file are accurately specified, the subsequent step involves detailing the exported function prototypes to ensure seamless integration within the userβs trading strategy.
Moreover, handling multiple EX5 libraries simultaneously follows a simila...
Read more...
π41β€11β‘4β3π3π―3π€1
The Detrended Price Oscillator (DPO) provides traders with the ability to identify cycles in price movements, pinpointing the distance between peaks and troughs with greater precision. In this updated version of the DPO, a unique feature has been introduced: the oscillator is represented in blue with an accompanying smoothed histogram. This histogram aids in visualizing the length of the price cycles, simplifying cycle analysis for better strategic planning in trading activities. This innovation offers enhanced clarity and ease of analysis for traders looking to optimize their market timing based on cyclical patterns in price movements.
Read more...
Read more...
π68β€34β‘9π6β4π4π3
Algorithmic trading developers must adapt strategies as market conditions evolve, transitioning from mean-reverting strategies during stable times to trend-following strategies during directional shifts. A challenge arises when a single strategy is applied universally, which often fails to deliver consistent success. Instead, coding multiple strategies into a program allows for manual strategic selections tailored to current market behaviors.
To improve this methodology, developers can design systems that autonomously switch strategies based on quantitative assessments of market conditions. This adaptability can be achieved by implementing transition matrices used to measure market trends and behavior, guiding the strategy selection process.
The concept was pioneered by Andrey Markov, whose Markov Chains help model the randomness seen in market dynamics. By applying transition matri...
Read more...
To improve this methodology, developers can design systems that autonomously switch strategies based on quantitative assessments of market conditions. This adaptability can be achieved by implementing transition matrices used to measure market trends and behavior, guiding the strategy selection process.
The concept was pioneered by Andrey Markov, whose Markov Chains help model the randomness seen in market dynamics. By applying transition matri...
Read more...
π31β€18π4π3β‘1
The newly designed .mqh files facilitate the export and import of orders and trades between Expert Advisors (EAs), providing functionality for copying trades either within the same trading terminal or across terminals on the same computer. This system supports trading across different symbols, such as copying a spot market instrument's trades to corresponding futures.
For exporting, the `GRat_OrderExport.mqh` file must be included in your EA. Configuration options include setting Common to true for exporting to another terminal on the same machine, or false for the same terminal. The KeepSeconds parameter dictates the availability duration for exported trades, with a setting of 0 allowing indefinite availability. Implementation requires adding `ExportOrder()` where `OrderSend()` or `CTrade` methods execute orders.
For importing, integrate the `GRat_OrderImport.mqh` file into your EA...
Read more...
For exporting, the `GRat_OrderExport.mqh` file must be included in your EA. Configuration options include setting Common to true for exporting to another terminal on the same machine, or false for the same terminal. The KeepSeconds parameter dictates the availability duration for exported trades, with a setting of 0 allowing indefinite availability. Implementation requires adding `ExportOrder()` where `OrderSend()` or `CTrade` methods execute orders.
For importing, integrate the `GRat_OrderImport.mqh` file into your EA...
Read more...
π56β€34β‘9π8π€£6
Transfer entropy is a powerful statistical measure used to determine the amount of information exchanged between time series and to analyze the direction of causal relationships. It is particularly valuable in discerning whether one variable can predict another. This approach leverages the concept of Granger causality, which is based on comparing prediction errors and enhancing model fit by including past values of a potentially causative variable in the regression model.
Significance tests such as p-values and z-scores are employed to ensure the robustness of transfer entropy calculations. These tests involve comparing results from original data with those from shuffled datasets to check if the observed causality is statistically significant or merely coincidental.
Programming-wise, an MQL5 implementation to measure transfer entropy has been described, titled `transfer_entropy.mqh`...
Read more...
Significance tests such as p-values and z-scores are employed to ensure the robustness of transfer entropy calculations. These tests involve comparing results from original data with those from shuffled datasets to check if the observed causality is statistically significant or merely coincidental.
Programming-wise, an MQL5 implementation to measure transfer entropy has been described, titled `transfer_entropy.mqh`...
Read more...
π18β€10π5π2β‘1
This article discusses a trading bot that uses real-time sentiment analysis from social media to guide its trading decisions. Integrating MetaTrader 5 (MT5) with a Python-based sentiment analysis tool, the bot showcases a hybrid of quantitative finance and natural language processing. With client-server architecture, it utilizes socket communication to connect MT5's trading functionalities and Python's data parsing capabilities.
The bot analyzes Twitter sentiment concerning specific financial instruments and converts this data into actionable trading signals. This method not only taps into the synergy of diverse technologies in finance but also underscores the significance of alternative data in contemporary trading strategies. The in-depth analysis of the bot focuses on its functionality and code structure, processing social media data, and managing trade executions based on sentim...
Read more...
The bot analyzes Twitter sentiment concerning specific financial instruments and converts this data into actionable trading signals. This method not only taps into the synergy of diverse technologies in finance but also underscores the significance of alternative data in contemporary trading strategies. The in-depth analysis of the bot focuses on its functionality and code structure, processing social media data, and managing trade executions based on sentim...
Read more...
β€17π17π6π₯3β‘1
This discussion revisits the topic of how learning rate formats impact Expert Advisor performance, focusing particularly on adaptive learning rates and the one-cycle learning rate. Adaptive learning rates like adaptive gradient, adaptive RMS, adaptive mean exponential, and adaptive delta are explored, each tailoring the learning rate based on the training gradients of specific parameters within the model, thereby optimizing performance by adjusting the learning input precisely.
Furthermore, the article delves into the benefits of using the Sigmoid activation within a specified range for the NZDUSD forex pair in the context of the 2023 daily timeframe. This selective use along with non-batch normalized inputs, although risky, aims to simplify the evaluation of learning rate effectiveness under controlled output conditions. The article recognizes inherent risks in non-normalized data, ...
Read more...
Furthermore, the article delves into the benefits of using the Sigmoid activation within a specified range for the NZDUSD forex pair in the context of the 2023 daily timeframe. This selective use along with non-batch normalized inputs, although risky, aims to simplify the evaluation of learning rate effectiveness under controlled output conditions. The article recognizes inherent risks in non-normalized data, ...
Read more...
π20β€5π4π―1
Developing an Expert Advisor (EA) requires a nuanced understanding of both algorithms and market indicators. This article highlights two primary methods for integrating indicators into an EA's algorithm. One approach is direct coding of indicator conditions, which enhances efficiency and speed in Strategy Tester operations without separate indicators. The second method involves programming the EA to respond to the indicator's buffer states, which require specific setup within MetaTrader 5 directories to ensure operational functionality.
Challenges arise when attempting to publish an EA based on a custom indicator, as the MQL5 community's validation system may not recognize the custom setup, confining testing and use to personal computers. Preparing an indicator involves organizing buffer sequences and understanding buffer operations, a critical step for seamless EA development. Each ...
Read more...
Challenges arise when attempting to publish an EA based on a custom indicator, as the MQL5 community's validation system may not recognize the custom setup, confining testing and use to personal computers. Preparing an indicator involves organizing buffer sequences and understanding buffer operations, a critical step for seamless EA development. Each ...
Read more...
π26β€11β‘7β3
In software development, creating and integrating multiple tools on a unified platform, such as MetaTrader 5, can lead to unexpected compatibility issues. When different programs, processes, or indicators, designed to operate independently, are combined, conflicts may arise, causing performance issues or functionalities to break. Professionals in the IT and programming sector must anticipate these conflicts and design components that can seamlessly integrate without conflict.
The development of a new Chart Trade indicator, distinct from a previous iteration discussed in earlier articles, illustrates this process. The new version avoids using legacy code and is designed to operate harmoniously with other components, specifically a mouse indicator developed earlier. This approach emphasizes creating components that can easily interact and function together, thus minimizing the potentia...
Read more...
The development of a new Chart Trade indicator, distinct from a previous iteration discussed in earlier articles, illustrates this process. The new version avoids using legacy code and is designed to operate harmoniously with other components, specifically a mouse indicator developed earlier. This approach emphasizes creating components that can easily interact and function together, thus minimizing the potentia...
Read more...
π23β€11π4β‘2β2π2
The Whale Optimization Algorithm (WOA), inspired by humpback whales' hunting strategies, applies biological behaviors to technical optimization. In algorithmic terms, "whales"βrepresenting different solutionsβnavigate towards optimal results by mimicking whale hunting techniques such as "bubble netting" and "spiral penetration."
WOA initiates with a random whale population, selecting a leader based on the best objective function. This leader guides the group, with other whales updating their positions in two modes: exploration (search around the best solution) and exploitation (move towards the best solution). This balance allows the algorithm to efficiently search and optimize solutions space.
Despite its innovative approach, WOA has limitations like potential for local optimum entrapment and slow convergence times. Adjustments like incorporating migration strategies have been prop...
Read more...
WOA initiates with a random whale population, selecting a leader based on the best objective function. This leader guides the group, with other whales updating their positions in two modes: exploration (search around the best solution) and exploitation (move towards the best solution). This balance allows the algorithm to efficiently search and optimize solutions space.
Despite its innovative approach, WOA has limitations like potential for local optimum entrapment and slow convergence times. Adjustments like incorporating migration strategies have been prop...
Read more...
π23π8π4β€3π2β‘1
The Roofing Filter Indicator, developed by John Ehlers, is utilized in trading to identify short-term trends. When this indicator surpasses its signal line, it suggests a short-term uptrend is initiating, whereas a crossover below indicates a potential downtrend. Traders may consider buying when the indicator's line turns green and selling when it shifts to red, aiding in strategic decision-making to optimize trading performances. This method provides a systematic approach to catch trend shifts promptly, benefiting those engaged in active trading environments.
Read more...
Read more...
β€38π19β‘4π4π2π₯1
Linux offers a robust ecosystem for software development, preferred especially by those proficient in command line interfaces. Its package management system simplifies application installation, making the operating system transparent and mutable, allowing deep customization of its subsystems. Linuxβs design includes ready-to-use essential development tools, creating a flexible and efficient environment favored in software engineering. This platform is versatile, spanning from personal desktops to sophisticated cloud services provided by major platforms like AWS and Google Cloud.
Developers targeting Windows users can utilize Linux to develop and deliver consistent, platform-agnostic applications. For instance, MetaTrader 5 developers often employ the MQL5 programming language and rely on the MT5 IDE for compiling. However, when developing custom solutions like shared libraries (DLLs)...
Read more...
Developers targeting Windows users can utilize Linux to develop and deliver consistent, platform-agnostic applications. For instance, MetaTrader 5 developers often employ the MQL5 programming language and rely on the MT5 IDE for compiling. However, when developing custom solutions like shared libraries (DLLs)...
Read more...
β€23π10β5π4β‘3π2
This technical indicator is designed to assist in trend and channel identification using the BSI Indicator as a base evaluation tool. It begins by assessing the overall market trend with the BSI, followed by drawing either trend lines or channels based on specific conditions. The configuration includes an orange dashed line to indicate either a high trend line or channel, while a blue dashed line represents a low trend line or channel. Key visual cues include a red mark to denote a high reversal bar and a blue mark for a low reversal bar. Additional features include a pink line, which outlines the tango line indicating the entry level, and a magenta line that depicts the moving average of the tango line. For clarity on BSI values, a red dotted line is used. This type of indicator is crucial for technical analysis, providing clear visual aids to guide trading decisions.
Read more...
Read more...
π55β€36π5π2β‘1π1π1
MetaTrader 5 now supports a new program type called services, enabling users to create custom price feeds by implementing real-time price delivery from external systems. This feature allows for continuous data synchronization similar to that on brokers' trade servers, without needing to be chart-dependent.
Services run in their own thread, with executed threads correlating to the number of services. Unlike scripts and Expert Advisors (EAs), services can operate continuously without interrupting the functioning of other MQL5 programs, thanks to their independent execution flow. Additionally, services differ in their inability to use certain functions such as ExpertRemove() or any related to timers and custom indicators, aligning with their design to handle single Start events and ongoing tasks without user intervention.
Specifically, services can be extremely useful for background op...
Read more...
Services run in their own thread, with executed threads correlating to the number of services. Unlike scripts and Expert Advisors (EAs), services can operate continuously without interrupting the functioning of other MQL5 programs, thanks to their independent execution flow. Additionally, services differ in their inability to use certain functions such as ExpertRemove() or any related to timers and custom indicators, aligning with their design to handle single Start events and ongoing tasks without user intervention.
Specifically, services can be extremely useful for background op...
Read more...
π35β€17π6β‘3π3β1π¨βπ»1
This function serves as a foundational script for retrieving the day's trading history in a trading platform environment. It's designed to allow users to enhance its functionality, such as by incorporating additional data types like trading volume. Modifications can also be made to examine different time periods by adjusting the starting variable in the code.
By default, the output, specifically the Daily Profit figure, is displayed in the Experts Panel. This function is crafted to be straightforward, promoting comprehensibility and ease of adaptation for further customization and extension by users who wish to tailor the function to meet specific trading needs or integrate more complex trading metrics.
Read more...
By default, the output, specifically the Daily Profit figure, is displayed in the Experts Panel. This function is crafted to be straightforward, promoting comprehensibility and ease of adaptation for further customization and extension by users who wish to tailor the function to meet specific trading needs or integrate more complex trading metrics.
Read more...
π65β€29π5π₯4π4π4π€1