1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-11 16:32:57 +00:00

Updated examples

This commit is contained in:
Jkorf
2026-06-03 10:13:34 +02:00
parent d64c1171a3
commit cc25a405c6
12 changed files with 366 additions and 408 deletions
+26 -26
View File
@@ -5,33 +5,33 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Binance.Net" Version="12.11.3" />
<PackageReference Include="Bitfinex.Net" Version="10.10.2" />
<PackageReference Include="BitMart.Net" Version="3.10.0" />
<PackageReference Include="BloFin.Net" Version="2.10.2" />
<PackageReference Include="Bybit.Net" Version="6.11.0" />
<PackageReference Include="CoinEx.Net" Version="10.9.2" />
<PackageReference Include="CoinW.Net" Version="2.9.2" />
<PackageReference Include="CryptoCom.Net" Version="3.10.0" />
<PackageReference Include="DeepCoin.Net" Version="3.9.2" />
<PackageReference Include="GateIo.Net" Version="3.10.2" />
<PackageReference Include="HyperLiquid.Net" Version="4.3.0" />
<PackageReference Include="JK.BingX.Net" Version="3.10.0" />
<PackageReference Include="JK.Bitget.Net" Version="3.10.0" />
<PackageReference Include="JK.Mexc.Net" Version="5.0.1" />
<PackageReference Include="JK.OKX.Net" Version="4.12.0" />
<PackageReference Include="Jkorf.Aster.Net" Version="3.1.0" />
<PackageReference Include="JKorf.BitMEX.Net" Version="3.9.2" />
<PackageReference Include="JKorf.Coinbase.Net" Version="3.9.2" />
<PackageReference Include="JKorf.HTX.Net" Version="8.9.1" />
<PackageReference Include="JKorf.Upbit.Net" Version="2.9.2" />
<PackageReference Include="KrakenExchange.Net" Version="7.9.1" />
<PackageReference Include="Kucoin.Net" Version="8.11.0" />
<PackageReference Include="Binance.Net" Version="12.13.0" />
<PackageReference Include="Bitfinex.Net" Version="10.12.0" />
<PackageReference Include="BitMart.Net" Version="3.11.2" />
<PackageReference Include="BloFin.Net" Version="2.11.0" />
<PackageReference Include="Bybit.Net" Version="6.13.0" />
<PackageReference Include="CoinEx.Net" Version="10.11.0" />
<PackageReference Include="CoinW.Net" Version="2.10.0" />
<PackageReference Include="CryptoCom.Net" Version="3.11.0" />
<PackageReference Include="DeepCoin.Net" Version="3.10.0" />
<PackageReference Include="GateIo.Net" Version="3.11.0" />
<PackageReference Include="HyperLiquid.Net" Version="4.7.1" />
<PackageReference Include="JK.BingX.Net" Version="3.11.1" />
<PackageReference Include="JK.Bitget.Net" Version="3.12.1" />
<PackageReference Include="JK.Mexc.Net" Version="5.2.0" />
<PackageReference Include="JK.OKX.Net" Version="4.14.0" />
<PackageReference Include="Jkorf.Aster.Net" Version="3.3.0" />
<PackageReference Include="JKorf.BitMEX.Net" Version="3.10.0" />
<PackageReference Include="JKorf.Coinbase.Net" Version="3.10.1" />
<PackageReference Include="JKorf.HTX.Net" Version="8.10.1" />
<PackageReference Include="JKorf.Upbit.Net" Version="2.10.1" />
<PackageReference Include="KrakenExchange.Net" Version="7.11.0" />
<PackageReference Include="Kucoin.Net" Version="8.13.0" />
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
<PackageReference Include="Toobit.Net" Version="3.9.2" />
<PackageReference Include="Weex.Net" Version="1.0.0" />
<PackageReference Include="WhiteBit.Net" Version="3.9.2" />
<PackageReference Include="XT.Net" Version="3.9.2" />
<PackageReference Include="Toobit.Net" Version="3.10.0" />
<PackageReference Include="Weex.Net" Version="1.1.1" />
<PackageReference Include="WhiteBit.Net" Version="3.11.1" />
<PackageReference Include="XT.Net" Version="3.10.0" />
</ItemGroup>
</Project>
+15 -2
View File
@@ -16,13 +16,26 @@
{
var symbol = new SharedSymbol(TradingMode.Spot, "ETH", "BTC");
var tasks = restClients.Select(x => x.GetSpotTickerAsync(new GetTickerRequest(symbol)));
await Task.WhenAll(tasks);
foreach (var ticker in tasks.Select(x => x.Result))
await foreach (var ticker in ParallelEnumerateAsync(tasks))
{
if (ticker.Success)
_prices.Add(ticker.Exchange, ticker.Data.LastPrice);
else
Debug.WriteLine($"{ticker.Exchange} failed: {ticker.Error}");
await InvokeAsync(StateHasChanged);
}
}
private async IAsyncEnumerable<T> ParallelEnumerateAsync<T>(IEnumerable<Task<T>> tasks)
{
var remaining = new List<Task<T>>(tasks);
while (remaining.Count != 0)
{
var task = await Task.WhenAny(remaining).ConfigureAwait(false);
remaining.Remove(task);
yield return task.Result;
}
}