Skip to main content

Signal Posting

How to post crypto signals in your Telegram channel so Cornix can read them: format rules, leverage, risk, trailing settings, and the Publish Signal feature.

Written by Dor

Cornix allows Channel Admins to distribute trade setups directly to their Telegram communities. The Cornix Bot reads these messages and parses them so the Signals Bot on the user side executes the trades automatically for them.

Choosing Your Posting Method

You can post signals to your channel using one of two methods:

  1. Free Text: You type or paste a structured text message directly into your Telegram channel. This is the fastest method.

  2. Publish Signal Feature: You use the Cornix bot menu to generate a signal. This provides a guided setup for advanced configurations.


Formatting Rules for Free Text Signals

When you type a signal directly into your channel chat, you must follow strict formatting rules. If the format is incorrect, the Cornix Bot cannot read the trade.

Ensure your signal includes the following elements:

  • Coin Pair: Always include the full coin pair name (for example, BTC/USD).

  • Entry Keywords: Always include the word "Buy" or "Entry".

  • Stop Loss Keywords: Always include the word "Stop" or "SL" before your stop price (for example, "Stop: 50000"). Don't use "Sell" for the stop loss, because "Sell" is read as a take-profit keyword. Avoid variations like "S/L".

  • Take Profit Keywords: Use "Take Profit", "Sell", "Target", or "TP".

  • Limits: You can include up to 10 Take Profit targets and up to 10 Entry targets. You can only include one Stop Loss target.

  • Pricing: All targets must be specified as exact prices, not as percentages.

  • Logic: A stop loss price cannot be above the entry price for a long signal. A stop loss price cannot be below the entry price for a short signal. You don't have to write LONG or SHORT: Cornix detects the direction from your entry, take-profit, and stop prices.

  • Clean Text: Minimize the use of emojis, unnecessary spaces, and irrelevant text.
    ​


How Cornix Handles Signals Without Leverage

Understanding exactly how Cornix processes trades that lack explicit leverage details is critical for Channel Admins.

Cornix does not auto-calculate custom leverage based on Stop-Loss risk parameters. For example, Cornix will not attempt to hit a specific dollar risk amount by automatically maximizing the leverage. Leverage and position sizing are handled distinctly.

When a signal does not contain explicit leverage instructions, Cornix processes the signal based on whether a leveraged exchange is mentioned in the text, and the direction of the trade:

  • If a Leveraged Exchange IS Mentioned: If the signal names a futures exchange (for example, "Exchanges: Bybit USDT" or "Binance Futures"), it is published as a futures signal without a leverage value. When a member's Signals Bot opens the trade, it uses Isolated 1x, unless that bot is set to its own fixed leverage. This applies to both Long and Short trades.

  • If NO Leveraged Exchange is Mentioned (Long Signal): Cornix usually creates a Spot signal with no leverage. It can become a futures signal if the pair isn't available on a supported spot exchange, or if your channel only supports futures exchanges.

    • ⚠️ Important: Any Signals Bot connected to this channel using a Futures exchange account will ignore this signal, because Spot signals cannot be opened in a Futures account.

  • If NO Leveraged Exchange is Mentioned (Short Signal): Short trades can't be opened on spot exchanges, so Cornix publishes the signal for futures exchanges without a leverage value. Members' Signals Bots then open it at Isolated 1x, unless a bot is set to its own fixed leverage.


Formatting Leveraged Signals

If you want to explicitly define leverage in your signal, you must include a leverage indication. You can do this in three distinct ways:

  1. Keyword: Use the keyword "Leverage" or "Lev" followed by the type and level (for example, "Leverage: Isolated 5x").

  2. Direct Type and Level: Write the direction together with the leverage type and level (for example, "Long Cross x20" or "Short Isolated x5"). A type and level on their own, without "Leverage", "Long", or "Short" next to them, won't be read as leverage.

  3. Exchange Name: Mention the specific leveraged exchange name (for example, "Exchanges: Bybit USDT, Binance Futures").

💡 Note: As explained in the previous section, if you only mention the leveraged exchange name without a leverage type or level, the signal has no leverage value, and members' Signals Bots open it at Isolated 1x (unless a bot is set to its own fixed leverage), even for a Long trade. To make sure a signal is treated as a futures signal, include an explicit leverage, for example "Leverage: Isolated 5x".


Formatting Amounts and Risk Settings

You can include an amount per trade as percentage or a risk percentage directly in your signal.

  • Amount Per Trade: You can use formats like "Amount per trade 5%", "Invest up to 5% of your portfolio", "Amount: 45.0%", "Amount 5%", or "Capital invested : 2% 5% Max".

  • Risk Percentage: Include the text "Risk management" or "RM". The word "Risk" on its own is only recognized when it's followed by a percentage of your portfolio or balance (for example, "Risk 1% of your portfolio"). Use formats like "Risk management 0.5%", "RM: 10.0%", "Risk management: Risk 1% - 1.5% of your portfolio", or "Amount: 1.0% Risk".

