| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- use std::collections::{HashMap};
- use rust_decimal::Decimal;
- use rust_decimal_macros::dec;
- use serde_derive::{Deserialize, Serialize};
- use global::trace_stack::TraceStack;
- #[derive(Debug, Clone, PartialEq, Eq)]
- pub struct LocalPosition {
- // 做多仓位
- pub long_pos: Decimal,
- // 做空仓位
- pub short_pos: Decimal,
- //
- pub long_avg: Decimal,
- //
- pub short_avg: Decimal
- }
- impl LocalPosition {
- pub fn new() -> LocalPosition {
- LocalPosition{
- long_pos: dec!(0),
- short_pos: dec!(0),
- long_avg: dec!(0),
- short_avg: dec!(0),
- }
- }
- }
- #[derive(Debug, Clone)]
- pub struct TraderMsg {
- pub position: LocalPosition,
- pub cash: Decimal,
- pub coin: Decimal,
- pub orders: HashMap<String, OrderInfo>,
- pub ref_price: Vec<Vec<Decimal>>,
- pub market: Vec<Decimal>,
- pub predict: Decimal
- }
- impl TraderMsg {
- pub fn new() -> TraderMsg {
- TraderMsg{
- position: LocalPosition {
- long_pos: Default::default(),
- short_pos: Default::default(),
- long_avg: Default::default(),
- short_avg: Default::default(),
- },
- cash: Default::default(),
- coin: Default::default(),
- orders: Default::default(),
- ref_price: Default::default(),
- market: vec![],
- predict: Default::default(),
- }
- }
- }
- #[derive(Debug, Clone)]
- pub struct OrderInfo {
- pub symbol: String,
- pub amount: Decimal,
- // 方向 kd kk
- pub side: String,
- // 价格
- pub price: Decimal,
- // 自定义订单号
- pub client_id: String,
- // 实际价格
- pub filled_price: Decimal,
- //
- pub filled: Decimal,
- // 订单号
- pub order_id: String,
- // 时间
- pub local_time: i64,
- // 时间
- pub create_time: i64,
- pub status: String,
- pub fee: Decimal,
- pub trace_stack: TraceStack
- }
- #[derive(Serialize, Deserialize)]
- pub struct OriginalTradeBa {
- // 成交价格
- pub p: Decimal,
- // 买方是否是做市方。如true,则此次成交是一个主动卖出单,否则是一个主动买入单。
- pub m: bool
- }
- #[derive(Serialize, Deserialize)]
- pub struct OriginalTradeGa {
- // 成交价格
- pub size: Decimal,
- // 买方是否是做市方。如true,则此次成交是一个主动卖出单,否则是一个主动买入单。
- pub price: Decimal
- }
- #[allow(non_snake_case)]
- #[derive(Serialize, Deserialize, Debug)]
- pub struct OriginalTicker {
- // 更新ID
- pub u: i64,
- // 买单最优挂单价格
- pub b: Decimal,
- // 买单最优挂单数量
- pub B: Decimal,
- // 卖单最优挂单价格
- pub a: Decimal,
- // 卖单最优挂单数量
- pub A: Decimal
- }
|