Skip to content

Signal format: full specification

The bot reads the post text and is deliberately flexible: it understands Russian and English words, different spellings of the pair and of the leverage. But parsing has strict rules worth knowing. This is the overall picture; every part of a signal has its own article.

Signal blocks

BlockRequiredKeywords (at the start of a line, case does not matter)Value format
Pairyes#, pair, symbol#BTCUSDT, #BTC/USDT, Pair: BTC/USDT. The pair must be traded on Bybit
Leveragenoleverage, lev, плечо10x, x10, (10x), (x10), 10; a whole number from 1 to 999. No leverage means a spot signal
Marginnocross, isolated, кросс, изолированная — anywhere in the textA subscriber can override it with their own setting
Entry typenobreakout, пробой, брейкаут — anywhere in the textEntry by a conditional order on a breakout. Without the word — a normal limit entry
Entryyesentry, entry targets, buy, вход, покупкаOne or several prices, each on its own line
Targetsyestp, tp targets, take profit, take-profit, sell, цели, продажаOne or several prices, each on its own line
Stopyessl, sl targets, stop, stop loss, stop-loss, stop targets, стопOne price or a whole percentage of the average entry price: 82900 or 3%

In detail: Pair and direction, Entries, Targets, Stop-loss, Leverage.

The main rules

RuleExplanation
A signal is a text postThe caption of a photo or a video is not read: such a post is skipped silently. Publish the picture separately and the signal as text
One post — one signalSeveral signals in one message are not parsed
The keyword is at the start of a lineEmoji, bullets and dashes in front of it are removed automatically (🎯 Targets:, — Entry:). The first value may stand on the same line after the colon
Each level on its own lineOnly the first number is taken from a line: 87000 / 88500 / 90000 gives one target, the range 85000-84200 gives one entry
Any order of blocks, each one onceTP: and Take profit: in the same post produce the error “More than one keyword found for …”
The only hashtag in the text is the pair#signal, #entry and any other hashtags break parsing
Direction is determined from the pricesThe words long / short are cut out and not taken into account
No leverage means a spot signalFor futures always specify leverage, for spot never do
Exactly one stopSeveral stops are not supported
Numbering only with a separator after the numberTP1: 87000, 1) 87000, 1. 87000 are understood. TP1 87000 without a separator turns into 187000 — with no error
Lines with numbers inside a block are levelsEverything from a keyword up to the next one counts as levels. TF: 5m or RR 1:2 below the targets becomes a false level. Comments with numbers belong before the first block only
Other lines must not start with keywordsLevels:, Slippage:, Buy zone:, Sell zone: are taken by the bot as block headings
An edited post is not re-readIf you made a mistake, correct it with commands or publish a new signal

Shares of entries and targets (percentages) are not written in a channel signal — they are distributed by each subscriber's own setting.

Examples the bot accepts

Futures, several entries and targets:

#BTC/USDT
Leverage: 10x
Entry: 85000
84200
TP: 87000
88500
90000
SL: 82900

Futures, stop as a percentage:

#ETHUSDT
Leverage: 5x
Entry:
3200
3150
TP:
3400
3550
SL: 4%

Spot (no leverage, so LONG on spot). Russian keywords are read exactly the same way:

#SOL/USDT
Вход: 150
Цели: 165
180
Стоп: 138

Short with margin specified and a breakout entry:

#BTCUSDT
Leverage: Cross, 20x
Breakout
Entry: 84000
TP: 82500
81000
SL: 85300

How to check that the signal was read

After a few seconds the buttons 👁 View signal / 📈 Open signal / ⚡ Enable auto-trading appear under the post (the Edit messages permission is required). No buttons — the reason comes to the channel owner as a private message: “⚠️ Post … in channel '…' was not accepted as a signal — no trades were opened. Reason: …”. The reason texts are covered in the articles about each part of a signal.