Signal Parameters

Signals

Guide for Service Providers

Type of Signals 

Entry
Exit
ReEntry
Stop
Start

DisableMarket
EnableMarket
PanicSell
Update
cancelEntry
reverse

Parameters

buyStopPrice
buyTTL
DCAAmountPercentage1
DCATargetPercentage1
DCATargetPrice1
DCAPriority
Exchange
key
limitPrice
Market
MDXXXXXX
orderType
orderType = multi
positionSizePercentage
positionSizeQuote
postOnly
price

reduceOrderType
reduceTargetPercentage
reduceAvailablePercentage 
reduceRecurring
reducePersistent 
removeAllReduceOrders
removeReduceOrder 
removeReduceRecurringPersistent 
removeDCAs
removeTakeProfits
panicBase
panicQuote
risk
sellTTL
signalId
stopLossFollowsTakeProfit

stopLossPercentage
stopLossPrice
stopLossPriority
stopLossToBreakEven

successRate
takeProfitAmountPercentage1
takeProfitPercentage1
takeProfitPrice1
takeProfitPriority
term
trailingStopDistancePercentage
trailingStopTriggerPercentage
trailingStopTriggerPrice
trailingStopTriggerPriority
type

Futures signals

exchangeAccountType
side
leverage
   

 



Type of Signals

Entry

type=entry

Mandatory fields:

  • key
  • exchange
  • pair

  • signalId
    in order to identify this position to send another command to exit or update
  • Copytrader & Profit-Sharing Providers: you must include positionSizePercentage 
    to entry signals

Entry signals allow you to send signals for opening positions. This will open the position on Zignaly, and also, will send the buy order to the exchange. Buy orders can be limit, market, or stop-limit, based on the orderType parameter.

 

This is the default signal, if you don't specify any type parameter, then entry is assumed.

Example explanation:
In this example we are sending an "Entry" signal. For this type of signal, the "signalID" is not mandatory if we send our TP, SL or other parameters included in this Syntax.

On the other hand, if we plan to send "Update" or "Exit" signals, it is extremely important that we indicate a "signalID" in order for the next signal to identify which position & apply these instructions to the position.


In the event that we decide to send signals to the futures market, it is important that we indicate the direction of the trade, if we want it to be a long or a short position.

Example syntax spot:

{"key":"XXXXXXX","type":"entry","exchange":"binance","pair":"ethusdt",
"positionSizePercentage":"10","signalId":"123"}

Example syntax futures:

{"key":"XXXXXXX","type":"entry","exchange":"binance","exchangeAccountType":"futures",
"side":"long","pair":"ethusdt","positionSizePercentage":"10","signalId":"123"}

 

 


 

 

Sell / Exit

type=exit

Mandatory fields:

  • key
  • type
  • pair
  • exchange
  • signalId

Exit signals identify previously opened positions (with the signalId parameter) and close them sending an exit order to the exchange.

The order is for 100% of the remaining position amount, and the type of exit order that can be sent to the exchange is market or limit (based on orderType).

Example explanation:

In this example we are sending an "exit" signal to a position that we have open in our Zignaly exchange. As you have to find the current position that is open and close it, it is extremely important that the position has "signalID" and we put that ID in our signal in the "signalID" field.

 

In the following example, we've indicated to exit this position by Market order, adding "orderType": "market", this is not a mandatory field, so it is optional.

Example syntax spot:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","orderType":"market",
"type":"exit","signalId":"123"}

 

Example syntax futures:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly",
"exchangeAccountType":"futures","orderType":"market","type":"exit","signalId":"123"}

 

For Signal Providers: To accept exit signals, users connected to this provider need to check the Accept Exit Signals option:

 

 


 

 

ReEntry

*for Signal Providers, this signal type does not work for Copytraders
type=reEntry

Mandatory fields:

  • key
  • type
  • pair
  • exchange
  • signalId

ReEntry (or DCA) signals identify previously opened positions (with the signalId parameter)
and enlarge their positions' size.

