Commit Graph

5863 Commits

Author SHA1 Message Date
Matthias
fad22994b1 Don't require non-mandatory arguments 2021-03-20 18:46:57 +02:00
Matthias
db76afd789 Add price side validation for market orders 2021-03-20 18:46:57 +02:00
Matthias
de7ed4df5f Fix calculation error for min-trade-stake 2021-03-20 18:46:57 +02:00
Matthias
c1001bfc44 Use OperationalException for TimeRange errors 2021-03-20 18:46:57 +02:00
Patrick Brunier
81f706cf41 Added a small snippet to give users a descent error message,
when their start date is afer the stop date.
Also updated the tests.
2021-03-20 18:46:57 +02:00
Brook Miles
db5156be10 complete stoploss_from_open and associated test 2021-03-20 18:46:57 +02:00
Brook Miles
ded850d709 add stoploss_from_open() as a strategy_helper 2021-03-20 18:46:57 +02:00
Matthias
9677a0b5e7 extract result-printing from hyperopt class 2021-03-20 18:46:57 +02:00
Matthias
60dea622f7 Add check to ensure close_profit_abs is filled on closed trades
Technically, this should not be possible, but #4554 shows it is.

closes #4554
2021-03-20 18:46:57 +02:00
Matthias
50265cd765 Adapt hyperopt templates to be better aligned
closes #3027
2021-03-20 18:46:57 +02:00
Matthias
ed7f4739ad Allow custom fee to be used during dry-run
closes #3696
2021-03-20 18:46:57 +02:00
Matthias
a457587123 Final balance should include forcesold pairs 2021-03-20 18:46:57 +02:00
Rokas Kupstys
0b62a04e65 Provide access to strategy instance from hyperopt class. 2021-03-20 18:46:57 +02:00
Matthias
b9dab81680 Improve tests for trades_proxy 2021-03-20 18:46:57 +02:00
Matthias
ace184a281 Improve backtest performance 2021-03-20 18:46:57 +02:00
Jackson Law
22f692e53a Create event loop manually if uvloop is available
asyncio.get_event_loop() does not call new_event_loop()
if current_thread() != main_thread()
2021-03-20 18:46:57 +02:00
Matthias
6ec18239f8 Fix problem with FTX
where cancelled orders are "cancelled", not "canceled"
2021-03-20 18:46:57 +02:00
Matthias
77f0e68a9a Make stake_amount + stake_currency mandatory for backtesting 2021-03-20 18:46:57 +02:00
Matthias
25355e35a6 Always reset fake-databases
Otherwise results may stick around for the next strategy
2021-03-20 18:46:57 +02:00
Matthias
a86f60df91 Use pandas.values.tolist instead of itertuples
speeds up backtesting
closes #4494
2021-03-20 18:46:57 +02:00
Matthias
67cf22f85c Make best / worst day absolute 2021-03-20 18:46:57 +02:00
Matthias
af501a4cc6 Fix crash when using unlimited stake and no trades are made 2021-03-20 18:46:57 +02:00
Joe Schr
440c8a91c6 fix: avg_stake_amount should not be NaN if df is empty 2021-03-20 18:46:57 +02:00
Matthias
635bf3a8ee Explicitly convert starting-balance to float 2021-03-20 18:46:57 +02:00
Matthias
7c68f87c85 Small stylistic fixes 2021-03-20 18:46:57 +02:00
Matthias
bce85742ba Simplify wallet code 2021-03-20 18:46:57 +02:00
Matthias
3bdfdaef0d Update documentation with backtesting compounding possibilities 2021-03-20 18:46:57 +02:00
Matthias
369ede1af9 Improve handling of backtesting params 2021-03-20 18:46:57 +02:00
Matthias
78c49836ff fix --stake-amount parameter 2021-03-20 18:46:57 +02:00
Matthias
9bea9a849a Add test for backtesting _enter_trade 2021-03-20 18:46:57 +02:00
Matthias
35215a47ab Add test for subclassing 2021-03-20 18:46:57 +02:00
Matthias
7f3b6c9349 Change some types
Fix types of new model object
2021-03-20 18:46:57 +02:00
Matthias
87d8b2f93d 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-03-20 18:46:57 +02:00
Matthias
0746a0edc7 Fix some type errors 2021-03-20 18:46:57 +02:00
Matthias
c2ee9160ca Check min-trade-stake in backtesting 2021-03-20 18:46:57 +02:00
Matthias
8f2477ced9 Improve backtesting metrics 2021-03-20 18:46:57 +02:00
Matthias
32707a6ba1 Improve performance by updating wallets only when necessary 2021-03-20 18:46:57 +02:00
Matthias
8f4aad6101 Wallets should not recalculate close_profit for closed trades 2021-03-20 18:46:57 +02:00
Matthias
f7307fe40f ABS drawdown should show wallet high and low values 2021-03-20 18:46:57 +02:00
Matthias
ea56b4775f Add starting balance to profit cumsum calculation 2021-03-20 18:46:57 +02:00
Matthias
2e6bb6c01a Use absolute drawdown calc 2021-03-20 18:46:57 +02:00
Matthias
2bbaeeb1b0 Shorten debug log 2021-03-20 18:46:57 +02:00
Matthias
8f03ce377b Add trade-volume metric 2021-03-20 18:46:57 +02:00
Matthias
78708de740 Backtest-reports should calculate total gains based on starting capital 2021-03-20 18:46:57 +02:00
Matthias
7cf61975fa Allow dynamic stake for backtesting and hyperopt 2021-03-20 18:46:57 +02:00
Matthias
bd8ecc4256 Enable compounding for backtesting 2021-03-20 18:46:57 +02:00
Matthias
0a0e921d4c Add Dry-run wallet CLI option 2021-03-20 18:46:57 +02:00
Matthias
cddbff0a65 total_open_trades_stake should support no-db mode 2021-03-20 18:46:57 +02:00
Matthias
0d664e553a Improve Wallet logging disabling for backtesting 2021-03-20 18:46:57 +02:00
Matthias
6fe1e20ce4 Small enhancements to docs 2021-03-20 18:46:57 +02:00