Discussion of article "Continuous Walk-Forward Optimization (Part 6): Auto Optimizer's logical part and structure"

 

New article Continuous Walk-Forward Optimization (Part 6): Auto Optimizer's logical part and structure has been published:

We have previously considered the creation of automatic walk-forward optimization. This time, we will proceed to the internal structure of the auto optimizer tool. The article will be useful for all those who wish to further work with the created project and to modify it, as well as for those who wish to understand the program logic. The current article contains UML diagrams which present the internal structure of the project and the relationships between objects. It also describes the process of optimization start, but it does not contain the description of the optimizer implementation process.

Further, let us consider the relationships between the objects and the process of their creation during application launch. Prior to this, we need to consider the graphic layer and its components:

  • AutoOptimiser (main window),
  • AutoOptimiserVM (view model),
  • IMainModel (model interface),
  • MainModel (Model),
  • MainModelCreator (static factory creating the data model).


These are the first five objects shown in the diagram. The AutoOptimiser class is instantiated first during application launch. This class creates a graphical interface. The XAML markup of the graphical interface contains a reference to the AutoOptimiserVM object which acts as ViewModel. Therefore, during the creation of the graphical layer, the AutoOptimiserVM class is also created, while the graphical layer owns it completely. This object exists until it is destroyed after destroying the graphical interface. It is connected with the AutoOptimiser class (our window) via "Composition", which implies the full ownership and control of the object.  

Author: Andrey Azatskiy