支持范围
编程语言
回测系统支持以下语言编写的策略:JavaScript、TypeScript、Python、Rust、PINE语言、My语言、Blockly可视化、Workflow工作流。
- JavaScript策略(TypeScript先编译为JavaScript)在浏览器中回测,回测引擎以WebAssembly形式运行,不需要安装任何软件。JavaScript策略回测时可以在Chrome浏览器的DevTools中调试,见参考说明。
- Rust策略由平台服务器编译,编译结果在浏览器中回测;策略中通过frontmatter声明的第三方crate在编译时自动获取,本地不需要安装工具链。
- Python策略在托管者上回测,可以使用平台的公共服务器,也可以使用自己的托管者。回测与实盘都依赖托管者所在系统的Python 3环境,需要的第三方库要自行安装;公共服务器只提供常用的库。
- Workflow工作流策略回测时可以可视化查看各节点的执行状态和数据流转。
交易所
回测数据来自平台的历史数据,可以回测的交易所以回测页面中可选的为准(也可以通过MCP工具list_exchanges查看,backtest为true的交易所有历史数据)。
- 加密货币:主流交易所的现货和期货,例如Binance与Futures_Binance、OKX与Futures_OKX、HTX与Futures_HTX、Bybit与Futures_Bybit、Bitget与Futures_Bitget、GateIO与Futures_GateIO,支持交易所的全部品种。
- 富途证券(
Futures_Futu):港股、美股等市场。回测只支持日线级别数据,currency设置为STOCK,在策略中用exchange.SetContractType()设置股票代码:
javascript
/*backtest
start: 2024-05-01 00:00:00
end: 2025-02-17 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Futu","currency":"STOCK","fee":[0.03,0.03]}]
*/
function main() {
var info = exchange.SetContractType("TSLA.US") // 设置股票代码:特斯拉
Log("info:", info) // 合约信息:InstrumentID、PriceTick、LotTick、VolumeMultiple等
Log(exchange.GetTicker()) // 回测时间点的日线行情
}