Example explanation: This is a valid case only for signal providers. When they reach certain price levels they decide to send a reEntry or DCA signal to optimize the money management of the position.

The new buy order is sent to the exchange and will be a buy limit order; if no price is specified in the signal, the current price will be used as the limit price.

Example syntax spot:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","type":"reEntry","signalId":"123"}


Example syntax futures:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","exchangeAccountType":"futures",
"type":"reEntry","signalId":"123"}

The new amount is based on the user configuration. And the option of Accept DCA/ReBuys Signals option needs to be checked by the user in the provider's options:

 

 


 

 

Stop

type=stop

Mandatory fields:

  • key
  • type
  • exchange
Stop signals will disable your provider from accepting any new entry signal. All other signals are accepted (reEntry, exit...).

Example explanation:
Let's imagine that we need our provider to stop receiving signals since we detect that the market is very volatile, or some news that may affect us comes to light.

By sending this signal, we would stop opening new positions, but we would continue to manage the ones we already have. That is why we do not need to put the fields of pair, signalID, etc.

Example syntax spot:

{"key":"XXXXXXX","exchange":"zignaly","type":"stop"}


Example syntax futures:
{"key":"XXXXXXX","exchange":"zignaly","exchangeAccountType":"futures","type":"stop"}
 

 


 

 

Start

type=start

Mandatory fields:

  • key
  • type
  • exchange

Start signals will resume accepting signals for a previously stopped provider.

Example explanation:

It is the case totally opposite to the previous one, the market returns to normal and we want to receive signals again. So we apply the same signal by changing the "Type" from "stop" to "start".

Example syntax spot:
{"key":"XXXXXXX","exchange":"zignaly","type":"start"}


Example syntax futures:
{"key":"XXXXXXX","exchange":"zignaly","exchangeAccountType":"futures","type":"start"}

 

 


 

 

DisableMarket

type=disableMarket

Mandatory fields:

  • key
  • type
  • exchange
  • market

 

DisableMarket signals will make your provider not accept any new buy signal for the given market.

All other signals are accepted (reBuy, sell). It works like the stop signals, but for a specific market.

Example explanation:

This allows us to do exactly the same as the stop parameter, with the only difference that it allows us to focus on a single pair and not on the entire operation of our provider. In this case, it is essential to place the pair we want to stop, but remember that we will continue to receive signals for our DCAs or for exits.

Example syntax spot:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","type":"disableMarket”}


Example syntax futures:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","exchangeAccountType":"futures"
,
"type":"disableMarket”}

 

 


 

 

EnableMarket

type=enableMarket

Mandatory fields:

  • key
  • type
  • exchange
  • market

 

EnableMarket signals will resume accepting signals for a previously disabled provider in the given market.

Example explanation:

As with the "stop" and "start" parameters, it occurs with "disableMarket" and "enableMarket". It allows us to return to normal once we consider it appropriate.

Example syntax spot:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","type":"enableMarket”}


Example syntax futures:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","exchangeAccountType":"futures",
"type":"enableMarket”}

 

 


 

 

PanicSell

type=panicSell

Mandatory fields:

  • key
  • type
  • exchange

 

PanicSell signals are used to sell everything at the current market price. You can filter by quote or base if you want to delimit it.

Example explanation:
Suppose we decide to close all our positions, either because of some news that we have seen, or because our operations have been compromised. In that case, we send this signal, it is not necessary to specify "pair" or "signalID", since we will close all our open trades.

Example syntax spot:
{"key":"XXXXXXX","exchange":"binance","type":"panicSell”}


Example syntax futures:
{"key":"XXXXXXX","exchange":"binance","exchangeAccountType":"futures",
"type":"panicSell”}

For Signal Providers:

To accept panicSell signals, the user has to have the following option checked in the provider's option Accept panic sell signals from this provider

 

 


 

 

Update

type=update

Mandatory fields:

  • key
  • type
  • exchange
  • pair
  • signalId

 

 

Example explanation:

Suppose we have an open trade in our dashboard in Zignlay, but we want to modify our Stop Loss. Here if it is important to place the "signalID" so that it identifies the position we are looking to update.

Example syntax spot:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","type":"update",
"stopLossPercentage":"-4","signalId":"123"}


Example syntax futures:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","exchangeAccountType":"futures",
"type":"update","stopLossPercentage":"-4","signalId":"123"}

