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
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
Market Replay System Update:

The latest iteration of the market replay system introduces several improvements and changes to ensure functionality and stability. A critical concern had been the inability to seamlessly insert data into existing bar files for different trading timelines. This created unnecessary complexities and database management challenges.

The updated solution has new directives ensuring that necessary controls are compiled with the replay service to avoid unaccounted anomalies. Changes also include better system testing to confirm file suitability for replays and necessary fail-safes for user cancellations or unexpected interruptions.

Additionally, traders who prefer to operate in specific timeframes or full-screen modes will find the updated replay system particularly useful. It allows for customized settings for better convenience and usability. The replay serv...

Read more...
πŸ‘3
Introducing a streamlined approach to CSV file reading, with no prerequisites or type casting declarations required. The implementation of this simple class enables one to carry out CSV file reading tasks efficiently. Here is a concise illustration of its application. This approach significantly cuts down on coding time, while promoting code readability and maintainability. Utilize this simple class to achieve faster development cycles and increase productivity. Top developers assure its practicality.

Keep in mind that reducing unnecessary code helps prevent potential bugs and errors. This is not just a tool, but a practical step towards more robust and cleaner codes. The use of this class should be considered by anyone seeking seamless file reading operations. Enhancements in speed and efficiency are noteworthy. Adopt this minimalistic coding approach today for an improved coding e...

Read more...
πŸ‘1
The discussion at hand concerns attempts to optimize certain aspects of a relational model previously devised for the purpose of creating an Expert Advisor. Noted drawbacks included the low learning rate resultant of complex architecture as well as an undesirably high memory footprint due to an increase in memory consumption throughout the model's training time. One proposed solution to these challenges is the application of Sparse Attention, a technique which seeks to rein in computational complexity throughout the stages of an algorithm.

Potential pitfalls of this method include the risk of oversight or underestimation concerning essential sequence elements, which may result in vital information being lost. Attempts to optimize specific instances of a sequence can also prove problematic in cases where instances are mistakenly identified as insignificant and disregarded. This metho...

Read more...
❀1πŸ‘1
Gaining an edge in chart analysis is the key to more successful strategy execution. Many seasoned developers recommend utilizing intuitive indicators for better results - one such indicator illustrates the ratio of movement sizes within a bar to the current bar size.

The application of this method can provide an efficient validation of signals. Through consistent usage and observation, there's a potential for developers to extrapolate advantageous insights from their data.

To better understand and implement this method, consider examining specific instances where such an indicator has been employed successfully. Critical exploration of these examples can bolster understanding and encourage innovative use of this valuable tool, instigating a deeper appreciation for its efficiency.

Overall, consider integrating this indicator into routine operations whenever applicable. It could a...

Read more...
πŸ‘4
View the latest detailed introduction to the world of programming wizard MQL5. This particular piece focuses on the concept of dendrograms, a crucial part of Agglomerative Hierarchical Classification (AHC). AHC is a method employed to assimilate different aspects of a dataset, grouping them systematically until the dataset can be viewed as a uniform entity. One of its chief outputs is a dendrogram. The discussion here zeroes in on how these clusters of data can be effectively used in predicting and forecasting price bar range apart from managing monetary aspects.

Absorbing price range forecasts depends largely on the trader’s overall strategy and approach. For instance, it might not take center stage when minimal leverage is used, or when trade positions are held over longer durations. Nevertheless, price bar range becomes integral for intra-day traders or individuals whose exposure...

Read more...
πŸ‘1
Unraveling the mystery of Goal-conditioned Reinforcement Learning (GCRL) in the context of maximizing total rewards. Examining the advantages of training an agent to select strategies and achieve distinct subtasks within certain scenarios uniquely. GCRL enables agents to reach different goals based on the current state of the environment. It's a nuanced extension of typical skill training methods but uses distinct approaches for agent training.

GCRL introduces specific subtasks and related rewards. Rewards for achieving a subtask need a balanced approach; they shouldn’t outweigh possible operational profits or losses but should reflect the task at hand. The informative vector describing the task for GCRL needs to clearly indicate the subtask for the agent to achieve at a certain point in time.

The advantages and downsides of both the skill training and GCRL approaches can be seen, l...

Read more...
πŸ‘1πŸ‘€1
Sharing an update in the world of coding. Upon reevaluation and constructive inputs, the code to incorporate the Keltner channel into graphs is now available.

This code has been streamlined for newcomers, maintaining a focus on simplicity paired with robust development principles. Its straightforward structure is accompanied by helpful comments crafted for easy comprehension.

Furthermore, a slew of other resources are available on the Mql5 iFunctions platform, courtesy of William210. These include beginner-friendly codes for indicators such as ADX, Alligator, AMA - Adaptive Moving Average, ATR - Average True Range, Bollinger Bands, Ichimoku, MACDr, Momentum, Moving average, Rsi, and Stochastic.

For those keen to expand their understanding, a couple of more advanced codes are available too. These demonstrate computations of the indicators without resorting to the Mql5 iFunction. T...

Read more...
πŸ‘1
Enhancing the performance of a trading strategy requires incorporating a robust money management algorithm. Previous models have limited the Agent's actions to simply determine trading direction- i.e., buying, selling, holding/waiting, closing all positions. However, these models didn't take into account capital and risk management functions.

A more effective solution is to implement algorithms for Agent training in a continuous action space. The Deep Deterministic Policy Gradient (DDPG) algorithm predicts the optimal action based on the current state (Actor) and evaluates this action (Critic). This provides a more flexible and accurate management of transaction parameters.

