Browse Source

Broker data structure

master
Denis Tereshkin 9 years ago
parent
commit
2e879cfa37
  1. 14
      src/Broker.hs

14
src/Broker.hs

@ -16,6 +16,8 @@ data OrderPrice = Market | Limit Decimal | Stop Decimal Decimal @@ -16,6 +16,8 @@ data OrderPrice = Market | Limit Decimal | Stop Decimal Decimal
data Operation = Buy | Sell
deriving (Show, Eq)
type OrderId = Integer
data OrderState = Unsubmitted
| Submitted
| PartiallyExecuted
@ -25,7 +27,7 @@ data OrderState = Unsubmitted @@ -25,7 +27,7 @@ data OrderState = Unsubmitted
| Error String
data Order = Order {
orderId :: Integer,
orderId :: OrderId,
orderAccountId :: String,
orderSecurity :: String,
orderPrice :: OrderPrice,
@ -37,7 +39,7 @@ data Order = Order { @@ -37,7 +39,7 @@ data Order = Order {
deriving (Show, Eq)
data Trade = Trade {
tradeOrderId :: Integer,
tradeOrderId :: OrderId,
tradePrice :: Decimal,
tradeQuantity :: Integer,
tradeVolume :: Decimal,
@ -48,3 +50,11 @@ data Trade = Trade { @@ -48,3 +50,11 @@ data Trade = Trade {
tradeSignalId :: SignalId }
deriving (Show, Eq)
data Broker = Broker {
accounts :: [String],
setTradeCallback :: Maybe (Trade -> IO ()),
setOrderCallback :: Maybe (Order -> IO ()),
submitOrder :: Order -> IO (),
cancelOrder :: OrderId -> IO ()
}

Loading…
Cancel
Save