内置库
发明者量化交易平台内置了一些常用库。各语言可用情况:
| 库 | JavaScript / TypeScript | Python | Rust |
|---|---|---|---|
TA指标库 | 支持 | 支持 | 支持 |
talib指标库 | 支持 | 需在托管者所在机器安装 TA-Lib 和 numpy | 不支持 |
| JSON | 语言内置JSON | 标准库json | JSONParse()/JsonValue |
TA指标库
平台的TA指标库优化了常用指标算法(开源TA库代码)。K 线数量不足以计算指标时,对应位置返回无效值。
javascript
function main(){
var records = exchange.GetRecords()
var macd = TA.MACD(records)
var atr = TA.ATR(records, 14)
// 打印最后一组指标值
Log(macd[0][records.length-1], macd[1][records.length-1], macd[2][records.length-1])
Log(atr[atr.length-1])
}
rust
fn main() {
let r = exchange.GetRecords(None, None, None).unwrap();
let macd = TA.MACD(&r, None, None, None);
let atr = TA.ATR(&r, 14);
Log!(macd[0][r.len() - 1], macd[1][r.len() - 1], macd[2][r.len() - 1]);
Log!(atr[atr.len() - 1]);
}
talib指标库
javascript
function main() {
var records = exchange.GetRecords()
var cci = talib.CCI(records, 14)
Log(cci)
}
python
# Python 需要在托管者所在机器安装 TA-Lib 与 numpy,未安装时调用 talib 会报错提示安装
def main():
records = exchange.GetRecords()
cci = talib.CCI(records.High, records.Low, records.Close, 14)
Log(cci)
JavaScript:动态加载第三方库
其它第三方 JavaScript 库可以在运行时下载后用eval加载:
javascript
function main() {
// via. https://cdnjs.com/libraries
eval(HttpQuery("https://cdnjs.cloudflare.com/ajax/libs/mathjs/13.2.0/math.min.js"))
Log(math.round(math.e, 3)) // 2.718
Log(math.atan2(3, -3) / math.pi) // 0.75
Log(math.log(10000, 10)) // 4
Log(math.sqrt(-4)) // {"mathjs":"Complex","re":0,"im":2}
}