The Actor predicts the optimal action, while the Critic evaluates the action’s worth. Actor training in DDPG occurs by calculating the gradient of the Critic value function concerning the Actor's actions, and ...

Read more...
πŸ‘2
Understanding MQTT 5.0 Properties can be a challenge. These dynamic attributes, part of the 'extensibility mechanisms', can change within the framework of the MQTT Application Message. The proper management of these properties is crucial for performance and conformance with the OASIS Standard. This includes everything from Connection Properties like Maximum QoS and Session Expiry Interval to Publishing Properties such as Topic Alias and Correlation Data. Library developers and end-users alike may find these insights helpful. In this editorial, the concepts have been thoroughly elaborated from a user’s standpoint as well as a library developer's perspective. The OASIS Standard's terminology has been clarified, particularly in the distinction between the Application Message Properties and 'user message' properties. The role of properties in configuring interactions between Client and Se...

Read more...
πŸ‘1
The Donchian Canal has been revisited with simplicity as the main focus. It's significant to understand that the simplicity of code relates directly to resource consumption; more complexity leads to more resource usage. This pared down version of the Donchian Canal should benefit all traders who want to have this indicator on their charts.

Similarly, developers seeking a straightforward code to customize according to their needs might find this useful. Please consider lending support by improving the search engine optimization for this code. If there are practices that could add value, feel free to add such suggestions in this thread.

Several other codes have also been developed on the Mql5 iFunctions for beginners. They include ADX, Alligator, Adaptive Moving Average (AMA), Average True Range (ATR), Bollinger Bands, Ichimoku, MACDr, Momentum, Moving Average, Rsi, and Stochastic.

Read more...
πŸ‘13
The article discusses the Deep Deterministic Policy Gradient (DDPG) designed for training models in a continuous action space, emphasizing on its ability to predict future price shifts while performing capital and risk management duties. Addressing the common problem of overvaluing the Q-function, the article highlights the role that the quality of the Critic's training plays in guiding Agent behaviour and decision-making.

The article then outlines approaches to reducing overvaluation, focusing on the Twin Delayed Deep Deterministic policy gradient (TD3) algorithm - an advancement on the DDPG that enhances model training. With the help of practical examples, the authors demonstrate how the introduction of a second Critic and soft updating of target models leads to a robust learning process with less variance.

The article concludes by focusing on how the TD3 algorithm is applied usin...

Read more...
❀2πŸ‘2
SwingBot Expert Advisor (EA) uses a unique approach for managing take profits of open positions. Instead of the traditional method of closing orders based on pips from the purchase price, this EA primarily focuses on the current profit. Such an approach can provide more control over trades, avoiding potential issues with broker's slippage that may limit profits.

Assessing the total number of active orders with the same magic number initiates this process. The magic number acts as an identifier attached to an order by an EA or a trader. The code initializes a variable - total_orders to zero, and then enumerates all open orders, incrementing the total_orders variable in case of a successful selection.

Following the total orders' calculation, the code initializes three variables: ProfittoMinimo, Profit, and StopLoss. ProfittoMinimo activates the take profit level (expressed in the ac...

Read more...
πŸ‘4
Continuing the exploration into algorithms for problem-solving using reinforcement learning in a continuous action space, this piece shines the spotlight on Soft Actor-Critic (SAC). Presented almost simultaneously with TD3, SAC shares similarities with TD3 but also has notable differences, like its main goal to maximize the expected reward given the maximum entropy of the policy.

Behold, the SAC algorithm: both off-policy algorithms, SAC and TD3, exploit DDPG methods and they both use 2 Critics. However, unlike the other two methods, SAC employs a stochastic Actor policy, which enables the algorithm to explore various strategies and find optimal solutions, bearing in mind the maximum variety of actor actions.

When it comes to the stochasticity of the environment, it is understood that in S state when performing the A action, an R reward within [ R min, R max] is obtained with a Psa ...

Read more...
πŸ‘1
In the realm of programming and technical analysis, the entry and exit rules lay the foundation for any successful trading strategy. On the one hand, long positions are entered based on the parameters of the Golden Cross strategy - three distinct conditions must be satisfied. Firstly, the value of the previous moving average should surpass the shorter-term moving average. Secondly, the value of the moving average two periods back ought to be lower than that of the shorter-term moving average. Lastly, the value of the moving average two periods prior must be lower than the previous short-term moving average. When these conditions align, it signals a Golden Cross and a long position is initiated.

On the other end of the spectrum are short positions, initiated based on the Dead Cross model. This scenario unfolds when the value of the previous moving average falls below the shorter-term...

Read more...
πŸ‘1
Elastic net regression, a blend of ridge and lasso techniques, provides a potent solution to overfitting in linear models. This approach proves particularly pertinent in trading strategy development, where noise is often mistaken for patterns during training.

The process of Elastic net regression leverages the coordinate descent method of optimization, enabling a more efficient process. This method aligns with both lasso, which helps reduce training bias by repressing redundant predictors, and ridge regression, which minimizes coefficients to generalize the model. Two hyperparameters, alpha and lambda, govern the penalty term nature in the elastic net regression.

Alpha controls the type of regularization, whereby an alpha of zero reduces the penalty term to the l2-norm, and an alpha of 1 creates an l1-norm penalty function. A specified alpha between these two values allows for the...

Read more...
πŸ‘2