MQL5 Algo Trading
394K subscribers
2.59K photos
2.59K links
The best publications of the largest community of algotraders.

Subscribe to stay up-to-date with modern technologies and trading programs development.
Download Telegram
Lessons from an experienced developer:

Achieving efficient programming in financial markets goes beyond the elementary mastery of codes - it's about getting the full grasp of the essence of time. With the MQL5 (MetaQuotes Language 5), significant strides in handling date and time in financial trading has been actualized.

This knowledge is a weapon for both traders and developers, and today, the focus would be on highlighting the comprehensive scope of this important subject. Key topics include: datetime type, MqlDateTime structure, OnTimer event, and potential applications such as NewBar, Time Filter, and tradeAtTime.

The datetime variable type, fundamental to MQL5, helps comprehend Unix time i.e., seconds elapsed since January 1, 1970. From comparisons and manipulations to conversions, a deep understanding of datetime opens up limitless possibilities in the trading arena.

Ensui...

Read More
πŸ‘4πŸ™3❀1
Delving into the complex world of coding can be demanding, especially for beginners. For those seeking examples of codes and functions, they can be found within the official documentation. Simplified versions of codes have been crafted for ease of use and rapid progression - crucial tools for beginners and seasoned programmers looking to refine their skills.

Educational codes provided cover a wide variety of topics, ranging from the basics to more advanced concepts. For instance, beginners can learn about the codes of Adaptive Moving Average or Average True Range. This knowledge base also includes topics like Bands Bollinger, Ichimoku, and Momentum. Advanced users can further their understanding with codes illustrating calculations for specific indicators without using the Mql5 iFunction.

The aim is efficient reusability and a learning journey that is as smooth as possible. Program...

Read More
πŸ‘6πŸ€“1
Recently, attention has turned towards the potential involvement of category theory & natural transformations in the Generative Pretrained Transformer (GPT) algorithms deployed by Open AI, particularly chatGPT. The speculation stems from the 'transform' in transformer neural networks, which have demonstrated impressive capabilities in tasks such as language translations.

The Transformer model, as presented in 'Attention Is All You Need,’ proposed Self-Attention as a revolutionary approach. It's important to note that the AI platforms currently in use owe a significant portion of their genesis to this development.

While the exact algorithm used by Open AI remains undisclosed, the understanding is that it employs Word-Embedding, Positional Encoding, Self-Attention, and a Feed-Forward network. Concerning language translation, which is crucial considering most input in chatGPT is te...

Read more...
πŸ‘2
Get acquainted with the winning strategy Expert Advisor (EA) which is grounded on the Super Scalper EMAs indicator. This algorithmic trading tool offers maximum profit potential with minimal risk involved. Its robust design ensures that the strategies are executed with precision and speed, leaving little to chance during operational hours. Take the guesswork out of intensive market speculation and exercise a high level of control over trading activities. Ideal for seasoned traders and beginners alike, this EA paves the way for more efficient, streamlined trading processes.

Moreover, this EA is equipped with mechanisms that minimize exposure to unanticipated market fluctuations. The unique intersection of low risk, high-profit promise might seem elusive in the volatile realms of Forex trading, but with this EA - gaining a competitive edge is anything but out of reach. Balance risk an...

Read more...
πŸ™3πŸ‘2
In a recent exploration of MQTT, a versatile pub/sub messaging protocol, it was discovered that MQTT is beneficial across various industries where an agnostic message-sharing protocol is needed. The protocol also proved useful in the context of trading applications.

Upon embarking on the challenge of integrating a native MQL5 client for MQTT into the code base and utilizing Mosquitto open-source MQTT broker running on WSL, some initial hurdles arose. An attempt to connect with a local Mosquitto broker received an immediate reset due to Protocol Error.

However, following a Test-Driven Development approach, a connect packet builder was constructed considering various metadata, which cleared this error. This method of development, which entails writing a test prior to developing the code, can be beneficial for aligning with project requirements and setting clear development goals.

...

Read more...
πŸ‘2
In order to enhance comprehension and make the best use of the submitted codes, certain guidelines need to be adhered to. Recognising the underlying principles upon which the code is built and interpreting the indications is vital for precise understanding.

If submitting an Expert Advisor, it would be beneficial to mention a suitable symbol and timeframe. Should the submission be an include file, its purpose needs to be articulated, such as its use in trailing, or calculating the size of a position to be opened.

Images incorporated must be of a small size, preferably not exceeding 750x500 pixels. Charts with indicators or graphical objects should follow a black and white color scheme, allowing easy printing from screen.

Naming the attached code using Latin letters and in English language is essential for uniform understanding. For instance, research.mq5 is preferable over issledo...

Read more...
πŸ‘2πŸ‘Œ1
The importance of using Python's massive library for reducing the development cycle in data processing is significant. The availability of vast libraries offered by Python facilitates development while saving developers time. In order to further delve into the subject, Python libraries related to different architectures, trading, and backtesting will be discussed. These include but aren't limited to libraries for labeled data that users can study further.

