Skip to content

How the bot reads a signal: what is recognized and what is not

The bot reads the channel's text posts and looks for five blocks in them: pair, leverage, entries, targets and stop. It understands Russian and English keywords, but it has strict rules — worth knowing, so you understand why one post became a trade and another did not.

What this is

A signal is a post with levels: where to enter, where to take profit, where to limit the loss. The shares between entries and between targets are not written in the signal — they are distributed by your trading settings. The bot determines the direction (LONG or SHORT) itself from the prices; the words long and short in the text are ignored.

What is recognized

BlockRequiredKeywords (at the start of a line)Format
Pairyes#, pair, symbol#BTCUSDT, #BTC/USDT, Pair: BTC/USDT; the pair must be traded on Bybit
Leveragenoleverage, lev, плечо10x, x10, (10x), 10; from 1 to 999. No leverage means a spot signal
Entryyesentry, entry targets, buy, вход, покупкаone or several prices, each on its own line
Targetsyestp, take profit, sell, цели, продажаone or several prices, each on its own line
Stopyessl, stop, stop loss, стопexactly one price or a whole percent of the average entry price: 82 900 or 3%
Marginnocross, isolated, кросс, изолированнаяanywhere in the text; you can override it with your own setting
Entry typenobreakout, пробой, брейкаутentry by a conditional order on a breakout; without the word — a regular limit entry

How the direction and the market are determined:

In the signalResult
Leverage present, targets above entry, stop belowFutures, LONG
Leverage present, targets below entry, stop aboveFutures, SHORT
No leverage, targets above entrySpot, LONG
No leverage, targets below entryError: spot allows LONG only

An example of a post the bot will accept:

#BTC/USDT
Leverage: 10x
Entry: 85 000
84 200
Take profit: 87 000
88 500
90 000
Stop: 82 900

What is not supported

  • A signal without a stop — it is not recognized at all.
  • Several stops in one signal; a stop as a fractional percent (0.5%).
  • Entry "at market" written as a word instead of a price.
  • SHORT on spot.
  • Several prices on one line (87 000 / 88 500) or a range (85 000 – 84 200) — the bot takes only the first number. An entry zone is two prices on two lines.
  • Several signals in one post.
  • A caption under a photo or a video — only a text post is read.
  • Editing a post — edits are not re-read; the admin changes levels with commands (see The admin manages a signal).
  • A second hashtag in the text (#scalp) — the bot treats a hashtag as the pair.
  • Exchanges other than Bybit.

The decimal separator is a dot. A comma is also understood, but a number like 112,500 is treated as ambiguous and rejected.

Limits and allowed values

ParameterValue
Leverage in the signal1–999; no leverage means spot
Number of stopsexactly one
Stop as a percenta whole number, counted from the average entry price
Entries and targetspractically unlimited, each price on its own line
Pairthe full ticker with the quote currency, traded on Bybit

Typical mistakes and what the bot says

The reason for an unrecognized post goes to the channel owner, not to the subscriber. This is what the owner sees:

  • “Value not found for STOP_LOSS” — the post has no stop line.
  • “Unfortunately, we currently do not support multiple Stop-Loss orders in a single trade” — two stops.
  • “Leverage cannot exceed 999” / “Failed to parse leverage value” — leverage outside the range or not a number.
  • “Pair ZZZUSDT is not traded on the futures market. Check the pair spelling.” — a typo, or the pair is not on Bybit.
  • “Take-Profit (…) is below the entry price (…). Leverage not specified — signal recognized as SPOT, where only LONG is available…” — a short without leverage.
  • “Direction conflict: Take-Profit (…) is above entry (…) — like LONG, but Stop-Loss (…) is also above entry…” — stop and target on the same side of the entry.