Control and data connections
Use control connections to continue execution and data connections to pass compatible values.
First strategy · Step 5 of 10
An edge is the directional line between two node handles. The Flow Editor has two kinds. Before you draw a line, decide whether you want to continue an action or provide a value. A node's position on the canvas never defines execution order by itself.
Control connections
A control connection answers: what can run next if this outcome occurs? It joins a named control outcome on an executable node to another executable node's control input. In a Tactical RSI alert, the spine is Event Trigger → Condition.Match → Alert. If Condition selects No Match, the Alert on Match is not reached.
The edge does not carry the RSI number. Its meaning comes from the source outcome, such as Match, Submitted, or After Delay. A later node can run only when an activation reaches it through a valid control path. Value-only nodes such as Data Source and Indicator have no authorable control handles. In Portfolio mode, the basic control spine is Schedule Trigger → Rebalancer; universe, ranking, and weighting feed values into it.
Data connections
A data connection answers: which value should this input use? It joins a typed output to a compatible typed input. In the same RSI example, Data Source.Bars → Indicator.Bars → Condition.Left is a data dependency. Indicator calculates RSI from the bars, and Condition uses that number when its control input is reached.
Connecting Indicator.RSI to Condition.Left supplies a number; it does not start Condition. Conversely, connecting the control path without a required value can leave the graph unready. A value source is evaluated when a consumer needs it and does not require a control edge. Some inputs can use a literal instead of a data connection: for Condition with Right source = Literal, the number you type is the right-hand value and its Right data port is inactive.
The same five nodes, two networks
CONTROL Event Trigger --On Event--> Condition --Match--> Alert
DATA Data Source --Bars--> Indicator --RSI--> Condition.Left
SETTING Condition.Right source = Literal; Right literal = 60
Read the top line to predict when Alert can run; read the second and third lines to predict what Condition compares. If one-minute bars produce RSI 58, 60 and 62 on three eligible activations, strict Greater than 60 reaches Match only for 62. No data edge can replace On Event, and no control edge can supply the RSI number.
Compatibility
Start from the source handle and drag to the target handle. The editor offers compatible targets. If the target is absent or refuses the edge, check the connection kind, the data type, mode and plan, and whether the target port is active under the current parameter choices. A parameter change can make an existing data port inactive; open Data Ports and validation after changing it.
The executable graph cannot contain cycles. After rewiring, follow both the control spine and its value dependencies from their sources, then run validation. As a quick test: Indicator.RSI → Condition.Left alone can never produce an Alert; Event Trigger → Condition.Match → Alert still needs a valid left-hand value to compare.
Related documentation
- Connect nodesCreate a compatible control or data connection and verify the resulting path.
- Use Quick addAdd a compatible next node from a handle or the selected node without searching the full palette.
- Troubleshoot connections and data typesRecover when a target is unavailable, a connection is rejected, or a node has data but does not run.