diff --git a/Binance.TradeRobot.Model/Base/Enums.cs b/Binance.TradeRobot.Model/Base/Enums.cs index 7a8f251..a92006f 100644 --- a/Binance.TradeRobot.Model/Base/Enums.cs +++ b/Binance.TradeRobot.Model/Base/Enums.cs @@ -58,7 +58,7 @@ namespace Binance.TradeRobot.Model.Base /// /// 机器人状态 Stop=0,Runing=1 /// - public enum RobotStatus + public enum RobotState { Stop = 0, Runing = 1 @@ -114,6 +114,30 @@ namespace Binance.TradeRobot.Model.Base /// Gate_IO = 1 } + + /// + /// 借币状态 Loading=0 returned=1 + /// + public enum LoanState + { + Loaning, retured + } + + /// + /// 订单状态 + /// + public enum OrderState + { + Created + } + + /// + /// 交易方向 Buy=0,Sell=1 + /// + public enum TradeDirection + { + Buy, Sell + } #endregion } } diff --git a/Binance.TradeRobot.Model/Db/Order/ExecutionLog.cs b/Binance.TradeRobot.Model/Db/Order/ExecutionLog.cs new file mode 100644 index 0000000..41aac46 --- /dev/null +++ b/Binance.TradeRobot.Model/Db/Order/ExecutionLog.cs @@ -0,0 +1,24 @@ +using FreeSql.DataAnnotations; +using System; + +namespace Binance.TradeRobot.Model.Db +{ + + [Table(DisableSyncStructure = true)] + public partial class ExecutionLog { + + [ Column(IsPrimary = true)] + public long Id { get; set; } + + [Column(StringLength = 250, IsNullable = false)] + public string Content { get; set; } + + [Column(InsertValueSql = "getdate()")] + public DateTime CreateTime { get; set; } + + + public long RobotId { get; set; } + + } + +} diff --git a/Binance.TradeRobot.Model/Db/Order/LoanOrder.cs b/Binance.TradeRobot.Model/Db/Order/LoanOrder.cs new file mode 100644 index 0000000..05c59e1 --- /dev/null +++ b/Binance.TradeRobot.Model/Db/Order/LoanOrder.cs @@ -0,0 +1,54 @@ +using Binance.TradeRobot.Model.Base; +using FreeSql.DataAnnotations; +using System; + +namespace Binance.TradeRobot.Model.Db +{ + + [Table(DisableSyncStructure = true)] + public partial class LoanOrder + { + + [Column(IsPrimary = true)] + public long Id { get; set; } + + [Column(InsertValueSql = "getdate()")] + public DateTime CreateTime { get; set; } + + /// + /// 交易所Id + /// + + public int ExchangeId { get; set; } + + + [Column(MapType = typeof(int))] + public Enums.LoanState LoadState { get; set; } = Enums.LoanState.Loaning; + + /// + /// 借币金额 + /// + [Column(DbType = "decimal(18,8)")] + public decimal LoanAmount { get; set; } = 0.0M; + + /// + /// 借币利息 + /// + [Column(DbType = "decimal(18,8)")] + public decimal LoanFee { get; set; } = 0.0M; + + [Column(StringLength = 50, IsNullable = false)] + public string LoanOrderId { get; set; } + + + public DateTime ReturnTime { get; set; } + + + public long RobotId { get; set; } + + + public long SpotOrderId { get; set; } + + } + +} diff --git a/Binance.TradeRobot.Model/Db/Order/SpotOrder.cs b/Binance.TradeRobot.Model/Db/Order/SpotOrder.cs new file mode 100644 index 0000000..93dee84 --- /dev/null +++ b/Binance.TradeRobot.Model/Db/Order/SpotOrder.cs @@ -0,0 +1,99 @@ +using Binance.TradeRobot.Model.Base; +using FreeSql.DataAnnotations; +using System; + +namespace Binance.TradeRobot.Model.Db +{ + + [Table(DisableSyncStructure = true)] + public partial class SpotOrder + { + + [Column(IsPrimary = true)] + public long Id { get; set; } + + [Column(InsertValueSql = "getdate()")] + public DateTime CreateTime { get; set; } + + /// + /// 交易所Id + /// + + public int ExchangeId { get; set; } + + /// + /// 历史利润 + /// + [Column(DbType = "decimal(18,8)")] + public decimal HistoryTotalProfit { get; set; } = 0.0M; + + /// + /// 最后交易时间 + /// + + public DateTime? LastTradeTime { get; set; } + + /// + /// 交易策略 + /// + + public int PolicyType { get; set; } + + /// + /// 订单利润 + /// + [Column(DbType = "decimal(18,8)")] + public decimal Profit { get; set; } = 0.0M; + + + public long RobotId { get; set; } + + + [Column(MapType = typeof(int))] + public Enums.OrderState States { get; set; } + + [Column(MapType = typeof(int))] + public Enums.TradeDirection TradeDirection { get; set; } + + [Column(StringLength = 50, IsNullable = false)] + public string Symbol { get; set; } + + /// + /// 成交总额 + /// + [Column(DbType = "decimal(18,8)")] + public decimal TradeAmount { get; set; } = 0.0M; + + /// + /// 交易次数 + /// + + public int TradeCount { get; set; } = 0; + + /// + /// 手续费 + /// + [Column(DbType = "decimal(18,8)")] + public decimal TradeFee { get; set; } = 0.0M; + + /// + /// 交易手续费单位 + /// + [Column(StringLength = 15, IsNullable = false)] + public string TradeFeeUnit { get; set; } + + /// + /// 成交均价 + /// + [Column(DbType = "decimal(18,8)")] + public decimal TradePrice { get; set; } = 0.0M; + + /// + /// 交易量 + /// + [Column(DbType = "decimal(18,8)")] + public decimal TradeQuantity { get; set; } + + } + +} diff --git a/Binance.TradeRobot.Model/Db/Policy/Spot/D21Policy.cs b/Binance.TradeRobot.Model/Db/Policy/Spot/D21Policy.cs new file mode 100644 index 0000000..a3c4403 --- /dev/null +++ b/Binance.TradeRobot.Model/Db/Policy/Spot/D21Policy.cs @@ -0,0 +1,63 @@ +using Binance.TradeRobot.Model.Base; +using FreeSql.DataAnnotations; +using System; + +namespace Binance.TradeRobot.Model.Db +{ + + [Table(DisableSyncStructure = true)] + public partial class D21Policy + { + + [Column(IsPrimary = true)] + public long Id { get; set; } + + [Column(InsertValueSql = "getdate()")] + public DateTime CreateTime { get; set; } + + /// + /// 执行模式 + /// + + public int ExecutionMode { get; set; } = 0; + + /// + /// 是否开启增购 + /// + + public bool IsEnabledIncreasePurchase { get; set; } = true; + + /// + /// 是否开启错误信号补救 + /// + + public bool IsEnableRemedyForErrorCrossSignal { get; set; } = true; + + /// + /// 最大追高比例 + /// + [Column(DbType = "decimal(18,2)")] + public decimal MaxFollowPurchaseRatio { get; set; } = 0.0M; + + /// + /// 信号周期 + /// + + public Enums.SignalPeriod PeriodicSignal { get; set; } + + /// + /// 仓位 + /// + [Column(DbType = "decimal(18,8)")] + public decimal Position { get; set; } = 0.0M; + + + public long RobotId { get; set; } + + /// + /// 止损比例 + /// + public decimal StopLossRatio { get; set; } + } + +} diff --git a/Binance.TradeRobot.Model/Db/Robot/Robot.cs b/Binance.TradeRobot.Model/Db/Robot/Robot.cs index 99878cd..023481a 100644 --- a/Binance.TradeRobot.Model/Db/Robot/Robot.cs +++ b/Binance.TradeRobot.Model/Db/Robot/Robot.cs @@ -24,7 +24,7 @@ namespace Binance.TradeRobot.Model.Db public long RunningTime { get; set; } = 0; [Column(MapType = (typeof(int)))] - public Enums.RobotStatus State { get; set; } + public Enums.RobotState State { get; set; } [Column(StringLength = 50, IsNullable = false)] public string Symbol { get; set; } diff --git a/Binance.TradeRobot.Model/Db/代码生成/__重新生成.bat b/Binance.TradeRobot.Model/Db/代码生成/__重新生成.bat index 9a24191..00aec37 100644 --- a/Binance.TradeRobot.Model/Db/代码生成/__重新生成.bat +++ b/Binance.TradeRobot.Model/Db/代码生成/__重新生成.bat @@ -1 +1 @@ -FreeSql.Generator -Razor 1 -NameOptions 1,0,0,0 -NameSpace Binance.TradeRobot.Model.Db -DB "SqlServer,data source=18.179.56.42;initial catalog=Binance.TradeRobot.DB;User Id=sa;Password=kaicn1132+-;TrustServerCertificate=true;pooling=true;max pool size=2" -FileName "{name}.cs" +FreeSql.Generator -Razor 1 -NameOptions 1,0,0,0 -NameSpace Binance.TradeRobot.Model.Db -DB "SqlServer,data source=.;initial catalog=Binance.TradeRobot.DB;User Id=sa;Password=pc911103;TrustServerCertificate=true;pooling=true;max pool size=2" -FileName "{name}.cs"