Commit Graph

340 Commits

Author SHA1 Message Date
Sam Germain 5b6dbbd750 Changed order of buy_tag in migrations 2021-08-03 00:23:21 -06:00
Sam Germain d88e2ae603 Merge branch 'develop' into margin-db 2021-08-02 23:58:44 -06:00
Matthias c5e3348b89 Migrations for indexes should run in a seperate session
closes #5349
2021-07-31 16:36:28 +02:00
Sam Germain ef429afb6f Removed is_oeing_trade is_closing_trade 2021-07-31 01:22:48 -06:00
Sam Germain d6ffd23865 Merged with remote 2021-07-31 01:19:11 -06:00
Sam Germain 26be620f71 Removed LocalTrade.set_is_short 2021-07-31 00:20:25 -06:00
Sam Germain fadb0de7c7 Removed excess modes stop_loss method, removed models.is_opening_side models.is_closing_side 2021-07-31 00:12:53 -06:00
Matthias aa34889c04 Don't run migrations twice 2021-07-30 07:14:35 +02:00
Sam Germain 3fb7f983f8 Added is_short and leverage to __repr__ 2021-07-28 12:25:56 -06:00
Sam Germain 195badeb80 Changed liquidation_price to isolated_liq 2021-07-28 12:25:56 -06:00
Sam Germain 6ad9b535a9 persistence all to one test file, use more regular values like 2.0 for persistence tests 2021-07-28 12:25:56 -06:00
Sam Germain a900570f1a Added enter_side and exit_side computed variables to persistence 2021-07-28 12:25:56 -06:00
Matthias 317f4ebce0 Boolean sqlite fix for orders table 2021-07-28 12:25:56 -06:00
Matthias 071f6309cc Try fix migration tests 2021-07-28 12:25:56 -06:00
Sam Germain af8875574c updated mkdocs and leverage docs
Added tests for set_liquidation_price and set_stop_loss
updated params in interestmode enum
2021-07-28 12:25:56 -06:00
Sam Germain 256160740e Updated interest and ratio calculations to correct functions 2021-07-28 12:25:56 -06:00
Sam Germain 8e52a3a29c updated ratio_calc_profit function 2021-07-28 12:25:55 -06:00
Sam Germain 006a60e5a4 Added docstrings to methods 2021-07-28 12:25:55 -06:00
Sam Germain b0476ebd3e All persistence margin tests pass
Flake8 compliant, passed mypy, ran isort .
2021-07-28 12:25:55 -06:00
Sam Germain 52def4e826 Changed InterestMode enum implementation 2021-07-28 12:25:55 -06:00
Sam Germain 60572c9e0d Took liquidation price out of order completely 2021-07-28 12:25:55 -06:00
Sam Germain 737a62be52 set initial_stop_loss in stoploss helper 2021-07-28 12:25:55 -06:00
Sam Germain f566d83839 Tried to add liquidation price to order object, caused a test to fail 2021-07-28 12:25:55 -06:00
Sam Germain 31fa6f9c25 updated timezone.utc time 2021-07-28 12:25:55 -06:00
Sam Germain 811cea288d Added checks for making sure stop_loss doesn't go below liquidation_price 2021-07-28 12:25:55 -06:00
Sam Germain 286427c04a Moved interest calculation to an enum 2021-07-28 12:25:55 -06:00
Sam Germain be3a9390fe Switched migrations.py check for stake_currency back to open_rate, because stake_currency is no longer a variable 2021-07-28 12:25:55 -06:00
Sam Germain 0ffc85fed9 Set default leverage to 1.0 2021-07-28 12:25:55 -06:00
Sam Germain 78708b27f2 Updated tests to new persistence 2021-07-28 12:25:55 -06:00
Matthias e0d42d2eb7 Fix migrations, revert some parts related to amount properties 2021-07-28 12:25:55 -06:00
Sam Germain e4d4d1d1f1 Wrote all tests for shorting 2021-07-28 12:25:55 -06:00
Sam Germain f194673001 Updated ratio calculation, updated short tests 2021-07-28 12:25:55 -06:00
Sam Germain 5ac03762f0 Kraken interest test comes really close to passing
Added more trades to conftest_trades
2021-07-28 12:25:55 -06:00
Sam Germain df360fb281 Made borrowed a computed property 2021-07-28 12:25:55 -06:00
Sam Germain 68d3699c19 Turned amount into a computed property 2021-07-28 12:25:55 -06:00
Sam Germain efcc2adacf About 15 margin tests pass 2021-07-28 12:25:55 -06:00
Sam Germain f5d7deedf4 added exception checks to LocalTrade.leverage and LocalTrade.borrowed 2021-07-28 12:25:55 -06:00
Sam Germain 34073135b7 Added types to setters 2021-07-28 12:25:55 -06:00
Sam Germain d07fe1586c Set leverage and borowed to computed properties 2021-07-28 12:25:55 -06:00
Sam Germain c24ec89dc4 Started some pytests for short and leverage
1 short test passes
2021-07-28 12:25:55 -06:00
Sam Germain b80f8ca0af Created interest function 2021-07-28 12:25:55 -06:00
Sam Germain 000932eed0 Adding templates for leverage/short tests
All previous pytests pass
2021-07-28 12:25:55 -06:00
Sam Germain 10979361c1 Added changes suggested in pull request, fixed breaking changes,
can run the bot again
2021-07-28 12:25:55 -06:00
Sam Germain 741ca0e58c Added changed to persistance/migrations 2021-07-28 12:25:55 -06:00
Sam Germain 7823a33cbb Updated Trade class 2021-07-28 12:25:55 -06:00
Sam Germain c7e8439c76 Updated LocalTrade and Order classes 2021-07-28 12:25:55 -06:00
Sam Germain 10d214ccad Added is_short and leverage to __repr__ 2021-07-26 23:09:47 -06:00
Sam Germain 4fcae0d927 Changed liquidation_price to isolated_liq 2021-07-26 23:09:47 -06:00
Sam Germain 1918304c5b persistence all to one test file, use more regular values like 2.0 for persistence tests 2021-07-26 23:09:47 -06:00
Sam Germain 35fd8d6a02 Added enter_side and exit_side computed variables to persistence 2021-07-26 23:09:47 -06:00
Matthias 3d7a74551f Boolean sqlite fix for orders table 2021-07-26 23:09:47 -06:00
Matthias 9a03cae920 Try fix migration tests 2021-07-26 23:09:47 -06:00
Sam Germain 0d06d7e108 updated mkdocs and leverage docs
Added tests for set_liquidation_price and set_stop_loss
updated params in interestmode enum
2021-07-26 23:09:47 -06:00
Sam Germain f1dc6b54ad Updated interest and ratio calculations to correct functions 2021-07-26 23:09:47 -06:00
Sam Germain 358f0303b9 updated ratio_calc_profit function 2021-07-26 23:09:47 -06:00
Sam Germain 546a7353df Added docstrings to methods 2021-07-26 23:09:47 -06:00
Sam Germain 7f75c978a0 All persistence margin tests pass
Flake8 compliant, passed mypy, ran isort .
2021-07-26 23:09:47 -06:00
Sam Germain a368dfa7b5 Changed InterestMode enum implementation 2021-07-26 23:09:47 -06:00
Sam Germain 86888dbbf0 Took liquidation price out of order completely 2021-07-26 23:09:47 -06:00
Sam Germain 98acb0f4ff set initial_stop_loss in stoploss helper 2021-07-26 23:09:46 -06:00
Sam Germain dd6cc1153b Tried to add liquidation price to order object, caused a test to fail 2021-07-26 23:09:46 -06:00
Sam Germain 1414df5e27 updated timezone.utc time 2021-07-26 23:09:46 -06:00
Sam Germain 2aa2b5bcff Added checks for making sure stop_loss doesn't go below liquidation_price 2021-07-26 23:09:46 -06:00
Sam Germain 1b202ca22e Moved interest calculation to an enum 2021-07-26 23:09:46 -06:00
Sam Germain b6c8b60e65 Switched migrations.py check for stake_currency back to open_rate, because stake_currency is no longer a variable 2021-07-26 23:09:46 -06:00
Sam Germain 0d5749c508 Set default leverage to 1.0 2021-07-26 23:09:46 -06:00
Sam Germain 9ddb6981dd Updated tests to new persistence 2021-07-26 23:09:46 -06:00
Matthias 75b2c9ca1b Fix migrations, revert some parts related to amount properties 2021-07-26 23:09:46 -06:00
Sam Germain 25ff726921 Wrote all tests for shorting 2021-07-26 23:09:46 -06:00
Sam Germain 4d057b8047 Updated ratio calculation, updated short tests 2021-07-26 23:09:46 -06:00
Sam Germain 3a8a9eb255 Kraken interest test comes really close to passing
Added more trades to conftest_trades
2021-07-26 23:09:46 -06:00
Sam Germain 876386d2db Made borrowed a computed property 2021-07-26 23:09:46 -06:00
Sam Germain 2a50f4ff7b Turned amount into a computed property 2021-07-26 23:09:46 -06:00
Sam Germain da81be9050 About 15 margin tests pass 2021-07-26 23:09:46 -06:00
Sam Germain 6f6deae376 added exception checks to LocalTrade.leverage and LocalTrade.borrowed 2021-07-26 23:09:46 -06:00
Sam Germain c68a0f05d8 Added types to setters 2021-07-26 23:09:46 -06:00
Sam Germain 691a042e29 Set leverage and borowed to computed properties 2021-07-26 23:09:46 -06:00
Sam Germain 692c55088a Started some pytests for short and leverage
1 short test passes
2021-07-26 23:09:46 -06:00
Sam Germain b6cc3f02bf Created interest function 2021-07-26 23:09:46 -06:00
Sam Germain 613eecf16a Adding templates for leverage/short tests
All previous pytests pass
2021-07-26 23:09:46 -06:00
Sam Germain 67341aa4f2 Added changes suggested in pull request, fixed breaking changes,
can run the bot again
2021-07-26 23:09:46 -06:00
Sam Germain 20dcd9a1a2 Added changed to persistance/migrations 2021-07-26 23:09:46 -06:00
Sam Germain 69e81100e4 Updated Trade class 2021-07-26 23:09:46 -06:00
Sam Germain a27171b371 Updated LocalTrade and Order classes 2021-07-26 23:09:46 -06:00
kevinjulian dd809f756b run mypy 2021-07-22 02:34:20 +07:00
kevinjulian 49886874aa rename to buy_tag 2021-07-21 20:05:35 +07:00
kevinjulian c558fc0b17 fix feedback 2021-07-20 20:40:32 +07:00
Kevin Julian edf9c08f06
Merge branch 'develop' into feat/kevinjulian/add-buy-signal-name 2021-07-20 19:19:46 +07:00
kevinjulian 7d04005218 add test and migration 2021-07-20 16:14:48 +07:00
kevinjulian 9e63bdbac9 feat: add buy signal name 2021-07-20 04:58:20 +07:00
Matthias b41c234440 Extract Closed profit calculation to trade object 2021-07-12 06:54:06 +02:00
Eugene Schava d54de72471 "/profit N" command should print best pair for the same period of time, not for all trades 2021-06-28 23:42:09 +03:00
Matthias c65b4e5d3b Small fix to models 2021-06-13 11:20:22 +02:00
Matthias 756904f985 Set sell_reason to stoploss when closing the trade as stoploss
closes #5101
2021-06-08 21:21:29 +02:00
Matthias 66de5df1d1 Update sqlite init method 2021-05-27 11:38:28 +02:00
Matthias b82f7a2dfd Update orders-migrations to work with new sqlalchemy syntax 2021-05-27 11:38:28 +02:00
Matthias a01d05997e Add Trade.commit method for easy use 2021-05-27 11:38:28 +02:00
Matthias 6fb32c3594 Use commit instead of .flush() 2021-05-27 11:38:28 +02:00
Matthias eaa47ff335 Don't use autocommit 2021-05-27 11:38:28 +02:00
Matthias c31cb67118 Further changes for sqlalchemy 1.4 2021-05-27 11:38:28 +02:00
Matthias 2f79958acb Move declarative_base import to import from .orm 2021-05-27 11:38:28 +02:00
Matthias cc064f1574 String columns should have a max-length defined
otherwise MySql will not work.
2021-05-22 10:12:23 +02:00
Matthias 6acb2eb2b6 Add average column to orders table 2021-05-21 20:35:39 +02:00
Matthias 6b2a38ccfb Add absolute Profit to apiserver 2021-05-15 19:39:46 +02:00
Matthias 6eb947ae09 Move static Trade functions to right class 2021-04-28 06:37:40 +02:00
Matthias 9f6f3e0862 Address ZeroDivisionExceptiond
closes #4764 closes #4617
2021-04-20 21:41:49 +02:00
Matthias 37c8fd6ad7 Remove arrow from models.py 2021-04-13 11:55:03 +02:00
Matthias 9a58a85347 Don't export "hum" date versions for trade objects.
They are not used and have a rather high performance penalty due to
using arrow.get
2021-04-13 06:17:11 +02:00
Matthias 7132aefd60 Rename Trade.session to Trade._session 2021-04-05 08:46:12 +02:00
Matthias 0407bf755f Use .query.session to make sure the scoped session is used properly 2021-04-05 07:28:51 +02:00
shubhendra 537ad059bc
Remove unnecessary use of comprehension
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:46 +05:30
Matthias 3b99f04a78
Merge pull request #4535 from freqtrade/fix/backtestperformance
Improve backtest performance after enabling compounding
2021-03-13 16:51:00 +01:00
Matthias 0320c8dc92 Improve tests for trades_proxy 2021-03-13 15:51:27 +01:00
Matthias d1acc8092c Improve backtest performance 2021-03-13 10:17:14 +01:00
Matthias 441d3fad39
Merge pull request #4513 from freqtrade/fix/4511
Fix stoploss order problem with FTX
2021-03-11 19:39:44 +01:00
Matthias 0db5c9746f
Merge pull request #4454 from freqtrade/backtest_compound_speed
Backtest compound, wallet, ...
2021-03-10 10:07:40 +01:00
Matthias 99583bbd0c Fix problem with FTX
where cancelled orders are "cancelled", not "canceled"
2021-03-09 20:21:08 +01:00
Matthias 3d65ba2dcb Add rpc method to delete locks 2021-03-01 07:51:33 +01:00
Matthias b2e9295d7f Small stylistic fixes 2021-02-27 19:57:42 +01:00
Matthias 60db6ccf45 Add test for subclassing 2021-02-27 09:33:00 +01:00
Matthias 03eb23a4ce 2 levels of Trade models, one with and one without sqlalchemy
Fixes a performance issue when backtesting with sqlalchemy, as that
uses descriptors for all properties.
2021-02-27 09:33:00 +01:00
Matthias 0754a7a78f total_open_trades_stake should support no-db mode 2021-02-27 09:32:59 +01:00
Matthias 20455de2a9 Small enhancements to docs 2021-02-27 09:32:59 +01:00
Matthias 081b9be45c use get_all_locks to get locks for backtest result 2021-02-27 09:32:59 +01:00
Matthias 712d503e6c Use sell-reason value in backtesting, not the enum object 2021-02-27 09:32:59 +01:00
Matthias c5ab3a80a5 Check if order is a dict before parsing
closes #4331
2021-02-08 19:35:22 +01:00
Matthias c659150d9f Also print trade_duration in seconds to json 2021-01-25 19:42:34 +01:00
Matthias 3b51545d23 Add trade_duration to to_json 2021-01-24 08:58:41 +01:00
Matthias 8f6aefb591 Extract stoploss assignment 2020-12-18 06:56:56 +01:00
Matthias 7eab33de08 Merge branch 'develop' into plugins/protections_backtest 2020-12-13 10:31:33 +01:00
Matthias 95fd3824da Finish renamal of open_trade_price to open_value 2020-12-10 19:36:52 +01:00
Matthias 201cc67e05 Rename open_trade_price to "open_trade_value" 2020-12-10 19:21:20 +01:00
Matthias c37bc307e2 Small finetunings to documentation 2020-12-07 16:12:03 +01:00
Matthias 75a5161650 Support multis-strategy backtests with protections 2020-12-07 11:39:01 +01:00
Matthias 9f34aebdaa Allow closing trades without message 2020-12-07 11:39:01 +01:00
Matthias 98c88fa58e Prepare protections for backtesting 2020-12-07 11:39:01 +01:00
Matthias 768d7fa196 Readd optional for get_pair_locks - it's necessary 2020-12-07 08:23:10 +01:00
Matthias 6d0f16920f Get Longest lock logic 2020-12-07 08:23:10 +01:00
Matthias fc97266dd4 Add "now" to lock_pair method 2020-12-07 08:23:10 +01:00
Matthias 05be33ccd4 Simplify is_pair_locked 2020-12-07 08:23:10 +01:00
Matthias 1d56c87a34 Fully support kraken limit stoploss 2020-11-25 21:40:39 +01:00
Matthias d1dab23283 Remove deprecated api fields 2020-11-03 08:59:11 +01:00
Matthias cf89a773da Standardize trade api outputs
there should be no difference between current_profit and close_profit
 it's always profit, and the information if it's a closed trade is available elsewhere
