Browse Source

PaperBroker: fix limit execution

master
Denis Tereshkin 9 years ago
parent
commit
ed111a660f
  1. 4
      src/Broker/PaperBroker.hs

4
src/Broker/PaperBroker.hs

@ -104,12 +104,12 @@ executePendingOrders tick state = do
_ -> return Nothing _ -> return Nothing
executeLimitAt price order = case orderOperation order of executeLimitAt price order = case orderOperation order of
Buy -> if (datatype tick == Price && price < value tick) || (datatype tick == BestOffer && price < value tick) Buy -> if (datatype tick == Price && price > value tick) || (datatype tick == BestOffer && price > value tick)
then do then do
executeAtTick state order $ tick { value = price } executeAtTick state order $ tick { value = price }
return $ Just $ orderId order return $ Just $ orderId order
else return Nothing else return Nothing
Sell -> if (datatype tick == Price && price > value tick) || (datatype tick == BestBid && price > value tick) Sell -> if (datatype tick == Price && price < value tick) || (datatype tick == BestBid && price < value tick)
then do then do
executeAtTick state order $ tick { value = price } executeAtTick state order $ tick { value = price }
return $ Just $ orderId order return $ Just $ orderId order

Loading…
Cancel
Save