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
///