For Signal Providers:

Update signals allow you to update open positions if the user accepts update signals:

Accept Updates from Signals option

 

The parameters that can be updated are:

  • buyTTL (Only for positions where the buy order isn't filled yet).
  • sellByTTL

  • stopLossPercentage: Attention, you need to send it as a negative value (example: -5), if not, it will place a positive stop loss value, meaning that if the current price is below it, the position will be sold.
    If you want to place a positive value, then no symbol is needed.
  • trailingStopTriggerPercentage
  • trailingStopDistancePercentage
  • reBuyTargets: You can add as many DCAAmountPercentageX, DCATargetPercentageX (or DCATargetPriceX instead of percentage) as you want. Remember that an already done target can't be updated (even if it has failed).
  • takeProfitTargets: You can add as many takeProfitAmountPercentageX, takeProfitPercentageX (or takeProfitPriceX) as you want. *when you send an update signal adding new TP targets, it will remove the previous ones
  • removeDCAs: removes any current pending DCA targets (removeDCAs=true)
  • removeTakeProfits: removes any current pending Take Profit targets (removeTakeProfits=true)

 

 

 


 

 

cancelEntry

type=cancelEntry

Mandatory fields:

  • key
  • signalId
  • pair
  • exchange
  • type

 

cancelEntry type will remove an entry signal that has not been filled yet.

For example, if your entry was using a limit order, it will be removed from the exchange.

Example explanation:

Suppose we send an entry limit signal, and for some reason, we see that it will not complete because the price moved away from the zone we established. We can send a signal to cancel that entry.

Example syntax spot:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly","type":"cancelEntry",
"signalId":"123"}


Example syntax futures:
{"key":"XXXXXXX","pair":"ethusdt","exchange":"zignaly",
"exchangeAccountType":"futures","type":"cancelEntry ","signalId":"123"}

 

.


.

 

reverse

type=reverse
futures exchange
(this parameter is not available for Signal Providers)

Mandatory fields:

  • key
  • exchange
  • exchangeAccountType
  • pair
  • signalId

 

The signal works as an exit and an entry signal
 It will exit the given position, then once it is done and the accounting is performed, it will open a new position.

 

You can use any parameters in this signal that is available for either exit or entry, but if you want to use the same parameter for the exit and the entry, but with different values, add the prefix "exit" or "entry" to the parameter.

For example, if I want to exit with "market" but I want to enter with "limit", then I need to use
exitOrderType=market and entryOrderType=limit

  • exitOrderType
  • entryOrderType

You could also apply any other parameter that is allowed in an Entry signal. The same applies for the exit signal:

  • exit***
  • entry***

The accounting process is what will trigger the buy, so, if there is an open position, it will wait until it is closed and accounted for, then send the entry signal.

If there isn't an open position for exiting, it will open a new one, creating an entry signal immediately.


Example explanation:

Suppose we want that if the trend reverses, we can close the trade that we have open and immediately open one in the new direction. For that, we have to use a reverse signal, and configure the parameters so that it leaves a position and opens the opposite operation.

This is a complex syntax, and we have to configure entry and exit parameters at the same time. That is why we use “exitSide":"short" and "entrySide":"long", for this example.

Example syntax futures:
{"key":"XXXXXXX","pair":"ethusdt","type":"reverse","exchange":"zignaly",
"exchangeAccountType":"futures","exitSide":"short","entrySide":"long",
"exitOrderType":"market","entryOrderType":"market","entryLeverage":"5",
"takeProfitPercentage1":"4","takeProfitAmountPercentage1":"100",
"positionSizePercentage":"10","signalId":"123"}

 

 



Parameters

This is the complete list of parameters that can be used with your signals:

 

buyStopPrice

