With the SessionGet & -Set blocks we can transfer values from point A to point B without drawing a line. This can help to separate parts of the script and reduce long, overlapping lines. They also function as a way to control the flow. When a part of the script needs to be executed before the next can start this commands can be used.
The IfElse takes a statement and 2 values. It will return the value1 when the statement is true and value2 when the statement is false.
The IfElseIf block works the same as the IfElse but takes 2 statements and 3 values.
The branch blocks create 2 execution paths based on a input statement.
When creating an indicator which returns a signal value the BoolToSignal can be a use full command at the end of the script. It takes 4 optional boolean values. isLong, isShort, isExit, isNone. The command will check each value in that order and the first one that is set on true will be returns as a signal, SignalLong, SignalShort, SignalExit, SignalNone. The example below will return SignalLong, SignalShort or when they are both false, SignalNone.
SignalToBool will convert a signal input to 4 boolean values which can be used to trigger separate execution paths leading to different actions.
The Merge block can be used in combination with for example the Branch or Compare block. The block merges values from different execution paths and return the first set result.