Tyler Goodlet
7f580ad356
Pass through kwargs
2021-04-14 12:56:08 -04:00
Tyler Goodlet
9622254cdb
Hack broadcast chan for order submissions, smh
2021-04-14 11:02:14 -04:00
Tyler Goodlet
4774881812
Handle predicate not yet inserted to exec loop
2021-04-10 14:34:29 -04:00
Tyler Goodlet
9a15cd48f0
Just symbol info in window title
2021-04-10 14:18:40 -04:00
Tyler Goodlet
598aec579f
Avoid token checking type mismatches
2021-04-10 14:18:40 -04:00
Tyler Goodlet
fa7fadebac
Report sym on unexpected open
2021-04-10 14:18:40 -04:00
Tyler Goodlet
3147a49384
Move sample-broadcast routine into sampling module
2021-04-10 14:18:40 -04:00
Tyler Goodlet
71d02db126
Rename "buffer" to "sampling"
2021-04-10 14:18:40 -04:00
Tyler Goodlet
1523637979
Always update L1 labels
2021-04-10 14:18:40 -04:00
Tyler Goodlet
3506bbe05c
Nest async withs
2021-04-10 14:18:40 -04:00
Tyler Goodlet
a18a4b5a4c
Call the app what it is
2021-04-10 14:18:40 -04:00
Tyler Goodlet
20c99733b6
Let cli pass through actor name
2021-04-10 14:18:40 -04:00
Tyler Goodlet
47f823ab22
Always close emsd data connection on close
2021-04-10 14:18:40 -04:00
Tyler Goodlet
1281755d65
Don't use mem chan cloning, it doesn't actually broadcast
2021-04-10 14:18:40 -04:00
Tyler Goodlet
ddae08493b
Manage the send mem chan lifetime
2021-04-10 14:18:40 -04:00
Tyler Goodlet
28a961ebc0
Add a maybe-startup-runtime manager
2021-04-10 14:18:40 -04:00
Tyler Goodlet
100e27ac12
Task lock bus loading, always close feed stream on disconnect
2021-04-10 14:18:40 -04:00
Tyler Goodlet
8069bbe105
Drop old incrementer func
2021-04-10 14:18:40 -04:00
Tyler Goodlet
ce4144aace
Deliver and utilise broker backend OHLC sample rate in init msg
2021-04-10 14:18:40 -04:00
Tyler Goodlet
c05fc8991a
Rework ohlc sampling to launch from .start()
...
Avoid bothering with a trio event and expect the caller to do manual shm
registering with the write loop. Provide OHLC sample period indexing
through a re-branded pub-sub func ``iter_ohlc_periods()``.
2021-04-10 14:18:40 -04:00
Tyler Goodlet
a8a3f098cf
Drop lingering prints
2021-04-10 14:18:40 -04:00
Tyler Goodlet
5a970dad72
Port kraken backend to new data feed api
2021-04-10 14:18:40 -04:00
Tyler Goodlet
29b73b41fb
Slight rename; fix predicate is None bug
2021-04-10 14:18:40 -04:00
Tyler Goodlet
24bda8636e
Port quest to new client api
2021-04-10 14:18:40 -04:00
Tyler Goodlet
30dabbab44
Support backend volume summing; handle disconnects
2021-04-10 14:18:40 -04:00
Tyler Goodlet
1d013126b9
Fix type annot
2021-04-10 14:18:40 -04:00
Tyler Goodlet
b2eacb85d4
Don't hold lock on initial client construction
2021-04-10 14:18:40 -04:00
Tyler Goodlet
3ebb7ab6b1
Only activate Qt hidpi detection on windows for now
2021-04-10 14:18:40 -04:00
Tyler Goodlet
4f51ca74f4
Broadcast all tick types to subs, not just trades
2021-04-10 14:18:40 -04:00
Tyler Goodlet
5fc2aba3ed
Drop some more old cruft
2021-04-10 14:18:40 -04:00
Tyler Goodlet
8ccf987d52
Fix typo
2021-04-10 14:18:40 -04:00
Tyler Goodlet
7cc395b5bf
Open data feed in ems main entrypoint
2021-04-10 14:18:40 -04:00
Tyler Goodlet
14c5fc24ec
Port to new setup routine name
2021-04-10 14:18:40 -04:00
Tyler Goodlet
a82f43e3a5
Rework data feed API to allow for caching streams
...
Move all feed/stream agnostic logic and shared mem writing into a new
set of routines inside the ``data`` sub-package. This lets us move
toward a more standard API for broker and data backends to provide
cache-able persistent streams to client apps.
The data layer now takes care of
- starting a single background brokerd task to start a stream for as
symbol if none yet exists and register that stream for later lookups
- the existing broker backend actor is now always re-used if possible
if it can be found in a service tree
- synchronization with the brokerd stream's startup sequence is now
oriented around fast startup concurrency such that client code gets
a handle to historical data and quote schema as fast as possible
- historical data loading is delegated to the backend more formally by
starting a ``backfill_bars()`` task
- write shared mem in the brokerd task and only destruct it once requested
either from the parent actor or further clients
- fully de-duplicate stream data by using a dynamic pub-sub strategy
where new clients register for copies of the same quote set per symbol
This new API is entirely working with the IB backend; others will need
to be ported. That's to come shortly.
2021-04-10 14:18:40 -04:00
Tyler Goodlet
f17a26c948
Don't mistakenly alias options to underlyingn for positions
2021-04-10 14:18:40 -04:00
Tyler Goodlet
65e7680cdd
Draft a feed cacheing sub-system
2021-04-10 14:18:40 -04:00
Tyler Goodlet
0d4073dbd2
Move quote stream setup into a cacheing func
2021-04-10 14:18:40 -04:00
Tyler Goodlet
aa61bf5a65
Use mem-chans for quote streams; clone for multiple consumers
2021-04-10 14:18:40 -04:00
Tyler Goodlet
17d3e7a9e2
Don't shield ems feed; enact remote cancels
2021-04-10 14:18:40 -04:00
goodboy
feb8d5bbad
Merge pull request #153 from wattygetlood/windows_patches
...
Windows patches
2021-04-06 11:55:51 -04:00
Tyler Goodlet
549f81e85d
Fix lints
2021-04-03 12:29:56 -04:00
Tyler Goodlet
2b7cecc78e
Drop upcoming cached feed usage
2021-04-03 12:22:14 -04:00
Tyler Goodlet
6891309abd
Fix import
2021-04-03 12:22:14 -04:00
Tyler Goodlet
b1a1b32315
Better tractor startup, runtime detection
2021-04-03 12:22:14 -04:00
Tyler Goodlet
877db52162
Add license header
2021-04-03 12:22:14 -04:00
Tyler Goodlet
2a51582ec0
Start forming an services api
...
Add a `Services` nurseries container singleton for spawning sub-daemons
inside the long running `pikerd` tree. Bring in `brokerd` spawning util
funcs to start getting eyes on what can be factored into a service api.
2021-04-03 12:22:14 -04:00
Tyler Goodlet
38471b7b34
Use early return instead of branching for remote emsd spawning
2021-04-03 12:22:14 -04:00
Tyler Goodlet
fb996bfffb
Change subpkg name in cli
2021-04-03 12:22:14 -04:00
Tyler Goodlet
20a9617c18
Use open pikerd from chart entrypoint
2021-04-03 12:22:14 -04:00
Tyler Goodlet
4ab8545e87
Return early on remote actor lookups instead of branching
2021-04-03 12:22:14 -04:00
Tyler Goodlet
8ce37875a0
Use pikerd to spawn emsd
2021-04-03 12:22:14 -04:00
Tyler Goodlet
1931da97f4
Fix spawn attr typo, merge tractor kwargs
2021-04-03 12:22:14 -04:00
Tyler Goodlet
7ca05238af
Port pikerd entry to drop `tractor.run()`
2021-04-03 12:22:14 -04:00
Tyler Goodlet
79d37646a2
Add `open_pikerd()` and `spawn_emsd()`
...
The direct open is needed for running `pikerd` cmd and
the ems spawn point is the first step toward detaching UI based order
entry from the engine itself.
2021-04-03 12:22:14 -04:00
Tyler Goodlet
8812aff3b8
Fix import
2021-04-03 12:22:14 -04:00
Tyler Goodlet
26ee7260d6
Clearing is a better name
2021-04-03 12:22:14 -04:00
Tyler Goodlet
2b9ac8d8ec
Port daemon(s) to new clearing system apis
2021-04-03 12:22:14 -04:00
Guillermo Rodriguez
189c56c012
Add piker root daemon spawning machinery
...
Refactor maybe_spawn_brokerd to adapt to new process tree structure
and add a ``maybe_open_pikerd``.
2021-04-03 12:22:14 -04:00
Tyler Goodlet
d4395dbcbc
Make default view more zooomed in
2021-03-31 14:26:32 -04:00
Tyler Goodlet
f75b3108ce
Size execution arrows to dpi
2021-03-31 14:26:13 -04:00
Tyler Goodlet
0dfa92230d
Size level line markers to dpi aware font size
2021-03-31 14:25:51 -04:00
Tyler Goodlet
54d36f26f0
Base anchor contents labels based on dpi-aware font bounding rect
2021-03-31 14:25:17 -04:00
Tyler Goodlet
3f7d9c5c15
Base axis text offset on dpi-aware font size
2021-03-31 14:24:39 -04:00
Tyler Goodlet
3bd87caf4b
Hip shot: try making low dpi font sizes "just work"
2021-03-29 17:52:32 -04:00
wattygetlood
c39c4f11db
Forcinng trio spawner seems to work?
2021-03-28 17:24:30 -04:00
wattygetlood
583cafc947
Avoid loading posix unlinker, use shm bytes size
2021-03-28 17:23:59 -04:00
Tyler Goodlet
07a5bf4b7c
Use low dpi inches on 96 dpi
2021-03-19 09:33:47 -04:00
Tyler Goodlet
77fbde1115
Override the inverse transform func from pg
2021-03-19 00:40:39 -04:00
Tyler Goodlet
6fa1d4dc88
Show xhair even if order is filled while line is hovered
2021-03-18 21:57:08 -04:00
Tyler Goodlet
5610807b8e
Move marker factory funcs to new mod
2021-03-18 16:59:22 -04:00
Tyler Goodlet
55de079320
Add low dpi settings and different default view bars counts
2021-03-18 13:40:31 -04:00
Tyler Goodlet
67c5563090
Enable marker-on-select through order mode
2021-03-18 13:33:10 -04:00
Tyler Goodlet
68f75b582a
More fixes for kivy shit
2021-03-18 13:32:34 -04:00
Tyler Goodlet
cd5da45abf
Show order line marker on hover
2021-03-18 13:28:28 -04:00
Tyler Goodlet
2c7d8cdbb0
Support hiding only "half" the xhair
2021-03-18 13:27:49 -04:00
Tyler Goodlet
e1dc2b9225
Enable daemon debug through top level kwarg
2021-03-17 08:36:34 -04:00
Tyler Goodlet
aaca2b2f33
Tweak L1 labels to have more spaces
2021-03-17 08:26:28 -04:00
Tyler Goodlet
17b66e685f
Experiment with zoom focal @ L1 edge
2021-03-17 08:25:58 -04:00
Tyler Goodlet
d1c8c2a072
More level line reworking
...
- break (custom) graphics item style marker drawing into separate func
but keep using it since it still seems oddly faster then the
QGraphicsPathItem thing..
- unfactor hover handler; it was uncessary
- make both the graphics path item and custom graphics items approaches
both work inside ``.paint()``
2021-03-16 19:36:05 -04:00
Tyler Goodlet
adf6437449
Move margin settings to class scope
2021-03-16 15:59:44 -04:00
Tyler Goodlet
61198818dc
Fix label snap on line highlight bug
2021-03-14 12:28:11 -04:00
Tyler Goodlet
cf2f001bcc
Add save last datum toggle to y-label
2021-03-13 21:06:53 -05:00
Tyler Goodlet
776395791a
Pass action to line editor
2021-03-13 19:31:22 -05:00
Tyler Goodlet
c75dacb239
Support func ops on field data, extend anchor logics
2021-03-13 19:29:52 -05:00
Tyler Goodlet
c71a3e0fc5
Level line look and feel rework
...
Add support for drawing ``QPathGraphicsItem`` markers but don't use them
since they seem to be shitting up when combined with the infinite line
(bounding rect?): weird artifacts and whatnot. The only way to avoid
said glitches seems to be to update inside the infinite line's
`.paint()` but that slows stuff down.. Instead stick with the manual
paint job use the same pin point: left of the L1 spread graphics - where
the lines now also extend to.
Further stuff:
- Pin the y-label to a line's value on hover.
- Disable x-dimension line moving
- Rework the labelling to be more minimal
2021-03-13 17:31:15 -05:00
Tyler Goodlet
887c305d46
Allow y-label pinning on cross hair hide
2021-03-13 17:29:35 -05:00
Tyler Goodlet
9798689961
Lengthen label arrow a tad
2021-03-13 17:28:57 -05:00
Tyler Goodlet
f6dbdfab84
Don't crash on unknown orders execing
2021-03-13 17:28:22 -05:00
Tyler Goodlet
396f6b2a0d
Fix type annot
2021-03-12 07:41:47 -05:00
Tyler Goodlet
18ab81a967
Make crosshair lines a milder gray
2021-03-11 21:44:35 -05:00
Tyler Goodlet
624617d8e1
Don't run brokerds in debug mode by default
2021-03-11 21:44:10 -05:00
Tyler Goodlet
d016abcd0d
Adjust right axis anchor closure to include l1 label size
2021-03-11 21:43:29 -05:00
Tyler Goodlet
4a1df686a5
Update max l1 label size on chart
2021-03-11 21:42:38 -05:00
Tyler Goodlet
a51d5c536e
Add a couple more grays
2021-03-11 21:41:13 -05:00
Tyler Goodlet
31c14a2f9f
Add l1 label size tracking to chart widget
2021-03-11 21:40:50 -05:00
Tyler Goodlet
ea8120156f
Add position line updating to order mode
2021-03-11 21:40:06 -05:00
Tyler Goodlet
e91e7bea1f
Add position event support to ems
2021-03-11 21:38:59 -05:00
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