⚠️ Important: By default, the maximum is 20% amount per trade or 20% risk percentage; higher values are ignored. If you write a range (for example, "Use between 3% and 4%"), Cornix will only parse the first number mentioned.


Formatting Prices and Entries

  • Satoshi Prices: Prices in the Satoshi range can be abbreviated. For example, 0.00030000 can be written as 30000 or 30K.

  • Multiple Entries: Entry prices written as "100-200" will translate into two distinct entries.

  • Entry Zones: To create an entry zone, add the word "Zone" before the prices (for example, "Entry zone: 100-200").

  • For an entry zone signals: The number of entry orders that will be created on the user's account, depends in the Entry Strategy, which can be set on the channel's trading configuration, or on the user's Signals Bot entry strategy.

  • Multiple prices can be sent in one line. They will be sorted automatically based on the trade's/signal's direction, like "Buy 100 300 200 400".

  • Market Buying: To buy at the current price, type "Buy at current price". This creates a limit buy order using the current market price. You should use "Buy at current price" for opening both Long and Short trades at the current price.


Formatting Breakout Signals

Breakout signals trigger only when a specific price is crossed.

  • Add the word "above" for long entries (for example, "Enter above 200").

  • Add the word "below" for short entries (for example, "Enter below 100").

  • You can explicitly write "Signal Type: Breakout".

💡 Note: Breakout signals can only include up to two entry prices.


Formatting Your Trailing Configuration for Signals

When posting signals to your Signals Bot, the trailing parameters require specific syntax to parse correctly.
⚠️ Important: You absolutely must include the exact phrase Trailing Configuration: immediately before your trailing settings. If this exact phrase is missing, the parser will ignore your trailing instructions entirely.

The Golden Rule: Always Use the Header

To understand how this works, look at the two examples below.

❌ INVALID Signal (Trailing will NOT work):

Because the phrase "Trailing Configuration:" is missing, the bot will ignore the Breakeven command.

BTCUSDT

LONG LEVERAGE X10

ENTRY 70000

TAKE PROFIT TARGET 90000

STOP 50000

STOP: Breakeven - Trigger: Target (1)

✅ VALID Signal (Trailing WILL work):

Because the trailing settings are placed directly under the correct header, the bot will parse it successfully.

BTCUSDT

LONG LEVERAGE X10

ENTRY 70000

TAKE PROFIT TARGET 90000

STOP 50000

Trailing Configuration:

STOP: Breakeven - Trigger: Target (1)


​

1. Entry and Take-Profit Trailings

For your entry and take-profit targets, you must configure your trailing using a percentage format.

💡 Note: The minimum allowed value for both Entry and Take-Profit trailing is 0.4%.

Example Syntax:

Trailing Configuration:
Entry: Percentage (0.4%)
Take-Profit: Percentage (0.5%)

2. Trailing Stop Loss Formats

The format for your trailing stop loss depends entirely on the type of stop you want to trigger. These are divided into two main categories: Target-Only Stops and Flexible Stops.

⚠️ Important: You must use the exact formatting and standard hyphens (-) shown in the examples below for the parser to read your signal correctly. Avoid using long dashes.

A. Target-Only Stops

Target-Only Stops (Moving Target and Moving 2 Target) must use a specific target as their trigger. They will not accept a percentage trigger.

  • Moving Target: You must use Target as the trigger.

    • Syntax: Stop: Moving Target - Trigger: Target (1)

  • Moving 2 Target: You must use Target as the trigger. The minimum target you can assign here is 2.

    • Syntax: Stop: Moving 2 Target - Trigger: Target (2)

B. Flexible Stops

Flexible Stops (Breakeven, Percent Below Highest, and Percent Below Triggers) allow you to use either a target or a percentage as your trigger. Both methods are completely valid.

Breakeven Stops:

  • Using a Target Trigger: Syntax: Stop: Breakeven - Trigger: Target (1)

  • Using a Percent Trigger: Syntax: Stop: Breakeven - Trigger: Percent (0.05%)

    • 💡 Note: The minimum percentage allowed for a Breakeven trigger is 0.05%.

Percent Below Highest Stops: You must define the trail percentage next to the stop name, followed by your chosen trigger percentage.

  • Activates after a specific percentage move:

    • Syntax: Stop: Percent Below Highest (0.4%) - Trigger: Percent (X%)

  • Activates immediately on entry:

    • Syntax: Stop: Percent Below Highest (0.4%) - Trigger: Percent (0.0%)

  • Using a Target Trigger (activates on a specific target, like Target 1):

    • Syntax: Stop: Percent Below Highest (0.2%) - Trigger: Target (1)

