From 007743f5a18a577b733f6cb9415536fc1bfa5cfc Mon Sep 17 00:00:00 2001 From: Jkorf Date: Tue, 21 Jul 2026 11:35:59 +0200 Subject: [PATCH] Added calculation of AveragePrice on Shared order models if data is available and AveragePrice is not set --- .../SharedApis/ResponseModels/SharedFuturesOrder.cs | 12 ++++++++++-- .../SharedApis/ResponseModels/SharedSpotOrder.cs | 10 +++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CryptoExchange.Net/SharedApis/ResponseModels/SharedFuturesOrder.cs b/CryptoExchange.Net/SharedApis/ResponseModels/SharedFuturesOrder.cs index e2e8e9cd..49daa0e5 100644 --- a/CryptoExchange.Net/SharedApis/ResponseModels/SharedFuturesOrder.cs +++ b/CryptoExchange.Net/SharedApis/ResponseModels/SharedFuturesOrder.cs @@ -54,10 +54,18 @@ namespace CryptoExchange.Net.SharedApis /// Order price /// public decimal? OrderPrice { get; set; } + private decimal? _averagePrice; /// - /// Average price + /// Average fill price /// - public decimal? AveragePrice { get; set; } + public decimal? AveragePrice + { + get => _averagePrice > 0 ? _averagePrice + : (QuantityFilled?.QuantityInBaseAsset > 0 && QuantityFilled?.QuantityInQuoteAsset > 0 + ? QuantityFilled.QuantityInQuoteAsset / QuantityFilled.QuantityInBaseAsset + : null); + set => _averagePrice = value; + } /// /// Client order id /// diff --git a/CryptoExchange.Net/SharedApis/ResponseModels/SharedSpotOrder.cs b/CryptoExchange.Net/SharedApis/ResponseModels/SharedSpotOrder.cs index afb41850..0535922f 100644 --- a/CryptoExchange.Net/SharedApis/ResponseModels/SharedSpotOrder.cs +++ b/CryptoExchange.Net/SharedApis/ResponseModels/SharedSpotOrder.cs @@ -46,10 +46,18 @@ namespace CryptoExchange.Net.SharedApis /// Order price /// public decimal? OrderPrice { get; set; } + private decimal? _averagePrice; /// /// Average fill price /// - public decimal? AveragePrice { get; set; } + public decimal? AveragePrice + { + get => _averagePrice > 0 ? _averagePrice + : (QuantityFilled?.QuantityInBaseAsset > 0 && QuantityFilled?.QuantityInQuoteAsset > 0 + ? QuantityFilled.QuantityInQuoteAsset / QuantityFilled.QuantityInBaseAsset + : null); + set => _averagePrice = value; + } /// /// Client order id ///