Signals Type: entry
This field is mandatory if the orderType is equal to stop-limit in a buy signal. It will be the price at which, once reached, a limit order will be placed.
 

 


 

 

buyTTL

Signals Type: entry, update
If the buying order hasn't been filled before these seconds elapse, the buying order will be canceled, and the position closed with an error status Buy Removed From Exchange Because TTL.

For Signal Providers: If any is provided, the one from the user's settings will be used. If the order was partially filled, the rest of the order would be canceled, and the position will remain with the partially filled amount.

Even if you don't send this value and is disabled in the user's settings, any position that hasn't been filled after 60 days, will be closed.

 

 


 

 

DCAAmountPercentage1

Signals Type: entry
You can send as many targets as you want, increase by one the final number for each new target. The % of units (coins) to re-buy. Always from the remaining amount.

For Signal Providers: To accept DCA settings, the user has to have the Accept DCA Parameters From the Buy Signal? Checked in the provider's options.

 

 


 

 

DCATargetPercentage1

Signals Type: entry, update
You can send as many targets as you want, increase by one the final number for each new target. Once the price drops this percentage from the average buying price, a limit buy order will be sent to the exchange.

For Signal Providers: To accept DCA settings, the user has to have the Accept DCA Parameters From the Entry Signal? Checked in the provider's options.

Example explanation:
In this example, we are going to open a position with two DCAs configured to buy back 100% of the position upon reaching the values of 3% and 5%. We also add a TP in the syntax.

Example syntax spot:
{"key":"XXXXXXX","pair":"ethusdt","type":"entry","exchange":"binance",
"orderType":"market","leverage":"5","takeProfitPercentage1":"5",
"takeProfitAmountPercentage1":"100","DCATargetPercentage1":"-3",
"DCAAmountPercentage1":"100",”DCATargetPercentage2":"-5",
"DCAAmountPercentage2":"100","positionSizePercentage":"10","signalId":"123"}


Example syntax futures:
{"key":"XXXXXXX","pair":"ethusdt","type":"entry","exchange":"binance",
"exchangeAccountType":"futures","side":"short","orderType":"market","leverage":"5",
"takeProfitPercentage1":"-5","takeProfitAmountPercentage1":"100","DCATargetPercentage1":"3",
"DCAAmountPercentage1":"100",”DCATargetPercentage2":"5","DCAAmountPercentage2":"100",
"positionSizePercentage":"10","signalId":"123"}

 

 


 

 

DCATargetPrice1

Signals Type: entry, update
You can send as many targets as you want, increase by one the final number for each new target. Even when you send the price directly instead of the percentage, the system still works with percentage and will get it from this price value and the average entry price value.
For Signal Providers: To accept DCA settings, the user has to have the Accept DCA Parameters From the Buy Signal? Checked in the service options.
 

 


 

 

DCAPriority

Signals Type: entry

*For Copytraders (this parameter is not available for Signal Providers)

percentage|price (default percentage) 

The system works in percentage, (as default) meaning when you use the above parameter 'DCATargetPrice1' the system calculates this price value in percentage from the entry price value.

When you apply DCAPriority as (DCAPriority = Price) it will now set your dca orders as an exact price instead of using the default percentage value. 

You can indicate your price including the 'DCATargetPrice1' parameter.
*The priority parameter will affect all the DCA targets.

Example explanation:
In this example we are going to continue with the logic of the previous one, we are going to program 2 DCAs and a TP. But this time we are going to prioritize the price in the DCAs.

Example syntax spot:
{"key":"XXXXXXX","type":"entry","pair":"ethusdt","exchange":"zignaly",
"orderType":"market","takeProfitPercentage1":"5","DCAPriority":"price",
"DCAAmountPercentage1":"100","DCATargetPrice1":"585","DCAAmountPercentage2":"100",
"DCATargetPrice2":"555","positionSizePercentage":"10","signalId":"123"}


