From f2d6d9a8b9c7a3f9e9d2acafcfe9aa3fd817dbc8 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sun, 2 Aug 2026 04:23:53 +0200 Subject: [PATCH] Fix order serialization --- src/engine/engine/execution.rs | 7 ++++--- src/engine/engine/risk.rs | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/engine/engine/execution.rs b/src/engine/engine/execution.rs index 01cd54d..4be479d 100644 --- a/src/engine/engine/execution.rs +++ b/src/engine/engine/execution.rs @@ -1,7 +1,8 @@ use hypersdk::{ Decimal, hypercore::{ - self, BatchOrder, OrderRequest, OrderResponseStatus, OrderTypePlacement, Side, TimeInForce, + self, BatchOrder, NonceHandler, OrderRequest, OrderResponseStatus, OrderTypePlacement, + Side, TimeInForce, }, }; use pulse_sdk::prelude::*; @@ -83,10 +84,10 @@ impl Engine { builder: None, }; - let nonce = chrono::Utc::now().timestamp_millis() as u64; + let nonce = NonceHandler::default(); match client - .place(&acc.private_key.0, order, nonce, None, None) + .place(&acc.private_key.0, order, nonce.next(), None, None) .await { // Invalid order diff --git a/src/engine/engine/risk.rs b/src/engine/engine/risk.rs index 7c42595..fd3ce95 100644 --- a/src/engine/engine/risk.rs +++ b/src/engine/engine/risk.rs @@ -159,7 +159,7 @@ impl RiskEngine { take_profit: Cloid::random(), stop_loss: Cloid::random(), risk_equity: risk, - size: risk / (signal.entry_price - signal.stop_loss).abs(), + size: (risk / (signal.entry_price - signal.stop_loss).abs()).round_dp(3), }) }