Navigation

Signals

Supported Actions

Full reference for every action type supported by TradingForge Signals, including required fields and example payloads.

Signals can trigger nine distinct actions on your bot. Each action requires a specific JSON payload sent via HTTP POST to your webhook URL. This page documents every action, its required and optional fields, and an example payload.

ActionDescriptionPair RequiredValue Required
buyOpen a new positionYesNo
sellClose an open positionYesNo
cancelCancel a pending buy intentYesNo
close_allSell all open positionsNoNo
dcaForce a DCA safety orderYesNo
set_stop_lossOverride stop-loss %YesYes (percent)
set_take_profitOverride take-profit %YesYes (percent)
pausePause trading on a pairYesNo
resumeResume a paused pairYesNo

buy

Opens a new position on the specified pair. In Signal mode the order is placed immediately. In Hybrid mode a buy intent is set and the bot will execute when its own conditions are also satisfied.

{
  "action":   "buy",
  "pair":     "BTCUSDT",
  "provider": "my-provider"
}
If the pair already has an open position, a buy signal is ignored unless the bot's DCA logic would naturally place a safety order. Use dca to force a safety order instead.

sell

Immediately closes an open position at the current market price, regardless of take-profit targets.

{
  "action":   "sell",
  "pair":     "BTCUSDT",
  "provider": "my-provider"
}

cancel

Cancels a pending buy intent on the specified pair (useful in Hybrid mode to revoke a previously sent buy signal before the bot acts on it).

{
  "action":   "cancel",
  "pair":     "BTCUSDT",
  "provider": "my-provider"
}

close_all

Sells all currently open positions at market price. The pair field is not required.

{
  "action":   "close_all",
  "provider": "my-provider"
}
close_all is an aggressive action. Use with care, especially when connected to external providers. Consider restricting which providers are allowed to send this action via Provider Management.

dca

Forces a DCA (Dollar Cost Averaging) safety order on an open position, buying additional quantity at the current market price to lower the average entry.

{
  "action":   "dca",
  "pair":     "ETHUSDT",
  "provider": "my-provider"
}
The DCA order uses the configured safety order size for the pair. If the maximum number of safety orders has already been reached, the signal is ignored.

set_stop_loss

Overrides the stop-loss percentage for a specific open position. The value field is the stop-loss trigger expressed as a positive percentage below the average entry price.

{
  "action":   "set_stop_loss",
  "pair":     "BTCUSDT",
  "value":    5.0,
  "provider": "my-provider"
}

A value of 5.0 means the stop-loss will trigger if the price falls 5% below the average entry. This override persists until the position is closed. To revert to the configured default, send a new set_stop_loss with the original value.


set_take_profit

Overrides the take-profit target percentage for a specific open position.

{
  "action":   "set_take_profit",
  "pair":     "BTCUSDT",
  "value":    2.5,
  "provider": "my-provider"
}

A value of 2.5 means the position will be sold once the price is 2.5% above the average entry. This override persists for the life of the position.


pause

Pauses all new buy activity on the specified pair. Any existing open position is not affected — it will still be monitored for take-profit and stop-loss. New buys are simply prevented until the pair is resumed.

{
  "action":   "pause",
  "pair":     "XRPUSDT",
  "provider": "my-provider"
}

resume

Resumes normal trading on a previously paused pair.

{
  "action":   "resume",
  "pair":     "XRPUSDT",
  "provider": "my-provider"
}

Rate Limiting

To prevent runaway signals from placing excessive orders, TradingForge enforces a configurable maximum signals per hour limit (default: 10). Signals received beyond this limit within the rolling window are rejected and logged as rate-limited in the Signal Log.

The rate limit applies per-provider, not globally, so multiple providers each get their own independent quota.