需要更新最新的托管者, 不支持回测, 只支持实盘
function main() { var cfg = { tooltip: { xDateFormat: '%Y-%m-%d %H:%M:%S, %A' }, title: { text: '平仓盈亏分析图' }, xAxis: { type: 'datetime' }, series: [{ name: '平仓盈亏', data: [], tooltip: { valueDecimals: 2 } }] } var chart = Chart(cfg); chart.reset(); Log("开始查询结算单...") var ts = new Date(StartDate + " 00:00:00") var te = new Date(EndDate + " 00:00:00"); var now = new Date(); if (te.getTime() > now.getTime()) { te = now; } var preDate = "" var AllProfit = 0 var AllCommission = 0; while (ts.getTime() < te.getTime()) { var day = _D(ts, "yyyyMMdd"); LogStatus("正在查询 " + day); r = _C(exchange.IO, "settlement", day) var m = r.Content.match(/Creation Date.\s*(\d+)/) if (m) { var date = m[1] m = r.Content.match(/Realized P\/L.\s*([\-\.\d]+)/) m2 = r.Content.match(/Commission.\s*([\-\.\d]+)/) if (m && m2 && preDate != date) { preDate = date var profit = parseFloat(m[1]) var commission = parseFloat(m2[1]) AllProfit += profit; AllCommission += commission cfg.subtitle = { text: '总平仓盈亏:' + _N(AllProfit) + ', 总手续费:' + _N(AllCommission) }; chart.update(cfg); chart.add([0, [ts.getTime(), profit]]); LogStatus("All Profit:", AllProfit); Log(date, "平仓盈亏", profit, "手续费", commission); } } Sleep(1000) ts = new Date(ts.getTime() + (24 * 60 * 60000)) } Log("查询完成, 总平仓盈亏:", _N(AllProfit), "总手续费:", _N(AllCommission)); }