Download OpenAPI specification:
QTSurfer backend services API
This set of endpoints allows interaction with various exchanges for cryptocurrencies and financial assets. With these endpoints, users can access information about available exchanges, retrieve the instruments (currency pairs or assets) offered by each exchange, and perform analyses on them. The data provided by these endpoints is crucial for strategic decision-making within the trading platform.
Key functionalities:
The backtest endpoints enable users to test trading strategies based on historical data before applying them in real-time trading. This functionality is essential for traders who want to evaluate the performance of a strategy under past market conditions and optimize it before implementing it in a live trading environment.
Key functionalities:
This endpoint prepares backtesting data (e.g., tickers) for an exchange. The user must provide a date range and a list of instruments to prepare for execution of backtests.
| exchangeId required | string Example: binance ID of the exchange to prepare the backtesting for |
| type required | string (DataSourceType) Enum: "ticker" "kline" "frate" Example: ticker The type of data source to prepare from |
The required data to prepare a backtesting
| from | string Start date for the preparation process. Supports the following formats:
|
| to | string End date for the preparation process. Supports the following formats:
|
| instruments | Array of strings (Instrument) List of instruments (e.g., currency pairs) to include in the preparation |
{- "from": "2024-12-13T00:00:00Z",
- "to": "2024-12-14",
- "instruments": [
- "BTC/USDT"
]
}{- "requestId": "13RBLGQlPnfDjO6wyKSX8i",
- "jobs": {
- "BTC/USDT": "2o8heaioicr0edvx5ybcap"
}
}This endpoint retrieves the status of a backtest preparation job for a specific exchange and data source type using the provided request ID.
| exchangeId required | string Example: binance ID of the exchange for the backtesting process |
| type required | string (DataSourceType) Enum: "ticker" "kline" "frate" Example: ticker The type of data source to prepare from |
| requestId required | string Example: 13RBLGQlPnfDjO6wyKSX8i Unique identifier for the backtesting preparation job request |
[- {
- "contextId": "jctx:ticker:4a627755-7f5a-4297-b647-8dddd8aee416:binance:1rabbrpk5r4kkegs83w6qr:btc/usdt:0bjmoxd4vahkgc0hnvdldh",
- "status": "Completed",
- "statusDetail": null,
- "size": 0,
- "completed": 0,
- "startTime": null,
- "endTime": null
}
]This endpoint executes a strategy backtesting for a specific exchange, data source type using the provided request ID.
| exchangeId required | string Example: binance ID of the exchange for the backtesting process |
| type required | string (DataSourceType) Enum: "ticker" "kline" "frate" Example: ticker The type of data source to execute from |
| requestId required | string Example: 13RBLGQlPnfDjO6wyKSX8i Unique identifier for the backtesting prepared job request |
The required data to execute a backtesting
| strategyId | string (strategyId) Unique identifier for a compiled strategy |
{- "strategyId": "6bsh31ikwkuivhtgcoa6s4"
}{- "requestId": "13RBLGQlPnfDjO6wyKSX8i",
- "jobs": {
- "BTC/USDT": "2o8heaioicr0edvx5ybcap"
}
}This endpoint retrieves the results of a backtest execution job for a specific exchange and data source type using the provided request ID.
| exchangeId required | string Example: binance ID of the exchange for the backtesting process |
| type required | string (DataSourceType) Enum: "ticker" "kline" "frate" Example: ticker The type of data source to execute from |
| requestId required | string Example: 13RBLGQlPnfDjO6wyKSX8i Unique identifier for the backtesting execution job request |
[- {
- "state": null,
- "contextId": "jctx:ticker:qtsurfer:binance:1vw1rjqz1matugxe0clxeb:btc/usdt:4wuaga9b4uhkbiipuka7bm",
- "status": "Completed",
- "statusDetail": null,
- "size": 0,
- "completed": 78682,
- "startTime": "2025-03-02T19:27:55.548Z",
- "endTime": "2025-03-02T19:27:58.053Z"
}, - {
- "results": null,
- "hostName": "backtesting-job-worker-dg5qv",
- "iops": 33498.14,
- "strategyId": "strategy:qtsurfer:ticker:6bsh31ikwkuivhtgcoa6s4",
- "instrument": "BTC/USDT",
- "signalsId": "6kdzSqd1GChojQAaMrw87L"
}
]The strategy endpoints allow users to submit, compile, and validate trading strategies within the platform. This feature is crucial for traders who develop automated trading systems and wish to ensure their strategy is both executable and effective before deploying it in a live/backtesting environment.
Key functionalities:
The strategy code to be submitted for validation
The raw strategy code submitted by the user
{- "strategyId": "6bsh31ikwkuivhtgcoa6s4"
}