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

40 lines
1.2 KiB

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