using Binance.TradeRobot.Model.Base; using System; namespace Binance.TradeRobot.Model.Dto { public class RobotResponse { public long Id { get; set; } public DateTime CreateTime { get; set; } public Enums.TradePolicy TradePolicy { get; set; } /// /// 运行时长(s) /// public long RunningTime { get; set; } = 0; public Enums.RobotState State { get; set; } public string Symbol { get; set; } public Enums.BusinessType BusinessType { get; set; } public Enums.Exchange ExchangeId { get; set; } public virtual string ExecuteKey { get { return $"Execute-{ExchangeId}-{TradePolicy}-{Symbol}"; } } public virtual string KLineKey { get { return $"KLine-{ExchangeId}-{BusinessType}-{Symbol}"; } } /// /// 订单推送监听实例Key /// public virtual string OrderPublishListenKey { get { string key = string.Empty; if (ExchangeId == Enums.Exchange.Binance) { if (BusinessType == Enums.BusinessType.IsolateMargin) key = $"{BusinessType}-{ExchangeAPIKey.AccountId}-{Symbol}"; //币安逐仓杠杆,同一个账户内的每个交易对需要区分websocket实例 else key = $"{BusinessType}-{ExchangeAPIKey.AccountId}"; //币安现货,币安合约,同一个账户内不区分websocket实例 } return $"OrderPublish(Origin)-{ExchangeId}-{key}"; } } /// /// 订单推送日志Key /// public virtual string OrderPublishLogKey { get { return $"OrderPublish-{ExchangeId}-{BusinessType}-{Symbol}"; } } public SymbolInfoResponse SymbolInfo { get; set; } /// /// 机器人账户对象 /// public RobotAccountResponse RobotAccount { get; set; } /// /// 机器人绑定的交易所APIKey对象 /// public SimpleExchangeAPIKeyResponse ExchangeAPIKey { get; set; } } }