The convenience of processing data obtained from the MT5 client using the MetaTrader5 library is emphasized. Installation of necessary libraries, creation of Python files, connection to the client, and data acquisition processes are discussed step-by-step. However, careful attention is required in converting the obtained data into a suitable format.

The use of the pytrendseries library is favored due to its advantages in data proc...

Read more...
πŸ‘4
The week presents an opportunity to comprehend the inner workings of the Rsi() function. Recreating it, developers could gain significant insight into crucial concepts and codes applicable in forthcoming projects.

Key areas to focus on include path limitation within the oncalculate function, FOR loops, and static variables. Further, the exercise imparts knowledge on writing and documenting functions as well as flags.

Additional information can be accessed directly at the following link: https://www.mql5.com/fr/users/william210.

For those with innovative ideas for development, they can be suggested at https://www.mql5.com/en/forum/453288.

Links to beneficial free indicator codes for beginners in Mql5 development have also been provided. These include those for Rsi, MACDr, Momentum, the Moving average, Bands Bollinger, Ichimoku, Adx, and Stochastic functions.

The primary aim is...

Read more...
❀3πŸ”₯1
Sifting through and optimizing the Go-Explore algorithm for agent training yields promising results for tackling substantial training periods. In this exploration, the effectiveness of the Go-Explore algorithm in data modeling is considered over a four-month stretch of training data.

Initially, the model is scrutinized for shortcomings. Fixed constant values are adjusted to suit large-scale training periods, and data sorted is excluded due to inefficiency. The collective actions are then constrained on volume to avoid accumulation of negative or positive constructs.

Several additional tools were adopted to further improve and regulate the model’s performance. For risk control, a maximum limit is implemented on the duration an open position can be held. This regulation protects against outsized losses. To improve the quality of forecasting, the training set is divided into smaller s...

Read more...
πŸ‘2
In response to the classic MQL4 indicator, a new version with superior features has been developed in MQL5. This variant allows for added customizability and increased precision by offering an adjustable fractals period. This feature is reassuring as the built-in fractal indicator resorts to using period 5.

Additionally, specification of prices for high and low can be chosen to allow for enhanced convenience in extreme market conditions. The use of such feature can demonstrate its worth in instances such as a turbulent whipsaw market scenario.

From a mathematical perspective, the method employed for fractal calculations is significant as it doesn't restrict fractal up and fractal down at the same bar. This approach is deemed right and can eliminate any bias that doesn't have a mathematical basis. Limiting such calculations to just one fractal per bar might introduce a bias unwarra...

Read more...
😴3πŸ‘1
A new guide on creating a local LLM (Large Language Model) running environment using Windows+WSL is now available. The guide covers the whole process, from setting up WSL2, a version upgrade from Microsoft's Windows Subsystem for Linux (WSL), to training AI with Linux tools in a Windows environment.

The article hints at the efficiency of WSL2 - it uses a real Linux kernel, is faster, and does away with the need for dual system setups or Windows+VirtualMachines. Usage of Linux tools in the Windows environment, is also made more convenient.

The guide covers WSL2 installation, detailing requirements and common WSL commands for the software configuration. It provides steps to migrate the subsystem to different disks or partitions if needed, and outlines how to setup configuration files.

For those with NVIDIA's graphics card, the guide takes you through installing NVIDIA CUDA accelerat...

Read more...
πŸ‘2
The application of hierarchical reinforcement learning in trading proposes a hierarchical model capable of optimal decision making across variable market conditions. The suggested model utilizes global-level and local-level reinforcement learning which broadens the decision-making architecture and effective knowledge utilization. The advantages of hierarchical models in trading spans from adaptability, efficiency, resource allocation, and stability to interpretability of results.

Adapting a hierarchical model allows for comprehensive market condition analysis, taking into consideration macroeconomic factors like political events or economic indicators. A lower level analysis takes into note factors such as technical analysis and other asset-specific information to generate informed decisions and adapt to varying market situations.

Hierarchical models can efficiently use all availab...

Read more...
πŸ‘2
The recently implemented Hull MA now features four customizable input parameters: InpHmaPeriod of 20, InpColorKind (single_color), InpColorIndex (color_index_3), and InpMaxHistoryBars of 240, all designed function in a self-explanatory manner.

Central to the user experience is the ENUM_COLOR_KIND, a pivotal enumeration allowing a switch between single and multi-color modes – defaulting to single color. The multi-color mode brings diversity to the Hull MA’s aesthetics with divergent colors for rising and falling values.

Conversely, in single color mode, the Hull MA's hue is determined by the ENUM_COLOR_INDEX, while in multi-color mode, the default color is grey, changing to green for upslopes and red during downslopes.

The sample images below show these color changes in effect. The carefully crafted code is available for users' access to enable more flexibility in operational use....

