MQL5 Algo Trading
391K subscribers
2.58K 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
A comprehensive guide to incorporating sound alerts into technical systems is now available. The process involves utilising wav files and storing them in the MQL5\Files\Sounds folder. Specific code has been provided along with a comprehensive explanation.

Further, the ready-to-use EA Utility file has been made available to ease the integration process. However, it's essential to note that some lines in the code are commented out due to limitations posed by the use of which restricts file uploads.

This technique represents a simple but effective way of improving system interaction to notify users of connection status changes. Incorporating sound alerts not only improves user experience but also contributes to efficient system operations. Implementing these presented steps can assist developers in introducing more responsive and interactive systems.

However, additional tweaks in the...

Read more...
πŸ”₯3❀2
Understanding the foundational aspects of scripting is crucial for seasoned developers. Here's an insight into the Pine Script V4 function with application in calculating Pivotshigh and Pivotslow based on Pine Script. These functions are straightforward, enabling seamless copy-paste for conversion projects from the TradingView platform. An important point to highlight is the lagging nature of the pivots indicators as implemented in the TradingView platform. Knowledge sharing is key to innovation in our field, ensuring we constantly improve and advance.

Read more...
πŸ‘10
The article sheds light on the enhancement of the CArima class, which is used for implementing ARIMA models, making it more accessible for forecasting. Delving into the intricate aspects of ARIMA models such as the importance of input data, how error series values impact predictions, and the influence of non-contiguous lags, the paper stresses the need for keen observation and precise calculations.

Further, it incorporates the complexities that arise due to differencing and the challenges faced when predicting far into the future. It introduces the feature of saving and loading the ARIMA models in Mql5 program for later usage. The added BIC and AIC methods allow for model selection by balancing goodness of fit and complexity, preventing overfitting.

The paper concludes with the implementation of predictions and suggests best practices for building effective autoregressive models i...

Read more...
πŸ‘3πŸ‘1
In an industry dominated by technological advancements, innovation becomes a necessity. Understanding this, the latest Expert Advisor software update now offers a symbiotic chart synchronization feature. This unique advantage enables every chart symbol to adapt to the symbol of the chart to which the EA is currently linked, providing unparalleled synchronization and unified workflow for users.

Erasing the hindrance of having to manually adjust each symbol according to the chart, the EA upgrade provides a more streamlined and efficient process. By eliminating scattered data and conflicting information, it eliminates confusion, promoting focus and increased efficiency.

Mastering complex charting mechanisms with this intuitive function offers an enhanced data management experience. This update not only fosters productivity but also bolsters the overall potential of the shared workspace...

Read more...
πŸ‘2πŸ‘1
The updated MT5 custom indicator, "wd.Multi_ClockPrice lite!" serves to supply a visual display of MT5 terminal server time and bid price on charts. Designed for continuous synchronization with PC time, it maintains accurate updates even during periods of MT5 going offline. The OnTimer() event function enables steady clock display, which is unaffected by tick prices.

A key feature of this indicator includes 'server clock & bid price' labels placement in user-specified Sub-Window. Users can place them on the main chart or sub-window and adjust label distances as required. For placements on main chart, '0' should be input in 'Sub-Window placement' properties. For placements in a Sub-Window input '1, 2, 3', etc. The attachment of the indicator β€œwd.Multi_SubWindow” is necessary for this function.

Synchronization between MT5 terminal and server time display might necessitate occasional a...

Read more...
πŸ‘4❀2
Dive into the realm of MetaTrader with a focus on its compatibility with Python and R for constructing comprehensive algorithmic trading advisors. Using creative programming solutions, the limitations of individual packages can be overcome and even exploited for better monitoring and forecasting in your trades. Participation in this discussion assumes proficient knowledge of the R language and basic understanding of MQL5 programming. Be sure not to miss out on this wealth of information, perfect for honing your trading strategies. This walkthrough promises to meet advanced requirements with a seasoned approach followed by professionals in the field.

Read more...
πŸ‘3πŸ‘Œ2❀1
A deeper look into the dimensions of Neural Networks: An in-depth exploration of Restrictive Boltzmann Machines (RBMs). As simple as their structure may be, these networks are acclaimed for revealing hidden attributes and aspects in datasets.

RMBs use a two-layered approach comprising, typically, of a visible layer and a hidden layer, where every neuron in the visible layer connects to each neuron in the hidden layer – a method known as the positive phase.

Moreover, implementing the negative phase, RBMs strive to restore the input data to its initial state. An additional phase follows each cycle, adjusting the weights to bring the reconstructed output closer to the input data. The ultimate goal is to reach neuron weights that, when applied to input data, reveal intuitive neuron values in the hidden layer, also referred to as the probability distribution of the input data.

