TypeScript
TypeScript 不是单独的语言选项:创建策略时选择JavaScript,在代码中加入一行// @ts-check(或点击策略编辑区右上角的「TypeScript」按钮),平台就按 TypeScript 处理,在回测和实盘运行前先编译为 JavaScript。通过 AI/MCP 工具保存策略时,语言可以直接写typescript,平台按 JavaScript 策略保存,并在代码开头自动加上//@ts-check,见 AI接入。
静态类型检查能在编写时发现参数个数、属性名、类型用错之类的问题,编辑器的补全也更准确。
最小示例:
ts
// @ts-check
interface Signal {
side: "buy" | "sell"
price: number
}
function getSignal(ticker: ITicker, ma: number): Signal | null {
if (ticker.Last > ma) {
return {side: "buy", price: ticker.Last}
}
if (ticker.Last < ma) {
return {side: "sell", price: ticker.Last}
}
return null
}
function main() {
while (true) {
const records = exchange.GetRecords()
const ticker = exchange.GetTicker()
if (records && ticker && records.length > 20) {
const ma = TA.MA(records, 20)
const signal = getSignal(ticker, ma[ma.length - 1])
if (signal) {
Log(signal.side, signal.price)
}
}
Sleep(60 * 1000)
}
}
平台 API 的类型声明由策略编辑器内置提供,不需要在代码中引用:全局函数、exchange对象、ITicker、IRecord、IOrder、IPosition等数据结构接口,以及TA、talib等。运行时的语言特性、API 和库与 JavaScript 策略相同,见 JavaScript。