Read more...
❀3πŸ‘1
Investigating the issue of model procrastination in reinforcement learning, often a challenge when the learning process stagnates, this article scrutinizes numerous causes and methods to address them. Insufficient training environments, task complexity, and lack of motivation or feedback can all contribute to the issue.

One crucial solution lies in diversifying training data and resources. Simplification of tasks, algorithm optimization, and efficient utilization of resources also prove decisive in remedying the situation. Additionally, setting clear goals, bolstering the reward function, and implementing consistent evaluations of the model’s progress will encourage active participation.

If a model stagnates from lack of updates, establishing regular update cycles based on new data improves the learning progress. Furthermore, creating a stimulating environment with varied tasks enco...

Read more...
πŸ‘Ύ4πŸ‘2πŸ”₯1
Analyzing performance metrics of Expert Advisors (EA) remains a primary concern for developers, especially regarding the propensity of certain tools like MetaTrader 5's Strategy Tester to produce potentially misleading results. The crux of the issue: apparent "trick" EAs can appear to give extraordinarily successful projections which fail to materialize in practice. This phenomenon appears to be due in part to permutation testing, a tool that suggests a more robust view of a strategy's potential outcome.

This approach involves the permutation of price bars, a strategy that strives to maintain the original price series' general trend while ensuring the open or close of a bar stays within the boundaries of the high or low respectively. The spread of price changes must also endure from the open to the close, with bar-to-bar price changes moving in the same distribution as well.

For th...

Read more...
πŸ‘2
Understanding the dynamics of trading can be challenging. High on the list of advanced techniques is analysis through Wick Ratio Candlesticks. This innovative approach differs from conventional models due to focusing on the upper and lower wick ratio, rather than the typical open and close properties.

When an equivalence is found between the upper and lower wick, a 'snow candle' characteristically appears. Alternatively, a plot of a 'bear candle’ manifests if the upper wick surpasses the lower wick, and when the upper wick falls beneath the lower wick, a 'bull candle' is illustrated.

The visual representation also offers customizable aesthetics via indicator settings, allowing for a more tailored approach. Deviation from traditional models offers traders a fresh perspective and additional tools in their arsenal, making this technique an interesting consideration for integration into...

Read more...
πŸ‘3πŸ‘Ύ3
Discussions around reinforcement learning have largely revolved around the challenge of defining a reward function to guide an agent's behavior. The problem intensifies when multiple goals or ambiguous situations are involved. There may also be tasks where an explicit reward function seems elusive, limiting the application scope of conventional reinforcement learning methods.

One solution to these hurdles is the "Diversity is All You Need" method. This approach encourages a model to learn a skill without relying on an explicit reward function. By focusing on diversity of actions, maximizing interaction variability with the environment, an agent can be effectively trained. This makes models more flexible and adaptable, helping them deploy different strategies depending on task requirements.

The principle takes another bold step by asserting that an agent's current state depends not o...

Read more...
πŸ‘2πŸ‘Ύ1
The interplay of adaptive HMA and its smoothed line offers an efficient trend indicator for developers. This approach proves valuable when anticipating the early emergence of a trend, particularly if paired with a flat indicator. Despite its efficiency, never forget the importance of conducting thorough analysis and cross-validation to ensure accurate results. Optimizing performance is crucial in programming, as it bolsters the underlying algorithms and assures a balanced integration of code and analytics. Always make sure to use the right tools and techniques to derive the most precise estimations for predictive modeling and machine learning.

Read more...
πŸ‘Ύ2πŸ‘1
Proposing a fresh approach to forecasting problems in complex stochastic environments, a method named Dynamics-Aware Discovery of Skills (DADS) was established in 2020. The most challenging aspect of these problems is creating a model that performs acceptably outside of a training set. However, DADS helps overcome this by subdividing tasks, improving the overall model performance.

In previous models, the Divided Into Additive sub-Yielding (DIAYN) method was employed, rewarding unpredictable behavior to encourage the training of diverse skills. Nevertheless, a balance between predictability and skill variety was missing.

The DADS method caters to this gap. It endeavors to train skills that are diverse, yet predictable. The method uses unsupervised reinforcement learning systems, prioritizing the explicit goal of facilitating model-based control.

A unique feature of DADS is learning...

Read more...
πŸ‘2πŸ™2❀1
In extending the CCI indicator's functionality, the use of an executable iCCI function call has now been included. This additional feature now provides a shift parameter to control the displacement in terms of user-defined bars.

This newly included code serves both a practical and pedagogic purpose, demonstrating how to incorporate a shift function into any buffer index-based indicator. By employing [i + shift], the index is effectively shifted forward within the buffer, enabling the user to access values ahead of the current bar i.

To put it in a visual context, this action essentially shifts the plot from right to left. The accompanying script "Test_CustomCCI" exemplifies how iCustom can be employed in conjunction with this updated indicator.

To optimally use these additional functions, it's recommended to compile both files in the Indicators/Examples folder, initiating with CC...

Read more...
πŸ‘1