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
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
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