16 Commits

Author SHA1 Message Date
Martin-Molinero 884bfe4482 Add support for brokerage side new orders (#7228)
* Add support for brokerage side new orders

- Add support for brokerage side new order events for liquidation cases

* Minor cash delta fix

* Improve account cash logging

* Fix null reference exception for open orders
2023-05-02 16:21:19 -03:00
Martin Molinero de4acffe00 Refactor
- Add new OrderEvent collection into ITransactionHandler which will be
consumed by the ResultHandler
2020-02-27 18:47:44 -03:00
Martin Molinero f976ffa099 Removing BacktestingTransactionHandler thread
- For backtesting the algorithm thread will sequentially process pending
order requests
   - Adding new non blocking `BusyCollection`
- Updating `UpdateOrderRegressionAlgorithm` that suffered of a race
condition: it supposed `OnOrderEvent` would be called after the call to
`Transactions.AddOrder()` was finished
2019-05-10 16:15:24 -03:00
Martin Molinero cfa08a11fb Address reviews
- Removing `using QCAlgorithmFramework = QuantConnect.Algorithm.QCAlgorithm`
- Removing `QCAlgorithmFrameworkBridge`
- Removing `IsFrameworkAlgorithm`
- Making `EmitInsightBasedOnFill` private. Adding new
`IOrderEventProvider` exposing an `event` to which `QCAlgorithm` will
subscribe.
- `AccountType.Cash` algorithms will be allowed to manually trade and
emight insights manually or with alpha model.
2019-04-03 21:55:44 -03:00
Martin Molinero f38431446d Fixing null pointer exception at brokeragetransactionhelper 2018-06-27 18:10:04 -03:00
Martin Molinero 82c2532a31 Improve performance for backtests with a large amount of trades 2018-06-21 16:59:29 -03:00
Andrew 7325b52e51 OrderTickets are initialized in BrokerageSetupHandler
- Created public property on ITransactionHandler that wraps the private OrderTicket dictionary. Allows BrokerageSetupHandler to add the order tickets

Refactored ToOrderTicket extension method to handle several types of order
2017-08-28 14:19:04 -04:00
snugs 9c1b0f4616 Move order/order queue storage to transaction handler
Expose order and order processing ability via IOrderProvider/IOrderProcessor
2015-07-02 15:07:35 -04:00
snugs 4de2ec4070 Make Engine an instance
Updated all interfaces to accept dependencies via Initialize methods
2015-06-18 13:50:11 -04:00
snugs fd3d5b2953 Load transaction handlers via MEF configuration 2015-06-17 22:34:02 -04:00
QuantConnect fde0cbed3a Strip out block quote section header comments 2015-06-13 16:04:27 -04:00
snugs 89b6e98af8 Fixes warnings mostly relating to xml comments
Also cleans up some block comments

Via PR#72 - thanks @ammachado!
2015-05-13 10:56:47 -04:00
Jared Broad d4c8c10f02 Rework to move synchronous events into transaction hander and result handler plugins so the events could be controlled on a plugin level. e.g. This allowed removing 1 thread context switch from primary algo loop and enabling live trading result handler to trigger its own updates every second independent of algorithm event timing 2015-02-06 12:50:55 -03:00
snugs 191b82c2cb Consolidates transaction handlers to use the IBrokerage interface
This is a fairly large change. We now have a BacktestingBrokerage (and PaperTradingBrokerage) which is consumed by the transaction handlers. We've also tested the BrokerageTransactionHandler. The IBrokerage interface has been through through and implemented. We've also added a spacial BacktestingTransactionHandler to delegate order filling to the BacktestingBrokerage implementation via the BacktestingBrokerage.Scan method.  Much of this is a code shuffle to bring live trading and backtesting transaction handling into a similar pattern.
2015-01-25 17:12:10 -03:00
snugs 57f272cf80 Creates new IBrokerage interface with new BrokerageTransactionHandler
IBBrokerage now implements new IBrokerage interface
Adds IBBrokerage tests
Created IBGatewayRunner to manage the IB gateway/TWS start/stop
Cleaned up ITransactionHandler interface, removed some duplication
2015-01-24 17:50:14 -03:00
Jared Broad b3de520915 Initial commit 2015-01-12 12:03:33 -03:00