2021-01-13 09:24:59 +00:00
|
|
|
use crate::connectors::{Client, Connector};
|
2021-01-13 09:26:29 +00:00
|
|
|
use crate::events::Event;
|
2021-01-13 09:24:59 +00:00
|
|
|
use crate::models::{Order, Position};
|
|
|
|
use crate::ticker::Ticker;
|
2021-01-13 09:26:29 +00:00
|
|
|
use std::collections::{HashMap, VecDeque};
|
2021-01-13 09:24:59 +00:00
|
|
|
|
2021-01-13 09:26:29 +00:00
|
|
|
struct EventManager {
|
|
|
|
events: Vec<Event>,
|
|
|
|
}
|
2021-01-13 09:03:24 +00:00
|
|
|
|
2021-01-13 09:24:59 +00:00
|
|
|
struct PositionManager {
|
|
|
|
queue: VecDeque<Position>,
|
|
|
|
open_positions: Vec<Position>,
|
|
|
|
client: Client,
|
|
|
|
}
|
2021-01-13 09:03:24 +00:00
|
|
|
|
2021-01-13 09:24:59 +00:00
|
|
|
struct OrderManager {
|
|
|
|
queue: VecDeque<Order>,
|
|
|
|
open_orders: Vec<Order>,
|
|
|
|
client: Client,
|
|
|
|
}
|