Tyler Goodlet
9200e8da57
Raw-dog-pop cancelled paper entries; old price dun matter
2022-08-26 10:46:46 -04:00
Tyler Goodlet
430d065da6
Handle paper-engine too-fast clearing race cases
...
When the paper engine is used it seems we can definitely hit races where
order ack msgs arrive close enough to status messages that `trio`
schedules the status processing before the acks. In such cases we want
to be tolerant and not crash but instead warn that we got an
unknown/out-of-order msg.
2022-08-26 10:46:46 -04:00
Tyler Goodlet
ecd93cb05a
Pass symbol with broker suffix to `.submit_limit()`; fix clearing
2022-08-26 10:46:46 -04:00
goodboy
c5447fda06
Merge pull request #390 from pikers/actually_enable_modules
...
Oneliner enable rpc modules on runtime open
2022-08-25 13:06:53 -04:00
Guillermo Rodriguez
0447612b34
Oneliner enable rpc modules on runtime open
2022-08-25 11:47:40 -03:00
goodboy
b5499b8225
Merge pull request #331 from pikers/deribit
...
Deribit backend & minimal broker check tool
2022-08-25 10:08:29 -04:00
Guillermo Rodriguez
00aabddfe8
Fix link
2022-08-25 09:22:15 -03:00
Guillermo Rodriguez
43fb720877
Do multiline imports
2022-08-25 09:20:41 -03:00
Guillermo Rodriguez
9626dbd7ac
Simplify rpc machinery, and switch refs to Dict and List to builtins, make brokercheck call public broker methods and get their results again
2022-08-25 09:18:52 -03:00
Guillermo Rodriguez
f286c79a03
Woops enable backfill_bars in module __init__.py
2022-08-24 19:41:04 -03:00
Guillermo Rodriguez
accb0eee6c
Add brokercheck guard on deribit.get_client && drop method running in brokercheck
2022-08-24 19:32:54 -03:00
Guillermo Rodriguez
e97dd1cbdb
Stop using as much closures
...
Use a custom tractor branch that fixes a `maybe_open_context` re entrant related bug
2022-08-24 18:09:35 -03:00
Guillermo Rodriguez
34fb497eb4
Add aiter api to NoBsWs and rework cryptofeed relay to not be OOPy
2022-08-24 18:09:35 -03:00
Guillermo Rodriguez
6669ba6590
Switch back to using async for and dont install signal handlers on cryptofeed
2022-08-24 18:09:35 -03:00
Guillermo Rodriguez
cb8099bb8c
Add README.rst and brokers.toml section in config example
2022-08-24 18:09:35 -03:00
Guillermo Rodriguez
80a1a58bfc
Refactor cryptofeed relay api and move it to client
...
Added submit_limit and submit_cancel
Cache syms correctly
Lowercase search results
2022-08-24 18:09:32 -03:00
Guillermo Rodriguez
d60f222bb7
Add get_balances, and get_assets rpc to deribit.api.Client
...
Improve symbol_info search results
Expect cancellation on cryptofeeds asyncio task
Fix the no trades on instrument bug that we had on startup
2022-08-24 18:08:45 -03:00
Guillermo Rodriguez
2c2e43d8ac
Add comments and update cryptofeed fork url in requirements
2022-08-24 18:08:31 -03:00
Guillermo Rodriguez
212b3d620d
Tweaks on Client init to make api credentials optional
2022-08-24 18:08:29 -03:00
Guillermo Rodriguez
92090b01b8
Begin jsonrpc over ws refactor
2022-08-24 18:06:00 -03:00
Guillermo Rodriguez
9073fbc317
drop pydantic to match master
2022-08-23 15:18:45 -03:00
Guillermo Rodriguez
f55f56a29f
Refactored deribit backend into new multi file format
2022-08-23 15:18:45 -03:00
Guillermo Rodriguez
28e025d02e
Finally get a chart going! lots of fixes to streaming machinery and custom cryptofeed fork with fixes
2022-08-23 15:18:43 -03:00
Guillermo Rodriguez
e558e5837e
Introduce piker protocol in stream_messages
2022-08-23 15:17:18 -03:00
Guillermo Rodriguez
a0b415095a
Brokermod check output fixed and tweaks to deribit Client.bars function
2022-08-23 15:17:18 -03:00
Guillermo Rodriguez
6df181c233
Add brokercheck test and got deribit to dump l1 and trades to console
2022-08-23 15:17:18 -03:00
Guillermo Rodriguez
7acc4e3208
Initial deribit mock up
2022-08-23 15:17:18 -03:00
Guillermo Rodriguez
10ea242143
Merge pull request #385 from pikers/asycvnc_pin_bump
...
Pin to `asyncvnc@main` after upstream fixes
2022-08-22 13:03:08 -03:00
Tyler Goodlet
eda6ecd529
Pin to `asyncvnc@main` after upstream fixes
...
We helped drive a bunch of fixes in
https://github.com/barneygale/asyncvnc/pull/4
This pins to our forked but matched `main` branch to get those fixes
until such a time as upstream makes another release.
2022-08-22 11:58:40 -04:00
goodboy
cf5b0bf9c6
Merge pull request #374 from pikers/open_order_loading
...
Open order loading
2022-08-19 15:23:49 -04:00
Tyler Goodlet
b9dba48306
Show correct account label on loaded order lines
...
Quite a simple fix, we just assign the account-specific
`PositionTracker` to the level line's `._on_level_change()` handler
instead of whatever the current `OrderMode.current_pp` is set to.
Further this adds proper pane switching support such that when a user
modifies an order line from an account which is not the currently
selected one, the settings pane is changed to reflect the
account and thus corresponding position info for that account and
instrument B)
2022-08-18 16:04:44 -04:00
Tyler Goodlet
4d2e23b5ce
Expose level line marker via property
2022-08-18 16:00:41 -04:00
Tyler Goodlet
973bf87e67
Don't log aboout unknown status msg if no oid
2022-08-18 11:51:12 -04:00
Tyler Goodlet
5861839783
Fix multi-account order loading..
...
We were overwriting the existing loaded orders list in the per client
loop (lul) so move the def above all that.
Comment out the "try-to-cancel-inactive-orders-via-task-after-timeout"
stuff pertaining to https://github.com/erdewit/ib_insync/issues/363 for
now since we don't have a mechanism in place to cancel the re-cancel
task once the order is cancelled - plus who knows if this is even the
best way to do it..
2022-08-18 11:51:12 -04:00
Tyler Goodlet
06845e5504
`kraken`: drop `make_sub()` and inline sub defs in `subscribe()`
2022-08-18 11:51:12 -04:00
Tyler Goodlet
43bdd4d022
Pass correct instrument symbol in position msgs
2022-08-18 11:51:12 -04:00
Tyler Goodlet
bafd2cb44f
Only relay fills if dialog still alive
2022-08-18 11:51:12 -04:00
Tyler Goodlet
be8fd32e7d
Only emit ems fill msgs for 'status' events from ib
...
Fills seems to be dual emitted from both the `status` and `fill` events
in `ib_insync` internals and more or less contain the same data nested
inside their `Trade` type. We started handling the 'fill' case to deal
with a race issue in commissions/cost report tracking but we don't
really want to leak that same race to incremental fills vs.
order-"closed" tracking.. So go back to only emitting the fill msgs
on statuses and a "closed" on `.remaining == 0`.
2022-08-18 11:51:12 -04:00
Tyler Goodlet
ee8c00684b
Add actor-global "broker client" for tracking reqids
2022-08-18 11:51:12 -04:00
Tyler Goodlet
7379dc03af
The `ps1` check doesn't work for `pdb`..
2022-08-18 11:51:12 -04:00
Tyler Goodlet
a602c47d47
Support loading paper engine live orders
2022-08-18 11:51:12 -04:00
Tyler Goodlet
317610e00a
Store positions globally and deliver on ctx connects
2022-08-18 11:51:12 -04:00
Tyler Goodlet
c4af706d51
Make order-book-vars globals to persist across ems-dialog connections
2022-08-18 11:51:12 -04:00
Tyler Goodlet
665bb183f7
Unpack existing live order params in case statement
2022-08-18 11:51:12 -04:00
Tyler Goodlet
f6ba95a6c7
Split existing live-open case into its own block
2022-08-18 11:51:12 -04:00
Tyler Goodlet
e2cd8c4aef
Add initial `kraken` live order loading
2022-08-18 11:51:12 -04:00
Tyler Goodlet
c8bff81220
Add runtime guards around feed pausing during interaction
2022-08-18 11:51:12 -04:00
Tyler Goodlet
2aec1c5f1d
Only pprint our struct when we detect a py REPL
2022-08-18 11:51:12 -04:00
Tyler Goodlet
bec32956a8
Move fill case-block earlier, log broker errors
2022-08-18 11:51:12 -04:00
Tyler Goodlet
91fdc7c5c7
Load boxed `.req` values as `Order`s in mode loop
2022-08-18 11:51:12 -04:00