sig
type ('a, 'b) t constraint 'a = [< Order_action.t ]
constraint 'b = [< Order_type.t ]
val of_raw : Raw_order.t -> ([< Order_action.t ], [< Order_type.t ]) t
val to_raw : ([< Order_action.t ], [< Order_type.t ]) t -> Raw_order.t
val ( = ) :
([< Order_action.t ] as 'a, [< Order_type.t ] as 'b) Order.t ->
('a, 'b) Order.t -> bool
val order_type :
([< Order_action.t ], [< Order_type.t ]) Order.t -> Order_type.t
val quantity : ([< Order_action.t ], [< Order_type.t ]) Order.t -> Volume.t
val buy_limit :
quantity:Volume.t ->
Price.t ->
([< Order_action.t > `Buy ], [< Order_type.t > `Limit ]) Order.t
val sell_limit :
quantity:Volume.t ->
Price.t ->
([< Order_action.t > `Sell ], [< Order_type.t > `Limit ]) Order.t
val buy_market :
quantity:Volume.t ->
([< Order_action.t > `Buy ], [< Order_type.t > `Market ]) Order.t
val sell_market :
quantity:Volume.t ->
([< Order_action.t > `Sell ], [< Order_type.t > `Market ]) Order.t
val t_of_sexp :
(Sexplib.Sexp.t -> ([< Order_action.t ] as 'a)) ->
(Sexplib.Sexp.t -> ([< Order_type.t ] as 'b)) ->
Sexplib.Sexp.t -> ('a, 'b) Order.t
val sexp_of_t :
(([< Order_action.t ] as 'a) -> Sexplib.Sexp.t) ->
(([< Order_type.t ] as 'b) -> Sexplib.Sexp.t) ->
('a, 'b) Order.t -> Sexplib.Sexp.t
end