Percent Below Triggers Stops: You must define the trail percentage next to the stop name, followed by your chosen trigger.

  • Using a Percent Trigger (activates after a specific percentage move):

    • Syntax: Stop: Percent Below Triggers (0.4%) - Trigger: Percent (X%)

  • Activates immediately on entry:

    • Syntax: Stop: Percent Below Triggers (0.4%) - Trigger: Percent (0.0%)

  • Using a Target Trigger (activates on a specific target, like Target 1):

    • Syntax: Stop: Percent Below Triggers (0.2%) - Trigger: Target (1)


Close Signal on Take Profit\ Stop Loss Before Entry:

When a signal is published directly in the channel (Free Text Signal), a dynamic “Close Trade on Take Profit\SL before Entry” mechanism is enabled:

  1. If the signal was posted when the current market price is above the price of the first TP minus 0.5%, we assume this signal was created for the future and we won’t close it if reached Take Profit\SL before Entry.

  2. If the signal was posted when the current market price is below the price of the first TP minus 0.5% then we will close it on Take Profit\SL before Entry.

When a signal is published through the bot (Signals > Publish), both for free text and guided methods, you will be asked if you want to start tracking the signal right now or only when reaching the entry:

  1. "Start tracking the signal right now" means that the signal will get closed if take profit or stop loss hit before the entry price is reached.

  2. "Start tracking the signal when reaching the entry” means that the signal will not get closed in case take profit or stop loss hit before entry price is reached.


Free Text Signal Format:

This is an example for a format that you can use by copy-pasting it to your channel and changing the values. Note that this is not the only option, and any other format will also work, as long as you're following the guidelines mentioned above.

⚡⚡ #BTC/USDT ⚡⚡

Exchanges: Binance Futures

Signal Type: Regular (Long)

Leverage: Isolated (5X)

Entry Zone:

38766.9 - 38766.9

Take-Profit Targets:

1) 38766.9

2) 38766.9

Stop Targets:

1) 38766.9

Trailing Configuration:

Entry: Percentage (0.5%)

Take-Profit: Percentage (0.5%)

Stop: Moving Target - Trigger: Target (1)

Notes:

  • This method is the quickest way to copy-paste a signal, but it has limitations: target ratios % and risk allocation mentions will not get parsed using this option.

  • If you wish to use a Percentage Trigger for Trailing Stop Loss, the format will be:
    Stop: Breakeven - Trigger: Percent (1%)

Once a signal with the correct format is posted, it will be immediately transformed into the same message, but with the Cornix follow buttons added below.


Using the Publish Signal Feature

Instead of typing free text into your channel, you can use the Cornix Bot menu to publish signals.

  1. Open the Cornix bot in Telegram.

  2. Navigate to the Admin Panel.

  3. Click on Signals, and then click Publish.

  4. Choose between Guided or Free Text.

Guided

The Guided option provides a step-by-step menu where you manually set prices and configurations before the bot posts it to your channel. The Free Text option allows you to paste your raw text, but the bot will prompt you with follow-up questions regarding trailing limits and risk usage to ensure accuracy.

Free Text

The 'Free Text' option is similar to the raw free text signal posting option in the channel's chat, but with one major difference:
Once you enter your intended raw text signal, the bot will follow up with some additional questions on Trailing Entry/ TP/ Stop-loss, the intended risk usage, and the signal's ratios. You'll also be able to chose if the signal will stay open if Take Profit or Stop Loss hit before Entries.


Signal posting limitations

  • The maximum amount of signals that can be published on the channel per minute is 7.

  • The number of open signals that can be managed simultaneously on the channel is based on the number of active users in the channel. Read more.


Troubleshooting and FAQ

Why did users connected with Futures accounts ignore my long signal? If you post a long signal without explicit leverage instructions and without mentioning a leveraged exchange, Cornix usually creates a Spot signal. To reach futures followers, include an explicit leverage (for example, "Leverage: Isolated 5x"). A Signals Bot connected via a Futures exchange account cannot execute Spot signals, meaning those users will not follow the trade.

Why is my trailing stop loss configuration not working? The Cornix parser will ignore your trailing instructions entirely if you do not include the exact header Trailing Configuration: immediately before your trailing settings.

Why did my breakout signal fail to post? Breakout signals can only include a maximum of two entry prices. If you provide three or more prices, the signal will fail to parse as a breakout trade.

Does Cornix calculate my leverage based on my stop loss risk? No. Cornix does not auto-calculate custom leverage based on Stop-Loss risk parameters. Leverage and position sizing are treated as two distinct configurations.

Why was my stop loss treated as a take profit? "Sell" is a take-profit keyword, so a stop written as "Sell 50000" is read as a target. Write your stop loss with "Stop" or "SL" (for example, "Stop: 50000").

Did this answer your question?