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