From 9f30fe3abba4a5861c3989ea3f52639662fc04fb Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Sun, 27 Feb 2022 03:02:57 +0800
Subject: [PATCH] =?UTF-8?q?Model=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Binance.SDK.Test/Binance.SDK.Test.csproj | 12 ++++
Binance.SDK.Test/Program.cs | 27 ++++++++
Binance.SDK/BinanceContractTest.cs | 13 +---
Binance.TradeRobot.API.sln | 8 ++-
Binance.TradeRobot.Model/Base/Enums.cs | 66 +++++++++++++++----
.../Binance.TradeRobot.Model.csproj | 4 ++
.../Binance.TradeRobot.Model.xml | 45 ++++++++++---
.../Db/Exchange/ExchangeAPIKey.cs | 31 +++++++++
.../Db/Exchange/ExchangeAccount.cs | 37 +++++++++++
.../Db/Policy/UPrep/PyramidPolicy.cs | 19 ++++++
Binance.TradeRobot.Model/Db/Robot/Robot.cs | 37 +++++++++++
.../Db/代码生成/__重新生成.bat | 2 +-
12 files changed, 263 insertions(+), 38 deletions(-)
create mode 100644 Binance.SDK.Test/Binance.SDK.Test.csproj
create mode 100644 Binance.SDK.Test/Program.cs
create mode 100644 Binance.TradeRobot.Model/Db/Exchange/ExchangeAPIKey.cs
create mode 100644 Binance.TradeRobot.Model/Db/Exchange/ExchangeAccount.cs
create mode 100644 Binance.TradeRobot.Model/Db/Policy/UPrep/PyramidPolicy.cs
create mode 100644 Binance.TradeRobot.Model/Db/Robot/Robot.cs
diff --git a/Binance.SDK.Test/Binance.SDK.Test.csproj b/Binance.SDK.Test/Binance.SDK.Test.csproj
new file mode 100644
index 0000000..00f65d9
--- /dev/null
+++ b/Binance.SDK.Test/Binance.SDK.Test.csproj
@@ -0,0 +1,12 @@
+
+
+
+ Exe
+ netcoreapp3.1
+
+
+
+
+
+
+
diff --git a/Binance.SDK.Test/Program.cs b/Binance.SDK.Test/Program.cs
new file mode 100644
index 0000000..e7af04f
--- /dev/null
+++ b/Binance.SDK.Test/Program.cs
@@ -0,0 +1,27 @@
+using Binance.Net.Clients;
+using Binance.Net.Objects;
+using CryptoExchange.Net.Authentication;
+using System;
+
+namespace Binance.SDK.Test
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ var apiKey = "muiZ1IA2sPMQ2m0YFPubEvZepjzn2nxeuPHqQ6mejKVXljYDQTOIYbm22NlXxKcv";
+ var apiSecret = "3Clur3D1hDeZYhtVSJzPBiEBb7S0ktC8WpaRQ3F7ysQe55kbsPTBZ6U4X9XsX4Ww";
+ var client = new BinanceClient(new BinanceClientOptions()
+ {
+ UsdFuturesApiOptions = new BinanceApiClientOptions()
+ {
+ BaseAddress = "https://fapi.binance.com",
+ ApiCredentials = new ApiCredentials(apiKey, apiSecret)
+ }
+ });
+
+ var result = client.UsdFuturesApi.Account.GetBalancesAsync().Result;
+ Console.WriteLine(result);
+ }
+ }
+}
diff --git a/Binance.SDK/BinanceContractTest.cs b/Binance.SDK/BinanceContractTest.cs
index d82cedd..41041f9 100644
--- a/Binance.SDK/BinanceContractTest.cs
+++ b/Binance.SDK/BinanceContractTest.cs
@@ -8,18 +8,7 @@ namespace Binance.SDK
{
public BinanceContractTest()
{
- var apiKey = "muiZ1IA2sPMQ2m0YFPubEvZepjzn2nxeuPHqQ6mejKVXljYDQTOIYbm22NlXxKcv";
- var apiSecret = "3Clur3D1hDeZYhtVSJzPBiEBb7S0ktC8WpaRQ3F7ysQe55kbsPTBZ6U4X9XsX4Ww";
- var client = new BinanceClient(new BinanceClientOptions()
- {
- UsdFuturesApiOptions = new BinanceApiClientOptions()
- {
- BaseAddress = "https://fapi.binance.com",
- ApiCredentials = new ApiCredentials(apiKey, apiSecret)
- }
- });
-
- var result = client.UsdFuturesApi.Trading.GetOrderAsync("ETHUSDT");
+
}
}
}
diff --git a/Binance.TradeRobot.API.sln b/Binance.TradeRobot.API.sln
index 5325efe..f94c304 100644
--- a/Binance.TradeRobot.API.sln
+++ b/Binance.TradeRobot.API.sln
@@ -16,7 +16,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.editorconfig = .editorconfig
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Binance.SDK", "Binance.SDK\Binance.SDK.csproj", "{8B84B654-82D9-42C0-AF0C-5C78CE916253}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Binance.SDK", "Binance.SDK\Binance.SDK.csproj", "{8B84B654-82D9-42C0-AF0C-5C78CE916253}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Binance.SDK.Test", "Binance.SDK.Test\Binance.SDK.Test.csproj", "{52E20E47-2605-48A8-B09C-1C61194502F9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -44,6 +46,10 @@ Global
{8B84B654-82D9-42C0-AF0C-5C78CE916253}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8B84B654-82D9-42C0-AF0C-5C78CE916253}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8B84B654-82D9-42C0-AF0C-5C78CE916253}.Release|Any CPU.Build.0 = Release|Any CPU
+ {52E20E47-2605-48A8-B09C-1C61194502F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {52E20E47-2605-48A8-B09C-1C61194502F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {52E20E47-2605-48A8-B09C-1C61194502F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {52E20E47-2605-48A8-B09C-1C61194502F9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Binance.TradeRobot.Model/Base/Enums.cs b/Binance.TradeRobot.Model/Base/Enums.cs
index d3a6d44..eed48b6 100644
--- a/Binance.TradeRobot.Model/Base/Enums.cs
+++ b/Binance.TradeRobot.Model/Base/Enums.cs
@@ -4,20 +4,6 @@ namespace Binance.TradeRobot.Model.Base
{
public class Enums
{
- #region 基本
- public enum BusinessType
- {
- ///
- /// 现货
- ///
- Spot = 0,
- ///
- /// 合约
- ///
- Prep = 1
- }
-
- #endregion
#region 用户资金
///
@@ -50,6 +36,25 @@ namespace Binance.TradeRobot.Model.Base
#endregion
#region 机器人
+ ///
+ /// 业务类型 币币=0,逐仓杠杆=1,U本位合约=2
+ ///
+ public enum BusinessType
+ {
+ ///
+ /// 币币
+ ///
+ Spot = 0,
+ ///
+ /// 逐仓杠杆
+ ///
+ Spot_Margin = 1,
+ ///
+ /// U本位合约
+ ///
+ UPrep = 2
+ }
+
///
/// 机器人状态 Stop=0,Runing=1
///
@@ -58,6 +63,39 @@ namespace Binance.TradeRobot.Model.Base
Stop = 0,
Runing = 1
}
+
+ ///
+ /// 交易策略 动量趋势v2=2,金字塔=11
+ ///
+ public enum TradePolicy
+ {
+ 动量趋势v2 = 2,
+
+
+ 金字塔 = 11
+ }
+
+ ///
+ /// 信号周期 1m=0,3m=1,5m=2,15m=3,30m=4,1h=5,2h=6,4h=7,6h=8,8h=9,12h=10,1d=11,3d=12,1w=13,1M=14
+ ///
+ public enum SignalPeriod
+ {
+ _1m,
+ _3m,
+ _5m,
+ _15m,
+ _30m,
+ _1h,
+ _2h,
+ _4h,
+ _6h,
+ _8h,
+ _12h,
+ _1d,
+ _3d,
+ _1w,
+ _1M
+ }
#endregion
}
}
diff --git a/Binance.TradeRobot.Model/Binance.TradeRobot.Model.csproj b/Binance.TradeRobot.Model/Binance.TradeRobot.Model.csproj
index 78b48d1..8c08b5a 100644
--- a/Binance.TradeRobot.Model/Binance.TradeRobot.Model.csproj
+++ b/Binance.TradeRobot.Model/Binance.TradeRobot.Model.csproj
@@ -12,4 +12,8 @@
+
+
+
+
diff --git a/Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml b/Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml
index 65c6842..393dbf7 100644
--- a/Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml
+++ b/Binance.TradeRobot.Model/Binance.TradeRobot.Model.xml
@@ -14,16 +14,6 @@
错误代码
-
-
- 现货
-
-
-
-
- 合约
-
-
资金变更类型 追投=0,提现=1,转移=2
@@ -49,11 +39,46 @@
资金方向 转入=0,转出=1
+
+
+ 业务类型 现货-币币=0,现货-逐仓杠杆=1,U本位合约=2
+
+
+
+
+ 现货-币币
+
+
+
+
+ 现货-逐仓杠杆
+
+
+
+
+ U本位合约
+
+
机器人状态 Stop=0,Runing=1
+
+
+ 交易策略 动量趋势v2=2,金字塔=11
+
+
+
+
+ 信号周期 1m=0,3m=1,5m=2,15m=3,30m=4,1h=5,2h=6,4h=7,6h=8,8h=9,12h=10,1d=11,3d=12,1w=13,1M=14
+
+
+
+
+ 运行时长(s)
+
+
投资本金
diff --git a/Binance.TradeRobot.Model/Db/Exchange/ExchangeAPIKey.cs b/Binance.TradeRobot.Model/Db/Exchange/ExchangeAPIKey.cs
new file mode 100644
index 0000000..846876f
--- /dev/null
+++ b/Binance.TradeRobot.Model/Db/Exchange/ExchangeAPIKey.cs
@@ -0,0 +1,31 @@
+using FreeSql.DataAnnotations;
+using System;
+
+namespace Binance.TradeRobot.Model.Db
+{
+
+ [Table(DisableSyncStructure = true)]
+ public partial class ExchangeAPIKey {
+
+ [Column(IsPrimary = true)]
+ public long Id { get; set; }
+
+ ///
+ /// 交易所账号Id
+ ///
+ public long AccountId { get; set; }
+
+ [Column(StringLength = 100, IsNullable = false)]
+ public string APIKey { get; set; }
+
+ [Column(InsertValueSql = "getdate()")]
+ public DateTime CreateTime { get; set; }
+
+ public long? RobotId { get; set; }
+
+ [Column(StringLength = 100, IsNullable = false)]
+ public string SecretKey { get; set; }
+
+ }
+
+}
diff --git a/Binance.TradeRobot.Model/Db/Exchange/ExchangeAccount.cs b/Binance.TradeRobot.Model/Db/Exchange/ExchangeAccount.cs
new file mode 100644
index 0000000..9ad792a
--- /dev/null
+++ b/Binance.TradeRobot.Model/Db/Exchange/ExchangeAccount.cs
@@ -0,0 +1,37 @@
+using Binance.TradeRobot.Model.Base;
+using FreeSql.DataAnnotations;
+using System;
+
+namespace Binance.TradeRobot.Model.Db
+{
+
+ [Table(DisableSyncStructure = true)]
+ public partial class ExchangeAccount
+ {
+
+ [Column(IsPrimary = true)]
+ public long Id { get; set; }
+
+ ///
+ /// 业务类型
+ ///
+ public int BusinessType { get; set; }
+
+ [Column(InsertValueSql = "getdate()")]
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// 账号登录名
+ ///
+ [Column(StringLength = 50, IsNullable = false)]
+ public string LoginName { get; set; }
+
+ ///
+ /// 交易策略
+ ///
+ [Column(MapType = typeof(int))]
+ public Enums.TradePolicy TradePolicy { get; set; }
+
+ }
+
+}
diff --git a/Binance.TradeRobot.Model/Db/Policy/UPrep/PyramidPolicy.cs b/Binance.TradeRobot.Model/Db/Policy/UPrep/PyramidPolicy.cs
new file mode 100644
index 0000000..090169f
--- /dev/null
+++ b/Binance.TradeRobot.Model/Db/Policy/UPrep/PyramidPolicy.cs
@@ -0,0 +1,19 @@
+using Binance.TradeRobot.Model.Base;
+using FreeSql.DataAnnotations;
+
+namespace Binance.TradeRobot.Model.Db
+{
+ [Table(DisableSyncStructure = true)]
+ public partial class PyramidPolicy
+ {
+
+ [Column(IsPrimary = true)]
+ public long Id { get; set; }
+
+ [Column(MapType = typeof(int))]
+ public Enums.SignalPeriod SignalPeriod { get; set; }
+
+ public long RobotId { get; set; }
+ }
+
+}
diff --git a/Binance.TradeRobot.Model/Db/Robot/Robot.cs b/Binance.TradeRobot.Model/Db/Robot/Robot.cs
new file mode 100644
index 0000000..e361767
--- /dev/null
+++ b/Binance.TradeRobot.Model/Db/Robot/Robot.cs
@@ -0,0 +1,37 @@
+using Binance.TradeRobot.Model.Base;
+using FreeSql.DataAnnotations;
+using System;
+
+namespace Binance.TradeRobot.Model.Db
+{
+
+ [Table(DisableSyncStructure = true)]
+ public partial class Robot
+ {
+
+ [Column(IsPrimary = true)]
+ public long Id { get; set; }
+
+ [Column(InsertValueSql = "getdate()")]
+ public DateTime CreateTime { get; set; }
+
+ [Column(MapType = (typeof(int)))]
+ public Enums.TradePolicy TradePolicy { get; set; }
+
+ ///
+ /// 运行时长(s)
+ ///
+ public long RunningTime { get; set; } = 0;
+
+ [Column(MapType = (typeof(int)))]
+ public Enums.RobotStatus State { get; set; }
+
+ [Column(StringLength = 50, IsNullable = false)]
+ public string Symbol { get; set; }
+
+ [Column(MapType = (typeof(int)))]
+ public Enums.BusinessType BusinessType { get; set; }
+
+ }
+
+}
diff --git a/Binance.TradeRobot.Model/Db/代码生成/__重新生成.bat b/Binance.TradeRobot.Model/Db/代码生成/__重新生成.bat
index 00aec37..9a24191 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=.;initial catalog=Binance.TradeRobot.DB;User Id=sa;Password=pc911103;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=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"