From 0f605bc2259c63f351b6d99623c125ad42c5e209 Mon Sep 17 00:00:00 2001 From: Lucas Soriano del Pino Date: Mon, 15 Apr 2024 18:42:45 +1000 Subject: [PATCH] fix(app): Compute liquidation price correctly after direction change I have verified that the value was already computed correctly by the coordinator. --- mobile/native/src/trade/position/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mobile/native/src/trade/position/mod.rs b/mobile/native/src/trade/position/mod.rs index cbf7b2410..af3620166 100644 --- a/mobile/native/src/trade/position/mod.rs +++ b/mobile/native/src/trade/position/mod.rs @@ -471,7 +471,7 @@ impl Position { let updated_liquidation_price = calculate_liquidation_price( f32_from_decimal(updated_average_execution_price), f32_from_decimal(starting_leverage), - self.direction, + order.direction, maintenance_margin_rate, ); @@ -887,7 +887,7 @@ mod tests { assert_eq!(updated_position.contract_symbol, position.contract_symbol); assert_eq!(updated_position.direction, order.direction); assert_eq!(updated_position.average_entry_price, 36_401.5); - assert_eq!(updated_position.liquidation_price, 26001.072); + assert_eq!(updated_position.liquidation_price, 60669.168); assert_eq!(updated_position.position_state, PositionState::Open); assert_eq!(updated_position.collateral, 13_736); assert!(!updated_position.stable);