syntax = "proto3"; import "google/protobuf/struct.proto"; import "api/pub.proto"; option go_package = "./pb"; service TradingService { rpc IndicatorSeries(ReqIndicatorSeries) returns (RspIndicatorSeries); // 获取指标序列 rpc StrategySeries(ReqStrategySeries) returns (RspStrategySeries); // 获取指标序列 rpc Backtest(ReqBacktest) returns (RspBacktest); // 交易计划回测 rpc BacktestLog(ReqBacktestLog) returns (RspBacktestLog); // 交易计划回测记录 rpc BacktestLogTrades(ReqBacktestLogTrades) returns (RspBacktestLogTrades); // 交易计划回测交易单详情 } message ReqIndicatorSeries { string indicator = 1; int32 digit = 2; // 结果小数位数 SeriesRange series = 9; google.protobuf.Struct input = 10; // 指标参数 } message RspIndicatorSeries { repeated double matrix = 1; repeated int64 times = 2; } message ReqStrategySeries { SeriesRange series = 1; string sigStrategy = 2; google.protobuf.Struct input = 3; // 指标参数 } message RspStrategySeries { repeated Side signal = 1; // 0.sell,1.buy repeated int64 times = 2; } message ReqBacktest { int64 planId = 1; string stime = 2; string etime = 3; } message RspBacktest { int64 backtestId = 1; } message BacktestLog { int64 backtestId = 1; int64 planId = 2; int64 stime = 3; int64 etime = 4; string interval = 5; // 交易周期 } message ReqBacktestLog { Paging paging = 1; } message RspBacktestLog { repeated BacktestLog logs = 1; } message BacktestTrade { int64 id = 1; int64 ctime = 2; // 交易时间 } message ReqBacktestLogTrades { Paging paging = 1; int64 backtestId = 2; } message RspBacktestLogTrades { repeated BacktestTrade trades = 1; }