This e...

Read more...
πŸ‘3πŸ”₯1
A review of oscillator indicators and their applications is being extended, providing a comprehensive guide on technical variables like input parameters, initialization, and deinitialization. Attention is placed on the oscillator category, examining variables, indicator handle creation, and data extraction.

The intricacies of these indicators are explained, including line state characterization (upward/downward direction & reversal, stop, undefined state) and its relative level. Concepts are paired with procedure, ensuring an understanding of their functions and ways to incorporate them in Expert Advisors (EAs).

The enumeration of line state provides a simple and effective tool to assess figure-shape patterns. The article then delves into the Average True Range indicator, a versatile tool featuring in many trading systems. The indicator's customization, initialization, and deinitial...

Read more...
πŸ‘6πŸ‘Œ1
The core logic for initiating a trade is executed through a specific function. It calculates the opening price alongside take-profit and stop-loss levels by referring to symbol information and parameters given by the user. Primary details such as symbol, volume, deviation, order type, magic number, etc., are prepared in a trade request, more formally known as MqlTradeRequest.

A function called OrderSend is invoked to send this request and then obtain the result.

Another critical function to consider is the SetTypeFillingBySymbol function. This function is responsible for identifying the order fill type. It can be Fill or Kill, Immediate or Cancel, or Return, and the selection depends upon the policy of the symbol's filling.

The GetMinTradeLevel function has its significance as it calculates the minimum trading level. It keeps in mind the freeze level and symbol stops level in th...

Read more...
πŸ‘4πŸ‘Œ1
Upon execution, the system proceeds to produce an informative report concerning the trades active during the specific input time. This comprehensive data comes in valuable for monitoring trade progress and understanding market patterns more precisely. Tracking open trades at given times allows for a more efficient assessment of trade performances, providing strategic insights for real-time and future course of action.

Read more...
πŸ”₯2
Uncover new potential in technical market tracking with the sophisticated SSH Multi-TF tool. This tool, based on the underlying SSH indicator, utilises moving average high and low prices to create two intersecting lines. The point of intersection between these lines is utilised as a buy or sell signal.

Not only does it offer the convenience of illustrating higher Time-Frames (TFs) within a lower one but it also prepares higher TF of this indicator in lower TFs, enhancing your market oversight capabilities. Furthermore, it provides the ease of selecting a higher TF from an embedded panel without the need to access the indicator input.

It's worth noting, when changing time frames, an automatic adjustment occurs in the sequence of time-frame buttons, eliminating any need for lower time frame button selections.

Additionally, the code furnishes a panel, readily adaptable for any indica...

Read more...
❀3πŸ‘1
The realm of machine learning is often steeped in trade-offs that may compromise one performance metric over another. As more complex models continue to evolve, understanding and debugging them proves to be a formidable task. This article seeks to clarify important elements such as crucial features, single feature impact, and collective feature influence, which can guide supervised model behaviour and reduce potential malfunction risks.

Debugging bears great significance, enabling developers to carefully track elements that may disrupt the harmony of real-world models. Furthermore, an understanding of feature engineering can heighten forecasting accuracy, leading the way through challenging terrains and facilitating the effectiveness of newly introduced features. An affinity with historical data can drive future data collection efforts, offering new data types to improve model behav...

Read more...
πŸ‘3❀1πŸ‘1
Progressing in our journey of creating a Modified Grid-Hedge EA, the focus turns to the classic grid strategy. Lay aside the optimization of the classic hedge strategy for a moment and concentrate on automating the grid strategy using an Expert Advisor (EA).

This strategy commences with a buy position at a specific price and then scans for price increments or drops. Profit turns real when the take-profit level is hit. However, when the price lessens, the classic grid strategy provides a cover to ensure profits.

The price's decrease of a set quantity prompts another buy order, located at the initial price minus the set amount. Here, the lot size gets inflated, applying a lot size multiplier. These actions spark off two possibilities: an upward price movement that generates gains or a downward slide that calls for repetition of the process.

The golden moment arrives when the net pro...

Read more...
❀3
Insightful findings on expert initialization functions can significantly aid in the development process. The first step focuses on providing the input parameter, which is essential in framing a model or algorithm. The second step focuses on the crucial role of local variables initialization. This involves setting the initial value for a variable, critical for any program to function correctly.

Main code development, an elemental stage comprising the initialization of expert function and tick function, further enhances the process. Precise calculation of signal to send orders underpins successful transaction execution. The importance of calculating the volume cannot be overstressed, as it reflects the total number of shares or contracts traded within a specified timeframe adding a dynamic perspective to the analysis.

