SMITH Overview
SMITH is FORJ's visual strategy editor — the workspace where you design, configure, and build your trading strategies. In SMITH, you lay out your strategy's logic on a canvas by creating states, defining conditions, connecting transitions, and configuring actions.
The Editor Layout
When you open SMITH, you see three main areas:
Canvas
The center of the editor is an interactive graph canvas powered by a node-based flow engine. Each state is rendered as a node with its outgoing transitions listed inside it, and transitions are drawn as directed edges connecting state nodes. You can zoom, pan, and drag state nodes freely — positioning is purely visual and doesn't affect behavior. When you add transitions, the canvas automatically draws edge connections between states so you can see the flow at a glance.
Header Bar
The top bar gives you quick access to:
- Strategy name — shows the current strategy (or "(New)" for unsaved work)
- Undo / Redo — step backward or forward through your edits (keyboard shortcuts: Ctrl+Z / Ctrl+Shift+Z, or Cmd equivalents on Mac). SMITH takes automatic snapshots as you work, keeping up to 50 history states.
- Orphan references — alerts you when conditions, actions, or variables reference something that no longer exists
- Enable / Disable toggle — turn event processing on or off for a saved strategy
- Edit name — rename the strategy
- Strategy Toolbar (gear icon) — opens the full set of configuration tools
- Save — saves the strategy when the checklist is satisfied
Creation Checklist
A collapsible panel at the bottom tracks whether your strategy meets the minimum requirements to save:
| Requirement | What It Means |
|---|---|
| Valid strategy name | The name passes validation (non-empty, unique in your workspace) |
| Context configured | Symbol, direction, candle length, SL pips, TP pips, and pip size are all set |
| At least two states | You need a minimum of two states |
| Initial state set | One state must be marked as the starting point |
| All states have transitions | Every state needs at least one outgoing transition |
Once all items are satisfied, the Save button activates.
Strategy Toolbar
Click the gear icon in the header to open the Strategy Toolbar — a quick-action menu for all major configuration tasks:
| Action | What It Does |
|---|---|
| Configure Context | Set symbol, direction, candle length, risk parameters, custom variables, and indicator subscriptions |
| Add New State | Create a new state on the canvas |
| Data Subscriptions | Subscribe the strategy to data streams so it receives market events |
| Configure Alerts | Define alert triggers for this strategy |
| Manage Conditions | View, create, edit, and delete all conditions |
| Manage Actions | View, create, edit, and delete all actions |
| Manage Transitions | View, create, edit, and delete all transitions with sorting and grouping |
| Add Global Event Handler | Create a transition that can fire from any state |
| Clear Strategy | Erase all form data and start fresh |
State Cards
Each state on the canvas is a card with:
- Header — the state name, plus buttons to edit, configure, expand/collapse, or delete
- Initial state toggle — marks this state as the strategy's starting point
- Add Transition button — create a new outgoing transition from this state
- Transition list — shows all outgoing transitions with their trigger type, target state, and condition/action counts
What's Next
- Tutorial: Create your first strategy — step-by-step walkthrough
- Conditions — learn how conditions control when transitions fire
- Editing a saved strategy — load and modify existing strategies