started moving logic from close position to update in order manager
This commit is contained in:
parent
7d639d1b4c
commit
64a687445d
@ -3,8 +3,10 @@ use std::ops::{Deref, Neg};
|
||||
|
||||
use bitfinex::ticker::TradingPairTicker;
|
||||
use futures_util::stream::FuturesUnordered;
|
||||
use log::{debug, error, info};
|
||||
use log::{debug, error, info, trace};
|
||||
use merge::Merge;
|
||||
use tokio::signal::unix::Signal;
|
||||
use tokio::stream::StreamExt;
|
||||
use tokio::sync::mpsc::channel;
|
||||
use tokio::sync::mpsc::{Receiver, Sender};
|
||||
use tokio::sync::{oneshot, RwLock};
|
||||
@ -17,15 +19,9 @@ use crate::models::{
|
||||
};
|
||||
use crate::strategy::{FastOrderStrategy, OrderStrategy, PositionStrategy, TrailingStop};
|
||||
use crate::BoxError;
|
||||
use merge::Merge;
|
||||
use tokio::stream::StreamExt;
|
||||
|
||||
pub type OptionUpdate = (Option<Vec<Event>>, Option<Vec<Message>>);
|
||||
|
||||
pub struct EventManager {
|
||||
events: Vec<Event>,
|
||||
}
|
||||
|
||||
/******************
|
||||
* PRICES
|
||||
******************/
|
||||
@ -108,20 +104,9 @@ impl PriceManager {
|
||||
current_prices,
|
||||
self.pair.clone(),
|
||||
None,
|
||||
// None,
|
||||
))
|
||||
}
|
||||
|
||||
// fn add_event(&mut self, event: Event) {
|
||||
// self.events.push(event);
|
||||
//
|
||||
// self.dispatcher.call_event_handlers(&event, &self);
|
||||
// }
|
||||
//
|
||||
// fn add_signal(&mut self, signal: SignalKind) {
|
||||
// self.signals.insert(self.current_tick(), signal);
|
||||
// }
|
||||
|
||||
pub fn pair(&self) -> &SymbolPair {
|
||||
&self.pair
|
||||
}
|
||||
@ -133,7 +118,6 @@ pub struct PriceEntry {
|
||||
pair: SymbolPair,
|
||||
price: PriceTicker,
|
||||
events: Option<Vec<Event>>,
|
||||
// signals: Option<Vec<SignalKind>>,
|
||||
}
|
||||
|
||||
impl PriceEntry {
|
||||
@ -142,14 +126,12 @@ impl PriceEntry {
|
||||
price: PriceTicker,
|
||||
pair: SymbolPair,
|
||||
events: Option<Vec<Event>>,
|
||||
// signals: Option<Vec<SignalKind>>,
|
||||
) -> Self {
|
||||
PriceEntry {
|
||||
tick,
|
||||
pair,
|
||||
price,
|
||||
events,
|
||||
// signals,
|
||||
}
|
||||
}
|
||||
|
||||
@ -165,9 +147,6 @@ impl PriceEntry {
|
||||
pub fn events(&self) -> &Option<Vec<Event>> {
|
||||
&self.events
|
||||
}
|
||||
// pub fn signals(&self) -> &Option<Vec<SignalKind>> {
|
||||
// &self.signals
|
||||
// }
|
||||
}
|
||||
|
||||
/******************
|
||||
@ -510,7 +489,7 @@ impl OrderManager {
|
||||
|
||||
let (_, strat_messages) =
|
||||
self.strategy
|
||||
.on_position_close(active_order, &position, &order_book)?;
|
||||
.on_position_order(active_order, &position, &order_book)?;
|
||||
|
||||
if let Some(messages) = strat_messages {
|
||||
for m in messages {
|
||||
@ -535,8 +514,16 @@ impl OrderManager {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// TODO: finish me
|
||||
pub async fn update(&self) -> Result<OptionUpdate, BoxError> {
|
||||
// TODO: implement me
|
||||
trace!("\tUpdating {} order manager.", self.pair);
|
||||
|
||||
let (open_orders, opt_open_positions) = tokio::join!(
|
||||
self.client.active_orders(&self.pair),
|
||||
self.client.active_positions(&self.pair)
|
||||
);
|
||||
let (open_orders, opt_open_positions) = (open_orders?, opt_open_positions?);
|
||||
|
||||
Ok((None, None))
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user