using Binance.Net.Clients; using Binance.Net.Objects; using Binance.TradeRobot.Model.Base; using CryptoExchange.Net.Authentication; using Newtonsoft.Json; using SDKAdapter.APIClient; using System; namespace SDKTestConsole { internal class Program { private static System.Threading.Timer timer; static void Main(string[] args) { var apiKey = "RsQ5RuhYbNRXCTGAQXhwb5Dt3jgPnwKXfR1OXz0qWmf3IsAC7zPQd14WGIr18rDA"; var secret = "yxW4PPb65rVpdo7fMt2mZcbNOtjOe3J4fMSRVtX5YJfj7kRzHW3dY6xfoW4jje1I"; var client = BaseAPIClient.Create(Enums.Exchange.Binance, 0, apiKey, secret); //逐仓杠杆账户资产 var marginList = client.GetIsolatedMarginAccountAssets(); var s = JsonConvert.SerializeObject(marginList); //查询最大借币额度 var maxLoan = client.QueryMaxLoanAmount("GMTUSDT"); //Console.WriteLine(maxLoan); //借币 //var r1 = client.IsolatedMarginLoan("ETHUSDT", 10M); //var r2 = client.IsolatedMarginLoan("ETHUSDT", 10M); //Console.WriteLine(r2.AccountLoanAmount); //还币 //var r3 = client.IsolatedMarginRepay("ETHUSDT", 20M); //Console.WriteLine(r3); var spotClientOption = new BinanceApiClientOptions() { BaseAddress = "https://api.binance.com", ApiCredentials = new ApiCredentials(apiKey, secret) }; var usdFuturesClientOption = new BinanceApiClientOptions() { BaseAddress = "https://fapi.binance.com", ApiCredentials = new ApiCredentials(apiKey, secret) }; var binanceClient = new BinanceClient(new BinanceClientOptions() { UsdFuturesApiOptions = usdFuturesClientOption, SpotApiOptions = spotClientOption }); var binanceSocketClient = new BinanceSocketClient(); //市价买币 //var r = client.IsolatedMarginPlaceOrder("ETHUSDT", // Enums.TradeDirection.Buy, // Enums.OrderType.MARKET, // quoteAmount: 20M); //var r = binanceClient.SpotApi.Trading.PlaceMarginOrderAsync("ETHUSDT", // Binance.Net.Enums.OrderSide.Buy, // Binance.Net.Enums.SpotOrderType.Market, // quoteQuantity: 30M, //报价币金额 // //quantity: 100M, // //timeInForce: Binance.Net.Enums.TimeInForce.GoodTillCanceled, // //stopPrice: 1899M, // isIsolated: true, // orderResponseType: Binance.Net.Enums.OrderResponseType.Full).Result; // //市价卖币 //var qty = 0.00985570M.CutDecimal(4); //var r = client.IsolatedMarginPlaceOrder("ETHUSDT", // Enums.TradeDirection.Sell, // Enums.OrderType.MARKET, // quantity: qty); //var r = binanceClient.SpotApi.Trading.PlaceMarginOrderAsync("ETHUSDT", // Binance.Net.Enums.OrderSide.Sell, // Binance.Net.Enums.SpotOrderType.Market, // quantity: 0.0098M, // //quoteQuantity: 20M, //报价币金额 // //quantity: 100M, // //timeInForce: Binance.Net.Enums.TimeInForce.GoodTillCanceled, // //stopPrice: 1899M, // isIsolated: true, // orderResponseType: Binance.Net.Enums.OrderResponseType.Full).Result; //止损卖币 //var qty = 0.01224350M.CutDecimal(4); //var r = client.IsolatedMarginPlaceOrder("ETHUSDT", // Enums.TradeDirection.Sell, // Enums.OrderType.STOP_LOSS_LIMIT, // quantity: qty, // price: 2033M, // stopPrice: 2035M); //var r = binanceClient.SpotApi.Trading.PlaceMarginOrderAsync("ETHUSDT", // Binance.Net.Enums.OrderSide.Sell, // Binance.Net.Enums.SpotOrderType.StopLossLimit, // quantity: 0.0149M, // price: 1699M, // //quoteQuantity: 20M, //报价币金额 // //quantity: 100M, // timeInForce: Binance.Net.Enums.TimeInForce.GoodTillCanceled, // stopPrice: 1699M, // isIsolated: true, // orderResponseType: Binance.Net.Enums.OrderResponseType.Full).Result; // //var s = JsonConvert.SerializeObject(r); //Console.WriteLine(s); // //var r1 = binanceClient.SpotApi.Trading.PlaceMarginOrderAsync("ETHUSDT", // Binance.Net.Enums.OrderSide.Sell, // Binance.Net.Enums.SpotOrderType.StopLossLimit, // quantity: 0.0149M, // price: 1699M, // //quoteQuantity: 20M, //报价币金额 // //quantity: 100M, // timeInForce: Binance.Net.Enums.TimeInForce.GoodTillCanceled, // stopPrice: 1699M, // isIsolated: true, // orderResponseType: Binance.Net.Enums.OrderResponseType.Full).Result; //var s1 = JsonConvert.SerializeObject(r1); //var s = JsonConvert.SerializeObject(r); //Console.WriteLine(s); //var orderClient = new BinanceSpotOrderWebSocketClient(Enums.BusinessType.IsolateMargin, 0, apiKey, secret, LogManager.GetCurrentClassLogger()); //orderClient.Start("ETHUSDT"); //timer = new System.Threading.Timer(new System.Threading.TimerCallback(Callback), null, -1, 5000); //while (true) //{ // var input = Console.ReadLine(); // if (input == "start") // timer.Change(3000, 5000); // else if (input == "stop") // timer.Change(-1, 5000); // else if (input == "close") // { // timer.Dispose(); // break; // } //} Console.ReadKey(); } private static void Callback(object? o) { Console.WriteLine($"Callback on {DateTime.Now}"); } } }