Commit Graph

831 Commits (69df73afc3e2d33aff05ae102ff6f73a1fc688f1)

Author SHA1 Message Date
Tyler Goodlet 69df73afc3 Deliver symbol info from kraken; start using pydantic 2021-02-06 14:23:27 -05:00
Tyler Goodlet a8c4829cb6 Start using `tick_size` throughout charting
The min tick size is the smallest step an instrument can move in value
(think the number of decimals places of precision the value can have).

We start leveraging this in a few places:
- make our internal "symbol" type expose it as part of it's api
  so that it can be passed around by UI components
- in y-axis view box scaling, use it to keep the bid/ask spread (L1 UI)
  always on screen even in the case where the spread has moved further
  out of view then the last clearing price
- allows the EMS to determine dark order live order submission offsets
2021-02-06 11:35:12 -05:00
Tyler Goodlet 03541bd368 Drop unneeded .hide(); add more comments 2021-01-26 22:16:18 -05:00
Tyler Goodlet cfc36e7928 Snap y-cursor-label to min tick 2021-01-26 22:15:45 -05:00
Tyler Goodlet 708086cbcb Convert contractsto dicts on errors 2021-01-26 13:34:49 -05:00
Tyler Goodlet 5a0612e6a8 Factor some line and label steps 2021-01-26 13:34:29 -05:00
Tyler Goodlet 8501a9be4f Lol actually fix screen wakeup lookup.. 2021-01-26 12:26:43 -05:00
Tyler Goodlet a232e8bc39 Display order size on order lines in order mode 2021-01-26 11:36:44 -05:00
Tyler Goodlet 25ec5faaef Drop removed show_label kwarg 2021-01-26 11:28:24 -05:00
Tyler Goodlet b9d9dbfc4a Support size fields on order lines; avoid overlap with L1 lines 2021-01-26 11:27:50 -05:00
Tyler Goodlet 990c3a1eac Try out 3 ticks away as limit submission 2021-01-26 11:26:30 -05:00
Tyler Goodlet cc5af7319f Slightly lighter sell red, try to fix screen stuff... 2021-01-22 23:02:23 -05:00
Tyler Goodlet 18fafb501d Use dashed lines for dark orders 2021-01-22 23:01:12 -05:00
Tyler Goodlet 4b2161a37b Use 2 min-ticks offset for dark orders 2021-01-22 23:00:01 -05:00
Tyler Goodlet f072e2551b Snap y-axis crosshair to min tick(s) 2021-01-22 22:59:00 -05:00
Tyler Goodlet 50d2d8517b Add support for dotted style level lines 2021-01-22 22:57:42 -05:00
Tyler Goodlet 92efb8fd8e Expect new init message in feed from brokers 2021-01-22 22:56:42 -05:00
Tyler Goodlet b4a4f12aa4 Send init message with kraken 2021-01-22 22:55:49 -05:00
Tyler Goodlet 10e47e349c Include symbol deats in feed init message from ib
Async spawn a deats getter task whenever we load a symbol data feed.
Pass these symbol details in the first message delivered by the feed at
open. Move stream loop into a new func.
2021-01-22 17:11:53 -05:00
Tyler Goodlet 5327d7be5e Add screen acquire timeout loop 2021-01-22 16:46:39 -05:00
Tyler Goodlet f82127de31 Add "live order" submission using ctl-<action key> 2021-01-19 20:48:58 -05:00
Tyler Goodlet 7811119736 Support toggling level line highlighting 2021-01-19 20:47:55 -05:00
Tyler Goodlet 149820b3b0 Get "dark (order) mode" workin!
Basically a stop limit mode where the dirty execution-condition deats
are entirely held client side away from the broker. For now, there's
a static order size setting and a 0.5% limit setting relative to the
trigger price. Swap to using 'd' for dump and 'f' for fill - they're
easier for use with ctrl (which is used now to submit orders directly to
broker - ala "live (order) mode"). Still more kinks to work out with too
fast cancelled orders and alerts but we're getting there.
2021-01-19 16:58:01 -05:00
Tyler Goodlet 794665db70 Drop log msg 2021-01-18 20:28:52 -05:00
Tyler Goodlet e6724b6559 Move order mode handling into charting code 2021-01-18 20:28:37 -05:00
Tyler Goodlet f3ae8db04b Big refactor; start paper client 2021-01-18 19:56:35 -05:00
Tyler Goodlet 2bf95d7ec7 Fix clients map typing annot 2021-01-15 21:10:08 -05:00
Tyler Goodlet 5acd780eb6 Get live mode correct and working 2021-01-15 21:10:08 -05:00
Tyler Goodlet 3e959ec260 Add fill handler to order mode 2021-01-15 21:10:08 -05:00
Tyler Goodlet bdc02010cf Finally, sanely normalize local trades event data 2021-01-15 21:10:08 -05:00
Tyler Goodlet c835cc10e0 Get "live" order mode mostly workin 2021-01-15 21:10:08 -05:00
Tyler Goodlet 1c7da2f23b Include bidict as dep 2021-01-15 21:10:08 -05:00
Tyler Goodlet ee8caa80d4 Add order cancellation and error support 2021-01-15 21:10:08 -05:00
Tyler Goodlet 140f3231e7 Add basic client-side order entry to EMS 2021-01-15 21:10:08 -05:00
Tyler Goodlet f9d4df7378 Start higher level order mode API 2021-01-15 21:10:08 -05:00
Tyler Goodlet 53c0816c5f Add color properties for level line and label 2021-01-15 21:10:08 -05:00
Tyler Goodlet c1266a7a1d Add buy/sell colors 2021-01-15 21:10:08 -05:00
Tyler Goodlet 12aebcc89c Expose "proxy" api a little better 2021-01-15 21:10:08 -05:00
Tyler Goodlet e51670a573 Try dynamically loading screen 2021-01-15 21:10:08 -05:00
Tyler Goodlet 5503a5705a Drop old line 2021-01-15 21:10:08 -05:00
Tyler Goodlet 3e7057d247 Use feed's trade streamin in ems 2021-01-15 21:10:08 -05:00
Tyler Goodlet 611486627f Cleaning 2021-01-15 21:10:08 -05:00
Tyler Goodlet bd180a3482 Add trades data stream routine to Feed 2021-01-15 21:10:08 -05:00
Tyler Goodlet 280739b51a Add trades data streaming support 2021-01-15 21:10:08 -05:00
Tyler Goodlet 620f5fee6e Wishful thinking with conditional mngrs 2021-01-15 21:10:08 -05:00
goodboy 5a4f5c35ae
Merge pull request #146 from pikers/basic_alerts
Basic alerts
2021-01-15 21:09:33 -05:00
goodboy 03074d4717
Merge pull request #145 from pikers/y_zoom
Y zoom
2021-01-15 21:07:02 -05:00
Tyler Goodlet 39e4953a6a Get order cancellation working 2021-01-07 22:08:25 -05:00
Tyler Goodlet dba8457be9 Trigger kraken sample increment after startup 2021-01-07 12:17:10 -05:00
Tyler Goodlet 282cc85ba0 Create an "order mode"
Our first major UI "mode" (yes kinda like the modes in emacs) that has
handles to a client side order book api, line and arrow editors, and
interacts with a spawned `emsd` (the EMS daemon actor).

Buncha cleaning and fixes in here for various thingers as well.
2021-01-07 12:03:18 -05:00