Discussion of article "Developing multi-module Expert Advisors" - page 2

 
Aleksandr Masterskikh:

The multimodularity of the trading system is determined primarily by the nature of the process (for financial markets, price movement is a non-stationary process).

And modelling of such a complex process (as EA development is always a process modelling) is impossible with the help of a single, even very complex input algorithm. To get close to the process in terms of accuracy, you need a set of algorithms (modules), each of which is an independent model.

Why should I have to model something to buy/sell something? And what does this have to do with technological aspects? Why are we talking about stationarity?

Boy, post the code, or TOR, or something else, and then I will pay attention to your judgements.

 
The author of the article made a fundamental mistake. He equated a set of modules with a Trading System. Explanation. Features of any system: 1. Hierarchy, the presence of main and subordinate (it is), 2. Decomposition, for example, division into modules (this is also there), 3. Interconnection (including the reverse), and this is not. It should be like this: any module has interrelation with any other module. For example, in the Solar System, the Sun is the main one, the system is divided into planets (modules) and they are all interconnected and influence each other. So the author has more work to do.
 
MetaQuotes Software Corp.:

New article Developing multi-module Expert Advisors has been published:

Author: Sergey Pavlov

This is interesting as a project generation template for specific use cases but I see many issues that would inevitably come up in using it as a generalized development pattern.

The self optimization of modules would lead to constant curve fitting over the optimization history data set, leading the EA into the trap of having a "market memory". As volatility moves up or down with respect to the training sample size, the module would lag behind and generally set stop loss or take profit too close. Statistically it would generate larger losers than winners over time. With larger sample sizes the curve fitting would be extremely specific to spurious market conditions that occurred over the sample history.

Ditching self optimization, we would be left to manually adjust the source code to explore the parameters of indicators, instead of being able to use the strategy tester to rapidly iterate through the "problem space" and do comparative analysis on the results. So basically we would spend 1000 years searching for parameters on relatively simple trading strategies.

The composition of programs always produces a "monolith" as the end product, though various means exist for composing the sub components of the resulting monolith. I mean the whole massive program just has to work regardless of how its source code is organized, because it all ends up as machine code somewhere. This solution basically sacrifices the "user interface" a.k.a. input, to solve problems with defining discreet code blocks that can be reliably maintained over time. These problems are more commonly solved through OO principles using classes and interfaces. The "top" level of the library or program is where a summary of internal dependencies are declared, things like paths to modules, inputs, etc. Creating a system where the "top" level basically forbids inputs is restricting the developer from interfacing with the tools built into metatrader that provide for strategy development and defining risk, which is pretty much like renaming the files in your module system from the end user's point of view.
 
Congratulations! Great study material,
 

I would like to express my gratitude to the author of this article. Thank you for such labours. For me as a beginner in OOP and mql5 specifics, this article helps me to master the language in general. Gentlemen who see the shortcomings of the implementation of the concept in the above article, I would like to say that there is no limit to perfection anywhere, to improve perhaps I think and your work is still where .....

This article is rather oriented for beginners in language learning...

 
MetaQuotes:

New article Developing a multi-module smart trading system has been released:

By Sergey Pavl

Hello Is there a source code?

 
MT5 hedge ea in xm broker back test normal open order hedge! But when I test with ic, it doesn't open long orders and doesn't hedge? Does anyone know why this happens?