Signal Syntax
Trade Wzrd parses plain-text commands into structured trading signals. The format is fully flexible - command, symbol, and parameters can appear in any order.
General Format
Parts are separated by commas. Parameters use KEY=VALUE format. The parser identifies the command and symbol automatically regardless of their position.
Flexible Ordering Examples
All of these are equivalent:
Actions
Open Commands
Bracket Management (Futures: Tradovate/NinjaTrader)
Management Commands
Parameters
Default Behaviors
- TPSLTYPE defaults to
PRICE- if you want to use pip values for SL/TP, explicitly setTPSLTYPE=PIPS(forex) orTPSLTYPE=TICKS(futures) - VOL or RISK is required for all open commands - at least one must be provided
- PRICE is required for pending orders (BUYLIMIT, SELLLIMIT, BUYSTOP, SELLSTOP)
Action Details
Open (BUY / SELL)
Requires at least one of VOL/VOLUME or RISK. If both are provided, both are used.
MODIFY
Requires at least one of SL or TP. Use TICKET to target a specific position, or MAGIC to target positions with a specific magic number.
CLOSE
Closes positions matching the symbol. Behavior depends on additional parameters:
- No extra params - full close of all positions on the symbol
TICKET=12345- close specific positionMAGIC=12345- close positions with that magic numberPERCENT=50- partial close (50% of position)PERCENT=100- full close (equivalent to no percent)VOL=0.05- close by volume (mapped toLAYER_CLOSEaction)SIDE=BUY- close only buy positions (orSELLfor sell only)
CLOSEALL
Closes all positions on the symbol with optional filters:
BREAKEVEN
Moves stop loss to the entry price with an optional offset:
CANCEL
Cancels pending orders. Accepts TICKET, MAGIC, and SIDE/DIRECTION filter:
LAYER_CLOSE
Closes multiple trades to match a target volume. Requires VOL/VOLUME (must be > 0):
BRACKET
Open a position with SL+TP as bracket orders (OSO). On forex, behaves like BUY/SELL with SL/TP. On futures (Tradovate/NinjaTrader), SL/TP are placed as separate bracket orders:
REMOVE_SL / REMOVE_TP
Remove individual bracket orders from a futures position (Tradovate/NinjaTrader only):
Multi-Command Signals
Use semicolons to send multiple commands in a single webhook call:
Each command is parsed and executed independently. Empty segments (from ;;) are ignored. If any command fails, the error message includes the command index.
Symbol Matching
When a signal symbol doesn’t exactly match your broker’s symbol, Trade Wzrd attempts to find the closest match using this priority:
- Exact match (case-insensitive) -
BTCUSDmatchesbtcusd - Prefix match -
BTCUSDmatchesBTCUSDm(shortest match wins) - Reverse prefix -
BTCUSDmmatchesBTCUSD - Contains -
BTCUSDmatchesXBTCUSD
If no match is found, the signal fails with a symbol not found error.