2020-11-03 08:58:57 +01:00
Matthias 72f61f4682 Remove optional, now is not optional 2020-10-27 10:08:24 +01:00
Matthias 5c8779b155 Sort imports 2020-10-27 08:11:57 +01:00
Matthias 6c913fa617 Fix locking - should round before storing to have a consistent picture 2020-10-27 08:01:31 +01:00
Matthias e602ac3406 Introduce Pairlocks middleware 2020-10-27 07:06:06 +01:00
Matthias 9999017953 Fix small bug in case of duplicate locks 2020-10-22 08:04:48 +02:00
Matthias cf1a726198 Rename table to be inline with other table naming 2020-10-22 07:35:59 +02:00
Matthias a143f7bc43 Improve pairlock docstrings 2020-10-21 19:35:57 +02:00
Matthias 1156f5e686 Use constant for times 2020-10-20 19:21:13 +02:00
Matthias 0daf77f313 Don't check for lock start date 2020-10-20 19:21:13 +02:00
Matthias cd2866eaec Add rest endpoint for /locks 2020-10-20 19:21:13 +02:00
Matthias 7a9768ffa6 Add /locks Telegram endpoint 2020-10-20 19:21:13 +02:00
Matthias 7caa6cfe31 Add tests for pairlock 2020-10-20 19:21:13 +02:00
Matthias e513871fd5 Persist pairlocks
closes #3034
2020-10-20 19:21:13 +02:00
Matthias 6eab20e337 Use constant to format datetime 2020-10-20 19:21:13 +02:00
Matthias 2d04c2dd4f Fix small bug when cancel-order does not contain id
happens with kraken ...
2020-10-20 06:24:46 +02:00
Matthias 8cdc795a44 Rename persistence.init to init_db 2020-10-16 08:15:18 +02:00
Matthias 253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Matthias dd87938a5e Fix bug causing close_date to be set again 2020-09-19 08:34:06 +02:00
Matthias aa8832f70e Convert select_order to use ft_is_open flag 2020-09-11 07:12:10 +02:00
Matthias 41942e3af1 Update docstring for select_order 2020-09-11 06:59:07 +02:00
Matthias 26a5cc5959 Add return-type for select_order 2020-09-07 07:41:58 +02:00
Matthias 68d51a9787 Don't raise OperationalException when orderid's dont' match 2020-09-06 14:33:45 +02:00
Matthias a78d61150c Deleting must delete orders first 2020-09-06 14:28:24 +02:00
Matthias b7662722ba Add tests for Order object parsing 2020-09-06 14:17:45 +02:00
Matthias 38809acde8 Don't rerun for known closed orders 2020-08-24 06:50:43 +02:00
Matthias 4ecb67d1d1 Merge branch 'develop' into db_keep_orders 2020-08-23 10:36:56 +02:00
Matthias 11e69bdd65 Update open trades too 2020-08-22 15:49:32 +02:00
Matthias fd33282eb1 Add handle_insufficient exception 2020-08-22 15:48:00 +02:00
Matthias fc2104bfad Fix bug with time when updating order_date 2020-08-22 09:12:09 +02:00
Matthias 39beb5c837 Add method to update fees on closed trades 2020-08-22 08:59:54 +02:00
Matthias fc42d552ab Convert logs to fstrings 2020-08-22 08:59:50 +02:00
Matthias d8fdd32b54 FIx migrations 2020-08-14 11:25:40 +02:00
Matthias 8458a380b8 Improve order catchup 2020-08-14 09:52:47 +02:00
Matthias 95efc0d688 Add open_order_updater 2020-08-14 09:52:47 +02:00
Matthias c4d7aff5c3 Order should have a "is_open" flag 2020-08-14 09:52:47 +02:00
Matthias da2a515d0b Add delete cascade to alchemy model 2020-08-14 09:52:46 +02:00
Matthias 1a305ea8b0 Fix migrations to use unique key 2020-08-14 09:52:46 +02:00
Matthias 4434a54d59 Add unique key to order-Model 2020-08-14 09:52:46 +02:00
Matthias ebd755e36a Improve order handling 2020-08-14 09:52:46 +02:00
Matthias 0af9e913d4 Timestamps are in ms 2020-08-14 09:52:46 +02:00
Matthias 73182bb2dd Update migrations to populate Orders table for open orders 2020-08-14 09:52:46 +02:00
Matthias 396e781bf4 Update orders 2020-08-14 09:52:46 +02:00
Matthias 4924d8487e Extract "update order from ccxt" to it's onw function 2020-08-14 09:52:46 +02:00
Matthias ed87abd93a Allow selecting only a certain table range in migration 2020-08-14 09:52:46 +02:00
Matthias 171a52b21a Introduce Order database model 2020-08-14 09:52:46 +02:00
Matthias 7d03a067ee Extract migrations ot seperate module 2020-08-14 09:52:46 +02:00
Matthias 044df880e6 Move persistence into it's own submodule 2020-08-14 09:52:46 +02:00