using right platform when sending Limit order

This commit is contained in:
Giulio De Pasquale 2021-02-17 16:32:47 +00:00
parent 881defa081
commit 2d3d1ca69c

View File

@ -14,7 +14,7 @@ use crate::connectors::{Client, ExchangeDetails};
use crate::currency::SymbolPair;
use crate::events::{ActionMessage, ActorMessage, Event};
use crate::models::{
ActiveOrder, OrderBook, OrderForm, OrderKind, Position, PriceTicker, TradingPlatform,
ActiveOrder, OrderBook, OrderForm, OrderKind, Position, PriceTicker,
};
use crate::strategy::{HiddenTrailingStop, MarketEnforce, OrderStrategy, PositionStrategy};
use crate::BoxError;
@ -505,16 +505,15 @@ impl OrderManager {
// No open order, undercutting best price with limit order
let closing_price = self.best_closing_price(&position, &order_book);
// TODO: hardcoded platform to Derivative!
let order_form = OrderForm::new(
self.pair.clone(),
OrderKind::Limit {
price: closing_price,
},
TradingPlatform::Derivative,
position.platform(),
position.amount().neg(),
)
.with_leverage(position.leverage());
.with_leverage(Some(position.leverage()));
info!("Submitting {} order", order_form.kind());
if let Err(e) = self.client.submit_order(&order_form).await {