币安量化交易
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.

39 lines
1.2 KiB

using Binance.Net.Clients;
using Binance.Net.Enums;
using System.Threading;
namespace SDKAdapter.WebSockets.Market
{
public class BinanceSpotMarketWebSocketClient : SpotMarketWebSocketClient
{
private BinanceSocketClient binanceSocketClient;
private CancellationTokenSource cancellationTokenSource;
public BinanceSpotMarketWebSocketClient(string symbol, NLog.ILogger logger) : base(symbol, logger)
{
binanceSocketClient = new BinanceSocketClient();
}
public override void Start()
{
if (IsConnected)
return;
IsConnected = true;
cancellationTokenSource = new CancellationTokenSource();
binanceSocketClient.SpotStreams.SubscribeToKlineUpdatesAsync(Symbol, KlineInterval.OneMinute, (e) =>
{
base.OnReceived(e.Data.Data.ClosePrice);
}, cancellationTokenSource.Token);
}
public override void Stop()
{
if (!IsConnected)
return;
IsConnected = false;
cancellationTokenSource.Cancel();
binanceSocketClient.SpotStreams.Dispose();
cancellationTokenSource = null;
}
}
}