Example syntax futures:
{"key":"XXXXXXX","type":"entry","pair":"ethusdt","exchange":"zignaly",
"exchangeAccountType":"futures","side":"short","orderType":"market","leverage":"5",
"takeProfitPercentage1":"-5","DCAPriority":"price","DCAAmountPercentage1":"100",
"DCATargetPrice1":"585","DCAAmountPercentage2":"100","DCATargetPrice2":"555",
"positionSizePercentage":"10","signalId":"123"}

 

 


 

 

Exchange

Signals Type: All of them

This field is mandatory, and it's used to specify for which exchange your signals are.

 

 


 

 

key

Signals Type: All of them

A mandatory parameter that is used to identify your provider.
You should not share your key. Never post it in a public place. Anyone with this key could send signals to your provider. You can get your key from your provider edit tab.

 

 


 

 

limitPrice

Signals Type: entry, exit, reEntry
Is the limit price at which an order will be sent.
For Signal Providers: To take in consideration this parameter, the user needs to check the provider's option: Allow the limit price parameter from the signal
 

 


 

 

Market

Signals Type: entry, stop, start, disableMarket, enableMarket

You also can use pair. It specifies for which market the signal is.

 

 


 

 

MDXXXXX

A free field for sending metadata. Start the word with MD, followed by whatever name you want to give, for example, MDSource, and it will be stored as metaData->Source. You can add as many as you want.
 

 


 

 

orderType 

Signals Type: entry, exit