Another remarkable feature is the 'trailing Stop' function. The S...

Read more...
πŸ‘Œ5
Deep learning, a subfield of machine learning, is centered on artificial neural networks and has the power to learn complex patterns without explicit programming. Deep Neural Networks (DNNs) utilize activation functions to enable more complex relationships. Python, known for its simplicity and efficiency, is frequently chosen for deep learning due to its extensive libraries like TensorFlow and PyTorch.

Python proves to be highly beneficial when combined with the MQL5 package for executing trading orders. The process first involves creating a Python script via TensorFlow or PyTorch for a designated trading strategy. Communication between the Python script and the MetaTrader 5 platform is established subsequently, with the end goal of executing trading orders.

An open-source format, ONNX, or Open Neural Network Exchange, contributes significantly to the interoperability of AI models ...

Read more...
πŸ‘3πŸ‘1
After scrutinizing socket (websocket) communication between EA and python server for resolving backtesting issues, this post will steer the course towards implementing onnx with MQL5 for model inference. It's vital to acknowledge that while onnx offers cross-platform capabilities, not all models might support it due to operator limitations.

To overcome this, diving into the socket technique can provide ample benefits, albeit demanding time and intensive work. The usage of onnx within MQL5 primarily pertains to conducting basic operations on ONNX models, encompassing the alignment of input and output of torch models and ONNX models, and conversion of preferred data formats for ONNX models. Additionally, it covers the intricacies of EA order management.

The model conversion process involves reading the model and configuration files relevant to our script directory structure. Post-tr...

Read more...
πŸ‘3πŸ‘1
In the realm of automated trading, reinforcement learning algorithms play a pivotal role by enabling sequential decision-making. However, the exploration process these algorithms follow often produces Agents only capable of local changes. A way to increase expressiveness of an Agent's policy is the implementation of latent variables. These make it possible to model more diverse scenarios aligning with historical observations, but present challenges due to the difficulty in calculating their entropy.

A solution to this challenge is found in the approach of the "Latent State Marginalization as a Low-cost Approach for Improving Exploration" article. Its authors propose a simple and efficient policy optimization algorithm able to provide effective and robust exploration in both fully observable and partially observable environments. This algorithm, named Stochastic Marginal Actor-Critic ...

Read more...
πŸ‘1
The concept of 'Bounce Number' takes high significance for IT professionals and developers when establishing strategies like Grid and Martingale. The idea behind it is to statistically analyze the historical data of a symbol from the Market during range zones - the number of times a price rebounded between two price points of a Range Zone.

Take 'Image No.1' - it's a visualization of how price movement generates the statistics of the Bounce Number Tool. For improved performance, the tool was created as an Expert Advisor (EA), incorporating the 'Sleep' function to prevent crash on the chart from excessive number of candle sets on the tool's input.

'Image No.2' shares a succinct graphical interpretation of the tools, describing their purposes. Considering a 'Bouncing Channel Half Height' set to '600 points', one will visualize:
- Bounce numbers between 1 and 6.
- What 'bounce number 2...

Read more...
😐4
Embrace the vast pool of trading and technical analysis tools for precise observations. Optimizing and testing tools results in a combination that benefits trading. The focus here is on automated trading systems. Find valuable insights that assist in identifying which system suits individual preferences. Engage in repeated testing to reach desirable results and make profitable trading decisions.

Learn about Aroon technical indicator; test strategies based on its concepts and results. Understand the calculation and usage of the Aroon indicator. There will also be discussions on ways to code these systems, highlighting time effectiveness of automating the testing process.

Topics:

- Aroon Indicator Definition
- Aroon Strategies
- Aroon Trading Systems
- Testing Aroon Trading Systems

At the end of this discourse, gain comprehensive knowledge about the Aroon indicator, its use, t...

Read more...
πŸ‘4❀2
Understanding the scope of class functions and data storage in programming remains fundamental in mastering coding techniques. The introduction of class CCheck, devoid of additional variables, solidifies this concept. Notably, the utilization of program variables encompasses data storage in a precise and accurate manner. It's important to comprehend the modulation of historical bar variables for storing data statically.

The usage of advanced functions, specifically to obtain the latest bar time, is recommended due to its efficacious running speed. Awareness of its response process: in the event of a false return, an exit does not occur, prompting the need to verify for any error codes.

Initial values play a crucial part, especially when used for the first time. The historical data's storage location will be populated with these values, facilitating subsequent comparisons. This proce...

Read more...
❀2πŸ‘2