Available translations

Crypto Exchange

foundations.png
crypto-exchange.png
A crypto exchange node holds the definitions of assets and markets in a specific exchange.
Configuring
Tested Exchanges
In theory, Superalgos supports dozens of exchanges. However, each exchange must go through a testing process, as not all of them conform to the standard proposed by the CCXT library.
  • Binance Futures USDⓈ-M/COIN-M Test Status
Crypto Exchange Configuration
Each exchange may require a very specific configuration. This is determined during the exchange testing process. Consult the page of each exchange as listed above. If you are interested in testing a new exchange, go to the How to Test New Exchanges page.
Properties and Parameters
Superalgos uses CCXT (CryptoCurrency eXchange Trading Library) to connect to exchanges. It supports hundreds of exchanges to which it connects through APIs created on the exchange by the user. One of the best feature of ccxt is that it is exchange agnostic. Whether you trade on FTX or Bybit the process to connect to the exchange is the same. The library accepts many parameters to fine tune the connection when needed. For well supported exchanges like Binance, all you need to connect to the exchange is to declare the codeName that is the name of the exchange you want to use, usually in lowercase letters.
  • codeName is the name of the exchange as handled in the code of the system.
  • sandBox some exchanges have a so called testnet/sandBox mode that enables traders to try out all the exchange features in a simulated environment. Set it to true to enable it. Please note that some exchanges (like Bittrex for example) can throw an error with this parameter set to false. Simply delete that line in such cases.
  • maxRate sets the maximum number of OHCLV that is pulled before the data is saved. This is only to be used when the exchange is kicking out the data-mine randomly and to allow to the user to save the data more often allowing for the data mining to move forward.
  • rateLimit to override the default value set by ccxt library.
  • limit: could be required by some exchanges in order to properly connect.
  • options: used as an object to pass aditional parameters to the exchange, for example when trading an inverse pair.
  • hostname: to set custom hostname for the exchange.
Example of use:
 {
    "codeName": "bybit",
    "limit": 50,
    "options": {
        "adjustForTimeDifference": "true",
        "defaultType": "inverse"
    }
}
Some exchanges do not accept a standard configuration for fetching candles. In this case a possible solution can be to use a different method to fetch candles. API holds a series of definitions used only in the case in which the sensor bot fetches trades (using the Historic-Trades process) instead of the OHLCV process that fetches one-minute candles and is the current default. In such a case, finding the right set of parameters to work with a specific exchange may be challenging and involves understanding how the exchanges API and the CCXT Library API work. In other words, there is no hard rule as of what each of the values should be. Determining each of this values requires exploring the exchange's API documentation, as well as the documentation of the CCXT Library. To enable the API use, first declare its use to have access to all its parameters.
  • API.method fetch_ohlcv is required to enable the API parameters use
  • API.class is used for declaring the "exchangeId"
  • API.fetchOHLCVsMethod to use the fetchOHLCVsMethod
  • API.firstId to declare the firstId
  • API.rateLimit to change the default rateLimit
  • API.limit to change the default exchange limit parameter
  • API.hostname to change the default hostname
  • API.fetchType is used in combination with API.useFetchTradesForFetchOHLCVs
  • API.maxTradesPerFetch to set the maxRate when using API
Example of use:
 {
    "codeName": "exchangeName",
    "API": [
        {
            "method": "fetch_ohlcv",
            "limit": 100
        }
    ]
}
Initial Values
These are the Initial Values for Crypto Exchange configuration:
 {
    "codeName": "Type_the_name_of_the_exchange",
    "sandBox": "false"
}
Examples
This is a list of properties featured by the Crypto Exchange configuration. Expanding a property shows sample values for the property extracted from the current Workspace.
Crypto Exchange Menu
The Crypto Exchange node has the following Node Menu items:
The Configure menu item has the following properties:
  • action: Configure Thise
  • actionFunction: uiObject.configEditor.activate
  • label: Configure
  • iconPathOn: configuration
  • iconPathOff: configuration
The Add Exchange Assets menu item has the following properties:
  • action: Add UI Object
  • disableIfPropertyIsDefined: true
  • propertyToCheckFor: exchangeAssets
  • label: Add Exchange Assets
  • actionFunction: payload.executeAction
  • actionProject: Visual-Scripting
  • relatedUiObjectProject: Foundations
The Add Exchange Markets menu item has the following properties:
  • action: Add UI Object
  • disableIfPropertyIsDefined: true
  • propertyToCheckFor: exchangeMarkets
  • label: Add Exchange Markets
  • actionFunction: payload.executeAction
  • actionProject: Visual-Scripting
  • relatedUiObjectProject: Foundations
The Add Exchange Accounts menu item has the following properties:
  • action: Add UI Object
  • disableIfPropertyIsDefined: true
  • propertyToCheckFor: exchangeAccounts
  • label: Add Exchange Accounts
  • actionFunction: payload.executeAction
  • actionProject: Visual-Scripting
  • relatedUiObjectProject: Foundations
The Delete menu item has the following properties:
  • action: Delete UI Object
  • actionProject: Visual-Scripting
  • askConfirmation: true
  • confirmationLabel: Confirm to Delete
  • label: Delete
  • iconPathOn: delete-entity
  • iconPathOff: delete-entity
  • actionFunction: payload.executeAction
Crypto Exchange Children
The Crypto Exchange node has the following childrenNodesProperties:
The Exchange Assets node property features the following properties:
  • name: exchangeAssets
  • type: node
  • autoAdd: true
The Exchange Markets node property features the following properties:
  • name: exchangeMarkets
  • type: node
  • autoAdd: true
The Exchange Accounts node property features the following properties:
  • name: exchangeAccounts
  • type: node
  • autoAdd: true
Crypto Exchange Attaching Rules
The following are the Node Attaching Rules that govern the attachment of Crypto Exchange with other nodes:
Compatible Types: