Composite elements
When composing schemas, there are often sets of elements that form a complete functionality and can be used in different schemas or in one schema many times with different values of properties. Such sets of elements can be put into a separate composite element, which will be used further as any ordinary cube.
A composite element is a usual schema that is saved/loaded/edited as any strategy schema.
When you add a composite element to a schema, all unconnected parameters of all inner cubes are automatically added to it. Unconnected parameters at the input of cubes are added as input, unconnected parameters at the output as output. Each added parameter is named in the same way as the source element and its parameter. In addition, for this element, the properties of all elements for which the Parameters property was specified are added.
We will consider the use of composite elements in the example of the moving average intersection strategy, which illustrates the use of the Crossing composite element several times. The strategy can open a long position when the short moving average crosses the long one bottom-up, and a short position when the short moving average crosses the long one top-down. The schema of the part of the moving averages intersection strategy, where the moment of moving averages intersection is determined, is shown in the figure below:
Because moving average intersection differs only in its possible direction (short crosses from top to bottom or from bottom to top), the part of the schema that determines the moment of intersection can be taken out into a separate composite element. When you add this element to the schema, you specify the properties that define the moving average intersection algorithm. The schema of the composite element by which the intersection is determined is shown in the figure below:
The diagram of the composite element consists of simple elements and is based on memorizing the current values (Prev In 1 and Prev In 2) and comparing the pairs, current (CurrComparison) and previous (PrevComparison) values with each other. Because each of the input values is used in two elements of the diagram, the elements of Combination (In 1, In 2) are placed at the input of the composite element, and they allow one input to be divided into two elements and pass the input value to the Comparison and Prev value elements. When a new value arrives at the input, the current values are compared and a new value is passed to the Prev value element, from which the previous value for the current input is passed, then the previous values are compared. If both conditions are fulfilled, which is checked using the And Logical condition, then the value of the raised flag is passed to the output of the composite element, which can be used as a trigger for further action.
For the CurrComparison and PrevComparison cubes, the Parameters flag of the Common properties group is set. Therefore, the properties of these cubes were taken into the properties of the composite element Crossing, which will be further specified when using a composite element in the strategy schema.