Commit Graph

190 Commits

Author SHA1 Message Date
Mark Veidemanis b882ba15d0
Write tests for crossfilter sub-functions 2022-12-12 19:53:32 +00:00
Mark Veidemanis 1793b5cc5d
Prevent betting against ourselves via inverted pairs 2022-12-12 19:53:20 +00:00
Mark Veidemanis d6ab0ffd0e
Add all models to admin site 2022-12-12 07:20:20 +00:00
Mark Veidemanis 06d8c9f4b2
Add tracker 2022-12-09 17:09:03 +00:00
Mark Veidemanis d1c44cee92
Improve professionalism by removing color 2022-12-08 07:20:46 +00:00
Mark Veidemanis cf4b8a0195
Lowercase trade in profit table 2022-12-08 07:20:46 +00:00
Mark Veidemanis 05f94e6e93
Rename trade action title 2022-12-08 07:20:46 +00:00
Mark Veidemanis a18572ebda
Add unrealized PL to profit screen 2022-12-08 07:20:46 +00:00
Mark Veidemanis 103a15f0e3
Add account ID to trade page buttons 2022-12-08 07:20:46 +00:00
Mark Veidemanis cd89b11611
Pass account ID to trade CRUD helper 2022-12-08 07:20:46 +00:00
Mark Veidemanis 633894ae75
Make account required for trade information 2022-12-08 07:20:46 +00:00
Mark Veidemanis 312ddb4dc1
Adjust titles for CRUD panels 2022-12-08 07:20:46 +00:00
Mark Veidemanis 0aef440229
Correctly check if no trend signals are defined 2022-12-08 07:20:46 +00:00
Mark Veidemanis 8840b04059
Use ObjectRead helper for all list and detail views 2022-12-08 07:20:46 +00:00
Mark Veidemanis 1e85e830b2
Fix positions CRUD 2022-12-08 07:20:07 +00:00
Mark Veidemanis d396abca84
Use CRUD helper for position list 2022-12-08 07:20:07 +00:00
Mark Veidemanis aa8ee887d3
Replace numbers with question marks in signal name 2022-12-07 07:20:05 +00:00
Mark Veidemanis 575b6a240f
Handle errors in checking for open positions 2022-12-07 07:20:47 +00:00
Mark Veidemanis af69b886ba
Add debug statement in crossfilter 2022-12-07 07:20:47 +00:00
Mark Veidemanis e388624f65
Move type field to signal 2022-12-07 07:20:11 +00:00
Mark Veidemanis 2ee5f7b937
Don't show all signals on strategy page 2022-12-01 07:20:35 +00:00
Mark Veidemanis baed991eca
Compact grid after closing widget 2022-12-07 07:20:32 +00:00
Mark Veidemanis d59d571679
Show hook name in signal string method 2022-12-06 22:43:43 +00:00
Mark Veidemanis 3b8e5dbdd1
Fix hook test method 2022-12-06 20:12:24 +00:00
Mark Veidemanis 15e00112af
Truncate strategy description 2022-12-06 20:06:35 +00:00
Mark Veidemanis 43caab5bf7
Make widgets appear lower to prevent pushdown 2022-12-06 20:04:22 +00:00
Mark Veidemanis 62c37a7a45
Color signals 2022-12-06 20:00:41 +00:00
Mark Veidemanis 6a549f3fd7
Allow spaces in signal name 2022-12-06 19:59:10 +00:00
Mark Veidemanis 3b3faecdf1
Implement trend signals 2022-12-06 19:46:06 +00:00
Mark Veidemanis 242c9fbaed
Make a proper front page 2022-11-29 07:20:39 +00:00
Mark Veidemanis a39a5c3857
Implement profit view and fix auto refresh 2022-11-29 07:20:39 +00:00
Mark Veidemanis 2b13802009
Make more fields optional and fix crash 2022-11-29 07:20:39 +00:00
Mark Veidemanis b3bacde8df
Remove unnecessary fields from trade response 2022-12-02 07:20:37 +00:00
Mark Veidemanis 62476e5da3
Remap trade details schema to expand trade variable 2022-12-02 07:20:37 +00:00
Mark Veidemanis c5d289ce85
Raise an error if a position has both short and long sides 2022-12-02 07:20:37 +00:00
Mark Veidemanis 1ce6c3fafa
Implement closing positions 2022-12-02 07:20:37 +00:00
Mark Veidemanis 5aac60a7ee
Remove some useless buttons 2022-12-02 07:20:37 +00:00
Mark Veidemanis 077768975d
Get the right signal name from the callback and fix position close schema 2022-12-02 07:20:37 +00:00
Mark Veidemanis 848f69da5e
Exits are exits, not entries 2022-12-01 21:13:21 +00:00
Mark Veidemanis 66a18a6406
Implement closing positions and refuse to post rejected trades 2022-12-01 20:36:58 +00:00
Mark Veidemanis 5c2eeae043
Implement crossfilter to protect against stupidity 2022-12-01 20:36:32 +00:00
Mark Veidemanis c0c1ccde8b
Add schemas for more commands 2022-12-01 20:36:09 +00:00
Mark Veidemanis 682d141b8a
Begin implementing exit executor for strategies 2022-12-01 19:33:06 +00:00
Mark Veidemanis bdae8ab093
Make callbacks handle signals 2022-12-01 19:32:50 +00:00
Mark Veidemanis 4527a9d04b
Reformat migrations 2022-12-01 19:32:29 +00:00
Mark Veidemanis 21b9585192
Validate strategy entries and exits 2022-12-01 19:32:08 +00:00
Mark Veidemanis 851d021af2
Make signals configurable 2022-11-29 07:20:21 +00:00
Mark Veidemanis f7242f4dd8
Fix off by one issue in OANDA 2022-11-29 07:20:39 +00:00
Mark Veidemanis f240c4b381
Improve navigating trades and positions by cross-linking 2022-11-29 07:20:39 +00:00
Mark Veidemanis 4e1b574921
Fix position list validation 2022-11-29 07:20:39 +00:00
Mark Veidemanis d3694d1821
Describe all model fields 2022-11-28 20:42:07 +00:00
Mark Veidemanis 3a6c3cee1f
Fix login redirect 2022-11-28 20:05:48 +00:00
Mark Veidemanis 0fc7c5c712
Implement more advanced 2FA library 2022-11-28 19:45:22 +00:00
Mark Veidemanis 7a64759ceb
Implement permission checking in views and forms 2022-11-28 18:09:41 +00:00
Mark Veidemanis bb7d6d1b41
Rename test 2022-11-28 17:09:53 +00:00
Mark Veidemanis 974deeafaa
Add missing space 2022-11-25 22:15:27 +00:00
Mark Veidemanis 4973582bdf
Implement trading time limits 2022-11-25 19:28:21 +00:00
Mark Veidemanis 69a2b269ad
Link trading times to strategies 2022-11-25 18:05:02 +00:00
Mark Veidemanis baa8e4fead
Implement configuration of trading times 2022-11-25 18:01:34 +00:00
Mark Veidemanis bcb3272064
Re-render invalid forms and fix space handling 2022-11-25 18:01:13 +00:00
Mark Veidemanis b525611aaa
Clarify value and quantity in position table headers 2022-11-22 07:20:37 +00:00
Mark Veidemanis cb88cf33c2
Prevent rounding errors in value calculation 2022-11-22 07:20:37 +00:00
Mark Veidemanis 3f8fb66656
Fix price bound logic 2022-11-22 08:10:38 +00:00
Mark Veidemanis 46bba54cb7
Allow absent price 2022-11-21 07:20:12 +00:00
Mark Veidemanis f6b5652268
Update Drakdoo API format 2022-11-21 07:20:12 +00:00
Mark Veidemanis ca434b8cf0
Remove offset panel 2022-11-15 07:20:17 +00:00
Mark Veidemanis d7e81dedb2
Implement trailing stop loss 2022-11-15 07:20:17 +00:00
Mark Veidemanis 5c68191e5b
Calculate price slippage more reliably and allow specifying order type and time in force 2022-11-15 07:20:17 +00:00
Mark Veidemanis c8f776e2a8
Set the type back to market 2022-11-15 07:20:17 +00:00
Mark Veidemanis 2aac7d1bb5
Add controls boilerplate to main page 2022-11-14 18:29:07 +00:00
Mark Veidemanis d2e0137c8d
Fix widgets in pages 2022-11-14 17:14:47 +00:00
Mark Veidemanis e3d57c9aa8
Fix HTMX widgets and tweak display of some titles 2022-11-13 13:22:31 +00:00
Mark Veidemanis 781de3c772
Convert everything to Decimal 2022-11-11 07:20:00 +00:00
Mark Veidemanis 9fc5d2f4d7
Initialise inverted variable in currency conversion 2022-11-11 07:20:00 +00:00
Mark Veidemanis 67404fc161
Don't convert between the same currency 2022-11-11 07:20:00 +00:00
Mark Veidemanis 3f855dfb59
Remove some debug statements 2022-11-11 07:20:00 +00:00
Mark Veidemanis afb0504dca
Documented the market system properly, squashed some bugs 2022-11-11 07:20:00 +00:00
Mark Veidemanis c3d908341a
Refactor and ignore n/a exchange callbacks 2022-11-10 07:20:20 +00:00
Mark Veidemanis 8b52063473
Refactor execute_strategy into functions and send a price bound 2022-11-10 19:52:52 +00:00
Mark Veidemanis af9f874209
Improve posting trades to OANDA and make everything more robust 2022-11-10 19:27:46 +00:00
Mark Veidemanis bf863f43b2
Check exchange name and remove redundant code, use IOC orders for OANDA 2022-11-10 07:20:28 +00:00
Mark Veidemanis 40f6330a13
Remove asset filter and begin implementing posting trades 2022-11-10 07:20:14 +00:00
Mark Veidemanis 47384aed5f
Update webmanifest 2022-11-10 09:52:30 +00:00
Mark Veidemanis e8a2f9b0fa
Update strategy defaults 2022-11-06 07:20:24 +00:00
Mark Veidemanis 6dd2997a74
Fix posting trades 2022-11-06 07:20:32 +00:00
Mark Veidemanis 60979652d9
Implement more validation and conversion 2022-11-04 07:20:14 +00:00
Mark Veidemanis d34ac39d68
Pull object names from model definitions in CRUD views 2022-11-04 07:20:42 +00:00
Mark Veidemanis 0c52cbd0f8
Use new call helper for all OANDA commands 2022-11-04 07:20:12 +00:00
Mark Veidemanis b36791d56b
Simplify schema and error handling 2022-11-04 07:20:55 +00:00
Mark Veidemanis 04a87c1da6
Add some comments about the exchange variables 2022-11-04 09:15:09 +00:00
Mark Veidemanis 7770a3844c
Make failing during validation or conversion configurable 2022-11-04 08:58:01 +00:00
Mark Veidemanis 65f650f1ac
Check if hook exists 2022-11-03 15:59:27 +00:00
Mark Veidemanis d319769fe0
Finish porting data structures for positions 2022-11-02 19:09:50 +00:00
Mark Veidemanis 48858bf20b
Fix price parsing 2022-11-02 19:04:05 +00:00
Mark Veidemanis 1f75da40af
Set account ID in exchange library instead of the view 2022-11-02 18:28:31 +00:00
Mark Veidemanis 5cb7d08614
Convert API responses with Glom 2022-11-02 18:25:34 +00:00
Mark Veidemanis 396d838416
Change positions fields 2022-11-02 18:24:56 +00:00
Mark Veidemanis 8ee56b0e37
Begin implementing pydantic validation for OANDA 2022-10-31 08:58:08 +00:00
Mark Veidemanis c15ae379f5
Wrap API calls in helper and validate response 2022-10-30 19:11:07 +00:00
Mark Veidemanis f22fcfdaaa
Implement stub functions for OANDA 2022-10-30 11:21:48 +00:00