@@ -30,65 +30,79 @@ fn main() {
3030 let order_asset = parse_asset ( "BTC" ) . unwrap ( ) ;
3131 let price_asset = parse_asset ( "USD" ) . unwrap ( ) ;
3232
33- // orders to process
34- let order_list = vec ! [
35- orders:: new_limit_order_request(
36- order_asset,
37- price_asset,
38- OrderSide :: Bid ,
39- 0.98 ,
40- 5.0 ,
41- SystemTime :: now( )
42- ) ,
43- orders:: new_limit_order_request(
44- order_asset,
45- price_asset,
46- OrderSide :: Ask ,
47- 1.02 ,
48- 1.0 ,
49- SystemTime :: now( )
50- ) ,
51- orders:: new_limit_order_request(
52- order_asset,
53- price_asset,
54- OrderSide :: Bid ,
55- 1.01 ,
56- 0.4 ,
57- SystemTime :: now( )
58- ) ,
59- orders:: new_limit_order_request(
60- order_asset,
61- price_asset,
62- OrderSide :: Ask ,
63- 1.03 ,
64- 0.5 ,
65- SystemTime :: now( )
66- ) ,
67- orders:: new_limit_order_request(
68- order_asset,
69- price_asset,
70- OrderSide :: Ask ,
71- 1.05 ,
72- 0.5 ,
73- SystemTime :: now( )
74- ) ,
75- orders:: new_limit_order_request(
76- order_asset,
77- price_asset,
78- OrderSide :: Bid ,
79- 1.06 ,
80- 2.0 ,
81- SystemTime :: now( )
82- ) ,
83- ] ;
33+ // create order requests
34+ let order_list =
35+ vec ! [
36+ orders:: new_limit_order_request(
37+ order_asset,
38+ price_asset,
39+ OrderSide :: Bid ,
40+ 0.98 ,
41+ 5.0 ,
42+ SystemTime :: now( )
43+ ) ,
44+
45+ orders:: new_limit_order_request(
46+ order_asset,
47+ price_asset,
48+ OrderSide :: Ask ,
49+ 1.02 ,
50+ 1.0 ,
51+ SystemTime :: now( )
52+ ) ,
53+
54+ orders:: amend_order_request( 1 , OrderSide :: Bid , 0.99 , 4.0 , SystemTime :: now( ) ) ,
55+
56+ orders:: new_limit_order_request(
57+ order_asset,
58+ price_asset,
59+ OrderSide :: Bid ,
60+ 1.01 ,
61+ 0.4 ,
62+ SystemTime :: now( )
63+ ) ,
64+
65+ orders:: new_limit_order_request(
66+ order_asset,
67+ price_asset,
68+ OrderSide :: Ask ,
69+ 1.03 ,
70+ 0.5 ,
71+ SystemTime :: now( )
72+ ) ,
73+
74+ orders:: new_market_order_request( order_asset, price_asset, OrderSide :: Bid , 1.0 , SystemTime :: now( ) ) ,
75+
76+ orders:: new_limit_order_request(
77+ order_asset,
78+ price_asset,
79+ OrderSide :: Ask ,
80+ 1.05 ,
81+ 0.5 ,
82+ SystemTime :: now( )
83+ ) ,
84+
85+ orders:: limit_order_cancel_request( 4 , OrderSide :: Ask ) ,
86+
87+ orders:: new_limit_order_request(
88+ order_asset,
89+ price_asset,
90+ OrderSide :: Bid ,
91+ 1.06 ,
92+ 0.6 ,
93+ SystemTime :: now( )
94+ ) ,
95+ ] ;
8496
8597 // processing
8698 for order in order_list {
87- println ! ( "\n Order => {:?}" , & order) ;
99+ println ! ( "Order => {:?}" , & order) ;
88100 let res = orderbook. process_order ( order) ;
89101 println ! ( "Processing => {:?}" , res) ;
90102 if let Some ( ( bid, ask) ) = orderbook. current_spread ( ) {
91103 println ! ( "Spread => bid: {}, ask: {}\n " , bid, ask) ;
104+ } else {
105+ println ! ( "Spread => not available\n " ) ;
92106 }
93107 }
94108}
0 commit comments