From afe5cecb1a084707cf9d337d16be3ba17963adad Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Wed, 11 May 2022 19:38:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=AE=A2=E5=8D=95=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Binance.TradeRobot.Business.xml | 7 +++++ .../TradeBusiness/D21TradeBusiness.cs | 18 +++++++++++- Binance.TradeRobot.Model/Base/Enums.cs | 29 +++++++++++++++++-- .../Binance.TradeRobot.Model.xml | 15 ++++++++++ .../Db/Order/SpotOrder.cs | 2 +- 5 files changed, 66 insertions(+), 5 deletions(-) diff --git a/Binance.TradeRobot.Business/Binance.TradeRobot.Business.xml b/Binance.TradeRobot.Business/Binance.TradeRobot.Business.xml index dcda4d5..f9c37ab 100644 --- a/Binance.TradeRobot.Business/Binance.TradeRobot.Business.xml +++ b/Binance.TradeRobot.Business/Binance.TradeRobot.Business.xml @@ -144,5 +144,12 @@ + + + 获取指定交易对现货最新成交价 + + + + diff --git a/Binance.TradeRobot.Business/Business/TradeBusiness/D21TradeBusiness.cs b/Binance.TradeRobot.Business/Business/TradeBusiness/D21TradeBusiness.cs index 70266fd..49713a2 100644 --- a/Binance.TradeRobot.Business/Business/TradeBusiness/D21TradeBusiness.cs +++ b/Binance.TradeRobot.Business/Business/TradeBusiness/D21TradeBusiness.cs @@ -20,7 +20,7 @@ namespace Binance.TradeRobot.Business { private DingBusiness dingBusiness; private GlobalContext globalContext; - + private IList validStateList; public Enums.TradePolicy TradePolicy => Enums.TradePolicy.D21; public D21TradeBusiness(IFreeSql fsql, @@ -32,6 +32,12 @@ namespace Binance.TradeRobot.Business { this.dingBusiness = dingBusiness; this.globalContext = globalContext; + validStateList = new List() + { + Enums.SpotOrderState.Filled, + Enums.SpotOrderState.PartiallyFilled, + Enums.SpotOrderState.Expired + }; } public void TrendChanged(T singalRequest, T1 robot) where T : BaseSingalRequest where T1 : RobotResponse @@ -121,6 +127,16 @@ namespace Binance.TradeRobot.Business } } #endregion + + #region 计算下单数量 + var recentSellOrder = fsql.Select().Where(o => o.RobotId == robot.Id && + o.TradeDirection == Enums.TradeDirection.Sell && + validStateList.Contains(o.State)) + .OrderByDescending(o => o.LastTradeTime) + .ToOne(); + + #endregion + } catch (Exception ex) { diff --git a/Binance.TradeRobot.Model/Base/Enums.cs b/Binance.TradeRobot.Model/Base/Enums.cs index c947a3e..9d165e7 100644 --- a/Binance.TradeRobot.Model/Base/Enums.cs +++ b/Binance.TradeRobot.Model/Base/Enums.cs @@ -110,11 +110,34 @@ namespace Binance.TradeRobot.Model.Base } /// - /// 订单状态 + /// 现货订单订单状态 /// - public enum OrderState + public enum SpotOrderState { - Created + /// + /// 已创建 + /// + Created, + /// + /// 部分成交 + /// + PartiallyFilled, + /// + /// 完全成交 + /// + Filled, + /// + /// 用户取消 + /// + Canceled, + /// + /// 拒绝 + /// + Rejected, + /// + /// 交易引擎取消 没有完全成交 + /// + Expired } /// diff --git a/Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml b/Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml index fe5eca9..0b1c0fd 100644 --- a/Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml +++ b/Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml @@ -707,5 +707,20 @@ 最近一次小趋势信号 + + + 错误的交叉信号 + + + + + 错误交叉信号的K线时间戳 + + + + + 最近一次空交叉时的成交价 + + diff --git a/Binance.TradeRobot.Model/Db/Order/SpotOrder.cs b/Binance.TradeRobot.Model/Db/Order/SpotOrder.cs index f0bef2c..9fd3119 100644 --- a/Binance.TradeRobot.Model/Db/Order/SpotOrder.cs +++ b/Binance.TradeRobot.Model/Db/Order/SpotOrder.cs @@ -50,7 +50,7 @@ namespace Binance.TradeRobot.Model.Db [Column(MapType = typeof(int), DbType = "int")] - public Enums.OrderState State { get; set; } + public Enums.SpotOrderState State { get; set; } [Column(MapType = typeof(int), DbType = "int")] public Enums.TradeDirection TradeDirection { get; set; }