Commit Graph

942 Commits (4ab8545e87128dfe43b38edfdfd50cf1092df2bb)

Author SHA1 Message Date
Tyler Goodlet 6265ae8057 Add position event relay to ib broker backend 2021-03-11 21:38:31 -05:00
Tyler Goodlet 98bfee028a Add a position line api
Add a line which shows the current average price position with and arrow
marker denoting the direction (long or short). Required some further
rewriting of the infinite line from pyqtgraph including:
- adjusting marker (arrow) placement to be offset from axis + l1 labels
- fixing the hover event to not require the `.movable` attribute to be
  set
2021-03-11 21:35:09 -05:00
Tyler Goodlet 7075a968b4 Create an order mode module 2021-03-08 09:05:37 -05:00
Tyler Goodlet 7e214180a6 Remove old simulated order price on update 2021-03-07 22:17:19 -05:00
Tyler Goodlet fff9efe4aa Snap level line movements to tick size 2021-03-07 22:16:46 -05:00
Tyler Goodlet d58a82bd38 Factor and simplify paper clearing logic 2021-03-07 16:41:14 -05:00
Tyler Goodlet 5deea50963 Factor order request processing into new func 2021-03-07 16:25:47 -05:00
Tyler Goodlet e71bcb363c Drop stage line cacheing; the complexity isn't worth it. 2021-03-07 16:07:23 -05:00
Tyler Goodlet de5a69c59c Add mouse drag order update support to UI 2021-03-07 16:01:42 -05:00
Tyler Goodlet 6851bacd0a Add drag start/end callback support, remove from cursor hovered on delete 2021-03-07 15:50:50 -05:00
Tyler Goodlet 0ade7daebc Support simulated live order modification in paper engine 2021-03-07 13:34:03 -05:00
Tyler Goodlet 919ecab732 Support order modification in ems request loop 2021-03-07 13:12:39 -05:00
Tyler Goodlet a43ab1b983 Add order update method to client 2021-03-07 10:56:09 -05:00
Tyler Goodlet 2cabe1831c Attempt to handle existing order updates with ib backend 2021-03-06 16:33:56 -05:00
Tyler Goodlet a1a1dec885 Move L1 labels into lone module 2021-03-01 14:48:08 -05:00
Tyler Goodlet 8997b6029b Drop cruft 2021-03-01 12:02:07 -05:00
Tyler Goodlet 72c4a4366b Tag TWS trade events 2021-03-01 12:01:48 -05:00
Tyler Goodlet a1691cf1c5 Keep to one EMS daemon if possible 2021-03-01 11:28:44 -05:00
Tyler Goodlet 327129db37 Drop paper limit submissions for alerts 2021-02-25 18:44:40 -05:00
Tyler Goodlet 9f9b5480a6 More explicit private var name 2021-02-24 12:05:09 -05:00
Tyler Goodlet 948e133cae Split out ems daemon, client api and paper engine into new mods 2021-02-22 18:37:57 -05:00
Tyler Goodlet a9bbc223bb Add a new exchange subpackage 2021-02-22 17:28:34 -05:00
Tyler Goodlet 1142a538ea Don't forward errors without an order id 2021-02-22 10:45:01 -05:00
Tyler Goodlet af82f36bd8 Add comp trading ref 2021-02-21 16:04:04 -05:00
Tyler Goodlet e6ea053d40 Get kivy/questrade shit working again 2021-02-21 12:32:40 -05:00
Tyler Goodlet f724798336 Fix incorrect bounding rect calc 2021-02-21 12:02:20 -05:00
Tyler Goodlet 4b0e5662a5 Add default order lot sizes by asset type 2021-02-21 12:01:48 -05:00
Tyler Goodlet 6fb1945360 Fix and pass through piker loglevel correctly 2021-02-21 11:50:33 -05:00
Tyler Goodlet aa4a2ef64f Bump up font size one more time 2021-02-21 11:49:27 -05:00
Tyler Goodlet c2890b8197 Port level line to xhair methods 2021-02-21 11:48:51 -05:00
Tyler Goodlet d5b41e12c5 Add crosshair hide/show convenience methods 2021-02-21 11:45:24 -05:00
Tyler Goodlet 71745ddcd4 Even smaller text fill on axes 2021-02-21 11:44:58 -05:00
Tyler Goodlet 8c757d0bdd Accept a symbol type key from broker 2021-02-21 11:42:19 -05:00
Tyler Goodlet 38b2e99002 Fill clearable prices asap 2021-02-20 16:43:33 -05:00
Tyler Goodlet d8b157d209 First draft paper trading engine!
It's a super naive implementation with no slippage model or network
latency besides some slight delays. Clearing only happens on bid/ask
sweep ticks at the moment - simple last volume based clearing coming
up next.
2021-02-20 15:25:53 -05:00
Tyler Goodlet ead2f77d40 Add a symbol/asset type key 2021-02-19 18:43:56 -05:00
Tyler Goodlet add63734f1 Add an auto-reconnect websocket API 2021-02-19 18:42:50 -05:00
Tyler Goodlet bbd54e8f95 Report asset types, tick sizes, and order actions from ib 2021-02-19 17:23:37 -05:00
Tyler Goodlet 1ac4cc3dd3 Use new field label api for L1 2021-02-16 06:42:48 -05:00
Tyler Goodlet 880bdcffa7 Document order status list from ib 2021-02-12 09:07:49 -05:00
Tyler Goodlet b794855ad3 Port order mode to new order line api 2021-02-11 23:42:57 -05:00
Tyler Goodlet d91f07c947 Drop old candlestick graphics code 2021-02-11 23:42:17 -05:00
Tyler Goodlet aec8f1d25c Hide y-label on level line mouse over 2021-02-11 23:41:40 -05:00
Tyler Goodlet bf78c13df4 Attempt px perfection on crosshair lines placement 2021-02-11 14:03:47 -05:00
Tyler Goodlet f51e503e47 Support arbitrary fields (with update) in labels
This turned into a larger endeavour then intended but now we're using our
own label system on level lines to be able to display things nicely
**pinned wherever we want in the UI**. Keep the old ``LevelLabel`` for
now for the L1 graphics but we'll likely replace this as well since i'm
pretty sure the new label type (which wraps `QGraphicsTextItem`) is more
performant anyway.
2021-02-11 13:59:50 -05:00
Tyler Goodlet cbf259f3f3 Add hidpi issue regarding it being borky 2021-02-11 11:49:33 -05:00
Tyler Goodlet ca576ca3cf Add label delete method 2021-02-11 11:49:01 -05:00
Tyler Goodlet 0edca84b3d Yet another font size tweak 2021-02-11 11:48:40 -05:00
Tyler Goodlet dd1aed627e Tidy axis code 2021-02-11 11:48:19 -05:00
Tyler Goodlet 02edfdf846 Pass order size to ems 2021-02-11 11:47:34 -05:00