Matthias
cf27968b97
Properly preserve trade's low during backtesting
2021-08-09 19:38:56 +02:00
Sam Germain
de4b0d1f7c
Merged with feat/short
2021-08-09 00:24:25 -06:00
Sam Germain
8e941e6836
Changed interest implementation
2021-08-08 17:09:17 -06:00
Sam Germain
0545a0ed3c
Replaced the term margin with leverage when it should say leverage
2021-08-08 17:04:24 -06:00
Matthias
07673ef47f
Update Migrations to use the latest added columns
2021-08-03 10:25:59 +02:00
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