For buy signals, you can choose between limit, market, or stop-limit (or 'multi' for futures signals) 
Default is limit. The stop-limit order waits until the price in the buyStopPrice parameter has been reached and then places a buy limit order for the price specified in the limitPrice parameter.
To accept market buy orders, the user has to check the option: Allow buy market order (your price deviation won't have an effect)

For sell signals, can be market or limit. Limit orders remove the current unachieved take profits targets from the user and place a new one, for the remaining amount at the suggested price in the signal.

 

 


 

 

orderType = multi

Signals Type: entry

In a futures exchange, this will open a position with two orders, one long and one short.
The first side to fill will be used, any additional parameters (take profits/dcas/reduce/stop loss/trailing stop) will be adapted to the winning side.

Example explanation:
In this example we are going to continue with the logic of the previous one, we are going to program 2 DCAs and a TP. But this time we are going to prioritize the price in the DCAs.

to note:

  • entry side needs to be long: "side":"long"
  • orderType_long/orderType_short, cannot be market

If then the "short" wins, the position will be flipped but by default, and handled as a long one.
For copy trading, once the order is filled, a limit order will be created with limitPrice from the winning order.

example syntax:
{"key":"XXXXXXX","pair":"ethusdt","type":"entry","exchange":"zignaly",
"exchangeAccountType":"futures","orderType":"multi","orderType_long":
"limit","limitPrice_long":"xxx","side":"long","stopLossPercentage":"3",
"orderType_short":"limit","limitPrice_short":"xxx","takeProfitPercentage1":"10",
"takeProfitAmountPercentage1":"50","takeProfitPercentage2":"20",
"takeProfitAmountPercentage2":"50","DCATargetPercentage1":"5",
"DCAAmountPercentage1":"100","DCATargetPercentage2":"7",
"DCAAmountPercentage2":"100","leverage":"3",
"positionSizePercentage":"10","signalId":"123"}

 

 


 

 

panicBase

Signals Type: panicSell

Parameter exclusive from panicSell signals, if present, it will panic sell only positions with this coin as the base. Take into consideration that the symbols (pair, market), in Binance follow this name convention: BASEQUOTE, example: QTUMBTC (QTUM would be the base)

 

 


 

 

panicQuote

Signals Type: panicSell

Parameter exclusive from panicSell signals, if present, it will panic sell only positions with this coin as the quote. Take into consideration that the symbols (pair, market), in Binance follow this name convention: BASEQUOTE, example: QTUMBTC (BTC would be the quote)

 

 


 

 

positionSizePercentage

Signals Type: entry

The position size of your investment in percentage.

For Copytraders or Profit-Sharing services: The percentage is from the configured value in the allocated balance setting. It has to be a value between 1 and 100. As always if the resulting position size is below the minimum allowed by the exchange, it will fail.


For Signal Provider services: it is important not to include this parameter or positionSize in your syntax. You must enter your position size into the 'settings' section of your service profile page.
This is because if you do include positionSize into your syntax, it will affect the entry size of your connected followers.

 

 


 

 

positionSizeQuote

Signals Type: entry

The coin for the position size value. If none is used, the quote coin from your pair will be used
(from XRPBTC, it would be BTC)

 

 


 

 

postOnly

Signals Type: entry
examples: "postOnly":"true",

The order will be sent to the exchange as post-only, which means that it will ensure a Maker rebate. If for any reason the order would be executed against any resting order, it will be canceled instead. 

For this reason, the post-only option is only for Limit Order, If you send a buy limit order with a price higher than the current market price, it would cancel as it would be filled automatically. not allowing a maker rebate. This option is really helpful to control the fees that you pay to the exchange.

 

example syntax:
{"key":"XXXXXXX","type":"entry","exchange":"binance","pair":"ethusdt","postOnly":"true",
"orderType":"limit","limitPrice":"xxxx","positionSizePercentage":"10","signalId":"123"}

 

 

 


 

 

 

price

Signals Type: entry, exit

Your suggested base price for calculating the limit price. If you don't use any price, the system will use the current market price (when the signal arrived).

For Signal Providers:This parameter is conditioned by the Buy/Sell Price Deviation setting, which is configured by the user and can be positive or negative. Whatever setting the user has will be applied to the price, resulting in the limit price. If you don't want the price to be conditioned by the user's setting, then you can use the limitPrice parameter.

 

 


 

 

reduceOrderType

Signals Type: update

Options for orderType: limit (default), market

 

 


 

 

reduceTargetPercentage

Signals Type: update

This is the target price for the limit order, the target price is calculated from the average entry price.

 

 


 

 

 

reduceAvailablePercentage 

Signals Type: update
example: reduceAvailablePercentage=xx
This is the amount that will be reduced from the available amount inside the position.

 

reduceRecurring

Signals Type: update
example: reduceRecurring=true
A new reduce order will be placed in the exchange as soon as a new DCA is filled.



reducePersistent 

Signals Type: update
example: reducePersistent=true
It won't close the position if there is any pending DCA, even if everything has been exited.


removeAllReduceOrders

Signals Type: update
example: removeAllReduceOrders=true
Remove all current pending reduce orders.


removeReduceOrder 

Signals Type: update
example: removeReduceOrder=x
Remove one particular reduce order, identified by the targetId.



removeReduceRecurringPersistent 

Signals Type: update
example: removeReduceRecurringPersistent=true
If there is any reduce order with the flag recurring or persistent, it will remove them.

 

removeDCAs

Signals Type: update
example: removeDCAs=true
removes the current pending DCA targets


removeTakeProfits 

Signals Type: update
example: removeTakeProfits=true
removes the current pending Take Profit targets


risk

Signals Type: entry
For Signal Providers: If sent, and the user has specified any risk value, only values below the user's value will open a position for them. The values go from 1 to 5, being 5 the riskier.

 

sellTTL

Signals Type: entry, update

If the position hasn't been wholly sold after this amount of seconds elapsed, the position will be closed selling
at current market price. It doesn't matter if the trailing stop is activated or several take profit targets have been reached. The position will be closed at the current market price.

 

signalId

Signals Type: entry, exit, reEntry, update

An ID that you can use to identify the positions that have been opened from a specific buy signal. Later, if you want to act against those positions (selling, rebuying), you need to use the same ID. The ideal scenario is to use unique IDs that you will store in your database, but when using services like TradivingView or tools like MT5, you can't keep track of the IDs. In this case, you can use the market symbol as ID.

For Signal Providers: a subscriber to this provider will need to check the option: Allow reusing the same signalId if there isn't any open position using it?

Also, if you need to re-use the IDs, you won't be able to have more than one position per market concurrently.

 

stopLossFollowsTakeProfit

Signals Type: entry, update
examples:
stopLossFollowsTakeProfit=true
{"key":"xxxx","stopLossFollowsTakeProfit":true,"type":"entry"...}
When a take profit order is completed, the stop loss will be updated to the previous take profit setting, if it was the first take profit, then it is updated to the entry point of the position.
Example:
stop-loss -10%
take profit 1: +10%
take profit 2: +20%
take profit 3: +30%
When the first take profit is completed, the stop loss is moved to the entry price plus 0.3% (allowing room for fees)
When the second take profit is completed, then the stop loss is moved to the first take profit target example: +10%, and so on until the position is closed,
It always updates to the previous take profit value.

 

stopLossPercentage

Signals Type: entry, update
The stop-loss price will be calculated from the buying price minus this percentage. You can use stopLossPrice directly.

For Signal Providers: If any of them aren't sent, the one from the general settings will be used.

 

stopLossPrice

Signals Type: entry
The stop-loss price used for closing your position if the price falls below this value. Take into consideration that even when you send a price, the system still works with percentage, getting this percentage from this value and the suggested buying price.

 

stopLossPriority

Signals Type: entry
percentage|price (default percentage) 
*For Copytraders (this parameter is not available for Signal Providers)

The system works in percentage, (as default) meaning when you use the above parameter 'stopLossPrice' the percentage from the entry price (or market price if any) is calculated and then it applies that percentage to the real entry price.

When you apply stopLossPriorty as (stopLossPriority = Price) it will now set your stoploss as an exact price instead of using the default percentage value. 

You can indicate your price including the 'stopLossPrice' parameter

example syntax:
{"key":"xxxx","type":"entry","pair":"ethusdt","exchange":"zignaly","orderType":"market",
"stopLossPriority":"price","stopLossPrice":"592","positionSizePercentage":"10","signalId":"a001"
}

 

stopLossToBreakEven

Signals Type: entry, update
examples:
stopLossToBreakEven=true
{"key":"xxxx","stopLossToBreakEven":true,"type":"entry"...}
Whenever a take profit is completed the stop loss is updated to the entry price of the position, plus 0.3% (allowing room for fees)

 

successRate

Signals Type: entry
For Signal Providers: If present and the user has specified the minimum success rate allowed, only if the value is above the user's setting, a position will be opened by that user. It’s a percentual value, so it goes from 0 to 100.

 

takeProfitAmountPercentage1

Signals Type: entry, update
You can send as many targets as you want, increase by one the final number for each new target. The % of units (coins) bought. If this parameter is missing, the system will divide 100% by all the targets. If you send three targets, it will be 100/3 per target. The total takeProfitAmountPercentage from all your targets must equal to 100.

 

takeProfitPercentage1

Signals Type: entry, update
You can send as many targets as you want, increase by one the final number for each new target. This parameter is the percentage that we would apply to the buying price to determine your target price.

For Signal Providers: To accept take-profits from the signal, the user has to check the following option from the provider's options: Accept Take Profits Values From the Entry Signal?

 

takeProfitPrice1

Signals Type: entry, update
You can send as many targets as you want, increase by one the final number for each new target. The price target at which the amount for this target will be sold. The take profits orders are placed in the exchange as soon as the buying order has been filled. Even when you send the price directly instead of the percentage, the system still works with percentage and will get it from this price value, and the suggested .
For Signal Providers: To accept take-profits from the signal, the user has to check the following option from the provider's options: Accept Take Profits Values From the Entry Signal?
 

takeProfitPriority

Signals Type: entry
percentage|price (default percentage) 

*For Copytraders (this parameter is not available for Signal Providers)
The system works in percentage, (as default) meaning when you use the above parameter 'takeProfitPrice1' the system calculates this price value in percentage from the buying price value.

When you apply takeProfitPriority as (takeProfitPriority = Price) it will now set your take profit as an exact price instead of using the default percentage value. 

You can indicate your price including the 'takeProfitPrice1' parameter.
*The priority parameter will affect all the takeProfit targets.

example syntax:
{"key":"xxxx","type":"entry","pair":"btcusdt","exchange":"zignaly","orderType":"market",
"takeProfitPriority":"price","takeProfitAmountPercentage1":"25",
"takeProfitPrice1":"25000","takeProfitAmountPercentage2":"75",
"takeProfitPrice2":"28000","positionSizePercentage":"10","signalId":"001"}

 

term

Signals Type: entry
For Signal Providers: short, short/mid, mid or long. If the term parameter is present, the position will be opened if the term is selected in the provider's options:


trailingStopDistancePercentage

Signals Type: entry, update
The percentage from the higher price at which the position will be closed if the price falls below it.

trailingStopTriggerPercentage

Signals Type: entry, update
The stop loss trigger price will be calculated from the buying price plus this percentage. You can use trailingStopTriggerPrice directly.

 

trailingStopTriggerPrice

Signals Type: entry, update
At this price, the trailing stop will be activated, meaning, the price will be watched, and if it falls below the trailingStopDistancePercentage, the position will be closed selling at the current market price. Even if you send this parameter instead of the trailingStopTriggerPercentage, the system still will work with percentage, getting it from this value and the suggested buying price.

For Signal Providers: If you don't send it, the one from the user's settings for this provider will be used.

 

trailingStopTriggerPriority

Signals Type: entry
percentage|price (default percentage) 
*For Copytraders (this parameter is not available for Signal Providers)

The system works in percentage, (as default) meaning when you use the above parameter 'trailingStopTriggerPrice' the system calculates this price value in percentage from the buying price value.

When you apply trailingStopTriggerPriority as (trailingStopTriggerPriority = Price) it will now set your trailing stop loss to be triggered at an exact price instead of using the default percentage value. 

You can indicate your price including the 'trailingStopTriggerPrice' parameter,

example syntax:
{"key":"xxxx","type":"entry","pair":"ethusdt","exchange":"zignaly","orderType":"market",
"trailingStopTriggerPriority":"price","trailingStopDistancePercentage":"3",
"trailingStopTriggerPrice":"610",
"positionSizePercentage":"10","signalId":"001"}

 

type

Signals Type: All of them
The type of signal that you are sending, the options are: entry, sell, reEntry, stop, start, disableMarket, enableMarket, and panicSell. Sell, reEntry, and panicSell

For Signal Providers: signals have to be accepted by the users subscribed to your provider in order to receive them.

 

 


 
Futures Signals

 

exchangeAccountType


Signals Type: All of them
This is required to specify futures


side

Signals Type: entry,exit
You must use this field to identify a Long or Short position

 

leverage

Signals Type: entry
Enter your leverage amount, if not using enter 1

 
For Signal Providers: You can send the leverage, however you need to accept the option of getting the leverage from the signal, in the provider's options:

 

Examples for an ENTRY, LONG position:

key=xxxxxxxxxxxxxxxxxxxx
pair=BTCUSDT‌‌

type=entry‌‌
exchange=binance‌

exchangeAccountType=futures

side=long‌‌

orderType=market‌‌

leverage=25‌

stopLossPercentage=-5‌

takeProfitPercentage1=10‌

takeProfitAmountPercentage1=100

signalId=xxxxx01

 

example syntax:
{"key":"YOURSECRETKEY","pair":"BTCUSDT","type":"entry","exchange":"binance",
"exchangeAccountType":"futures","side":"long","orderType":"market","leverage":"25",
"stopLossPercentage":"-5","takeProfitPercentage1":"10","takeProfitAmountPercentage1":"100",
"signalId":"xxxxx01"}

 

Examples for an Exit  position:

key=xxxxxxxxxxxxxxxxxxxx
pair=BTCUSDT
type=exit

exchange=binance‌

exchangeAccountType=futures

orderType=market‌‌

signalId=xxxxx01

 

example syntax:
{"key":"YOURSECRETKEY","pair":"BTCUSDT","type":"exit","exchange":"binance",
"exchangeAccountType":"futures","orderType":"market","signalId":"xxxxx01"}

 

 

 

 

 

Was this article helpful?
10 out of 12 found this helpful
Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.