Skip to content

Start by an external signal (webhook)

The "external signal" start condition lets you start the first cycle of a DCA bot from TradingView or any other source that can send requests. The bot waits for the signal in the “Paused” status.

What it is

After a bot is created with this condition, its card shows a personal address for starting it and a secret token. The signal source sends a POST request to that address with the header X-Webhook-Token and your token — no request body is needed. The bot checks signals once a minute and starts within a minute.

The signal is only needed to start the bot, not for every cycle: after a Take-Profit or a Stop-Loss the bot waits out the cooldown and opens the next cycle itself. A new signal is needed if the bot ends up paused — you pressed ⏸️ Pause or a protection stopped it. A paused bot can also be resumed without a signal, with the ▶️ Start button.

Where it is in the bot

  • When creating: confirmation screen → ⚡ Start: immediate📡 External signal (TradingView). The button changes to 📡 Start: by webhook signal.
  • After creation: Main menu → 📉 DCA Bots → the bot. In the card: “📡 Webhook URL for starting: …” and, below it, the header X-Webhook-Token with your token. The 🔄 Rotate webhook token button is there as well.

How to set it up

  1. Choose the condition. The bot explains: “📝 WEBHOOK condition selected. After creating the bot you will receive a unique URL and token. Send a POST request to that URL with header X-Webhook-Token from TradingView or another source — the bot will start. URL is visible in the DCA-bot card.”
  2. Confirm the creation. The bot appears in the list with the status “Paused”.
  3. Open the card and copy the address and the token into the settings of your signal source. The source must be able to send a POST request with a custom header.
  4. Send the signal — within a minute you get “🔄 New cycle #1 started. Bot entered position.”

The token is the key to your bot: “⚠️ Never share the token — anyone with it can start your bot.” If the token leaked or you shared the address, press 🔄 Rotate webhook token: “✅ Done. The old token is no longer valid.” — the old one stops working immediately, the bot shows the new address and token and reminds you: “⚠️ Update the webhook in TradingView / your indicator — otherwise signals will stop arriving.”

When a signal is accepted

Bot stateWhat happens to the signal
“Created” or “Paused”Accepted, the bot starts on the next check
The same signal again before the startCounted once — a repeat from TradingView will not open a second entry
“Active”, “Cooldown”, “Starting new cycle”Ignored: a second cycle will not open, and the signal is not saved for later
Subscription is not activeDoes not start the bot; renew the subscription

Requests without a token or with a wrong token are rejected, as are requests to a bot with a different start condition and requests that come too often: more than 10 per minute from one address or more than 60 per minute to one bot. In the reply the source sees a short status in words: accepted, already received, or ignored because the bot is not waiting to start.

There are no "condition unmet for more than a day" reminders here, unlike RSI and SMA: the bot will wait for a signal indefinitely.

Example

Cooldown 45 seconds. The signal arrived at 10:00:05 — by 10:01 the bot had entered the position. At 10:40 the TP fired, at 10:41 the bot opened cycle #2 by itself without a signal. At 10:50 the indicator sent another signal — the bot was “Active”, the signal was ignored, no second position appeared. At 11:00 you pressed ⏸️ Pause; cycle #2 ran to its TP at 11:20, and no new one started. The signal at 11:30 launched cycle #3.

Limits and allowed values

ParameterValue
Signal checkonce a minute
Accepted in statesCreated, Paused
Request rateup to 10 per minute from one address, up to 60 per minute per bot
Request bodynot required
Changing the condition on a live botno

Common errors and what the bot says

  • “ℹ️ This bot does not use a webhook signal, rotation is not needed.” — the rotate button was pressed on a bot with a different start condition.
  • “⛔ This bot does not belong to you.” — an attempt to rotate the token of someone else's bot.
  • The signal was sent but the bot did not start — check the status in the card: it must be “Paused” or “Created”; check that the header and the token match the card and that the token was not rotated after you set up the source.
  • You received “⚠️ Could not start a new cycle: … The bot is paused — check the API keys and balance, then tap "▶️ Start".” — the signal was accepted but the entry failed; after fixing the problem press the button or send the signal again.