JavaScript库
- http://mikemcl.github.io/decimal.js/javascriptfunction main() { var x = -1.2 var a = Decimal.abs(x) var b = new Decimal(x).abs() Log(a.equals(b)) // true var y = 2.2 var sum = Decimal.add(x, y) Log(sum.equals(new Decimal(x).plus(y))) // true }
- http://underscorejs.org/javascriptfunction main() { var sum = _.reduce([1, 2, 3], function(memo, num){return memo + num}, 0) Log(sum) }
- http://ta-lib.org/javascriptfunction main() { // 由于是测试代码,未使用商品期货策略的通用架构,此处仅判断exchange.IO("status")函数,确认连接期货公司前置机成功后立即执行测试代码。股票证券无需使用exchange.IO("status")判断连接状态 while (true) { if (exchange.IO("status")) { exchange.SetContractType("rb888") var records = exchange.GetRecords() // K线数据需要足够的长度才能计算指标 if (records && records.length > 100) { break } } Sleep(1000) } var r = exchange.GetRecords() // 打印所有指标数据,在优宽量化交易平台上,JavaScript语言策略已集成talib库 Log(talib.MACD(r)) Log(talib.MACD(r, 12, 26, 9)) }
- 动态加载JavaScript库
如需使用其他第三方JavaScript库,可通过以下方式动态加载:javascriptfunction 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} }