You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
8.6 KiB
159 lines
8.6 KiB
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}");
|
|
}
|
|
}
|
|
}
|
|
|