Browse Source

解决循环依赖问题

master
shanji 3 years ago
parent
commit
ca7115c423
  1. 3
      Binance.TradeRobot.Business/Binance.TradeRobot.Business.xml
  2. 5
      Binance.TradeRobot.Business/Business/OrderPublishBusiness/Spot/D21OrderPublishBusiness.cs
  3. 2
      Binance.TradeRobot.Business/Business/RobotBusiness.cs
  4. 12
      Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml
  5. 47
      Binance.TradeRobot.Model/Dto/Response/Robot/RobotResponse.cs

3
Binance.TradeRobot.Business/Binance.TradeRobot.Business.xml

@ -51,10 +51,11 @@
<param name="accountId">交易所账号Id</param>
<returns></returns>
</member>
<member name="M:Binance.TradeRobot.Business.RobotBusiness.GetD21PolicyRobotList(System.Nullable{Binance.TradeRobot.Model.Base.Enums.RobotState},System.Nullable{Binance.TradeRobot.Model.Base.Enums.SignalPeriod},System.String,System.Boolean,System.Boolean)">
<member name="M:Binance.TradeRobot.Business.RobotBusiness.GetD21PolicyRobotList(System.Nullable{System.Int64},System.Nullable{Binance.TradeRobot.Model.Base.Enums.RobotState},System.Nullable{Binance.TradeRobot.Model.Base.Enums.SignalPeriod},System.String,System.Boolean,System.Boolean)">
<summary>
获取动2.1策略机器人列表
</summary>
<param name="robotId"></param>
<param name="robotState">机器人状态</param>
<param name="signalPeriod">信号周期</param>
<param name="symbol">交易对</param>

5
Binance.TradeRobot.Business/Business/OrderPublishBusiness/Spot/D21OrderPublishBusiness.cs

@ -14,11 +14,10 @@ namespace Binance.TradeRobot.Business
internal class D21OrderPublishBusiness : BaseSpotOrderPublishBusiness, ISpotOrderPublishBusiness
{
public Enums.TradePolicy TradePolicy => Enums.TradePolicy.D21;
private RobotBusiness robotBusiness;
public D21OrderPublishBusiness(IFreeSql fsql, NLogManager logManager, IIdGenerator idGenerator, IMemoryCache memoryCache, DingBusiness dingBusiness, RobotBusiness robotBusiness) : base(fsql, logManager, idGenerator, memoryCache, dingBusiness)
public D21OrderPublishBusiness(IFreeSql fsql, NLogManager logManager, IIdGenerator idGenerator, IMemoryCache memoryCache, DingBusiness dingBusiness) : base(fsql, logManager, idGenerator, memoryCache, dingBusiness)
{
this.robotBusiness = robotBusiness;
}

2
Binance.TradeRobot.Business/Business/RobotBusiness.cs

@ -207,7 +207,7 @@ namespace Binance.TradeRobot.Business
/// <param name="isLoadRecentTradeProfit">是否加载近期交易利润,默认true</param>
/// <param name="isLoadAPIKey">是否加载机器人绑定的APIKey,默认false</param>
/// <returns></returns>
public IList<D21PolicyRobotResponse> GetD21PolicyRobotList(long? robotId,
public IList<D21PolicyRobotResponse> GetD21PolicyRobotList(long? robotId = null,
Enums.RobotState? robotState = null,
Enums.SignalPeriod? signalPeriod = null,
string symbol = "",

12
Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml

@ -739,12 +739,6 @@
运行时长(s)
</summary>
</member>
<member name="P:Binance.TradeRobot.Model.Dto.RobotResponse.OrderPublishKey">
<summary>
订单推送监听实例Key
<para>币安逐仓杠杆需要单独的运行实例</para>
</summary>
</member>
<member name="P:Binance.TradeRobot.Model.Dto.RobotResponse.SymbolInfo">
<summary>
订单推送日志Key
@ -760,6 +754,12 @@
机器人绑定的交易所APIKey对象
</summary>
</member>
<member name="P:Binance.TradeRobot.Model.Dto.RobotResponse.OrderPublishKey">
<summary>
订单推送监听实例Key
<para>币安逐仓杠杆需要单独的运行实例</para>
</summary>
</member>
<member name="P:Binance.TradeRobot.Model.Dto.UserAccountFundChangeRecordResponse.UserName">
<summary>
资金变更用户名

47
Binance.TradeRobot.Model/Dto/Response/Robot/RobotResponse.cs

@ -5,6 +5,11 @@ namespace Binance.TradeRobot.Model.Dto
{
public class RobotResponse
{
public RobotResponse()
{
}
public long Id { get; set; }
public DateTime CreateTime { get; set; }
public Enums.TradePolicy TradePolicy { get; set; }
@ -22,25 +27,6 @@ namespace Binance.TradeRobot.Model.Dto
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}"; } }
/// <summary>
/// 订单推送监听实例Key
/// <para>币安逐仓杠杆需要单独的运行实例</para>
/// </summary>
public virtual string OrderPublishKey
{
get
{
string key = $"{BusinessType}-{ExchangeAPIKey.AccountId}"; //币安现货,币安合约,同一个账户内不区分websocket实例
if (ExchangeId == Enums.Exchange.Binance && BusinessType == Enums.BusinessType.IsolateMargin)
key = $"{BusinessType}-{ExchangeAPIKey.AccountId}-{Symbol}"; //币安逐仓杠杆,同一个账户内的每个交易对需要区分websocket实例
return $"OrderPublish-{ExchangeId}-{key}";
}
}
/// <summary>
/// 订单推送日志Key
/// </summary>
@ -63,5 +49,28 @@ namespace Binance.TradeRobot.Model.Dto
/// 机器人绑定的交易所APIKey对象
/// </summary>
public SimpleExchangeAPIKeyResponse ExchangeAPIKey { get; set; }
public string ExecuteKey { get { return $"Execute-{ExchangeId}-{TradePolicy}-{Symbol}"; } }
public string KLineKey { get { return $"KLine-{ExchangeId}-{BusinessType}-{Symbol}"; } }
/// <summary>
/// 订单推送监听实例Key
/// <para>币安逐仓杠杆需要单独的运行实例</para>
/// </summary>
public string OrderPublishKey
{
get
{
if (State == Enums.RobotState.Runing && ExchangeAPIKey != null)
{
string key = $"{BusinessType}-{ExchangeAPIKey.AccountId}"; //币安现货,币安合约,同一个账户内不区分websocket实例
if (ExchangeId == Enums.Exchange.Binance && BusinessType == Enums.BusinessType.IsolateMargin)
key = $"{BusinessType}-{ExchangeAPIKey.AccountId}-{Symbol}"; //币安逐仓杠杆,同一个账户内的每个交易对需要区分websocket实例
return $"OrderPublish-{ExchangeId}-{key}";
}
return string.Empty;
}
}
}
}

Loading…
Cancel
Save