robcaulk
05ccebf9a1
automate eval freq in multiproc
2022-08-25 12:29:48 +02:00
robcaulk
94cfc8e63f
fix multiproc callback, add continual learning to multiproc, fix totalprofit bug in env, set eval_freq automatically, improve default reward
2022-08-25 11:46:18 +02:00
Matthias
f2a356a80c
Fix some imports
2022-08-25 07:08:58 +02:00
Matthias
6636f17e0f
Simplify usage of amount_to_contract precision
2022-08-25 07:08:22 +02:00
Matthias
32faad9333
Fix backtest calculation problem with DCA
...
closes #7287
2022-08-24 20:36:08 +02:00
robcaulk
d1bee29b1e
improve default reward, fix bugs in environment
2022-08-24 18:32:40 +02:00
robcaulk
a61821e1c6
remove monitor log
2022-08-24 16:33:13 +02:00
robcaulk
bd870e2331
fix monitor bug, set default values in case user doesnt set params
2022-08-24 16:32:14 +02:00
robcaulk
c0cee5df07
add continual retraining feature, handly mypy typing reqs, improve docstrings
2022-08-24 13:00:55 +02:00
robcaulk
b708134c1a
switch multiproc thread count to rl_config definition
2022-08-24 13:00:55 +02:00
robcaulk
b26ed7dea4
fix generic reward, add time duration to reward
2022-08-24 13:00:55 +02:00
robcaulk
280a1dc3f8
add live rate, add trade duration
2022-08-24 13:00:55 +02:00
robcaulk
f9a49744e6
add strategy to the freqai object
2022-08-24 13:00:55 +02:00
richardjozsa
a2a4bc05db
Fix the state profit calculation logic
2022-08-24 13:00:55 +02:00
robcaulk
29f0e01c4a
expose environment reward parameters to the user config
2022-08-24 13:00:55 +02:00
robcaulk
d88a0dbf82
add sb3_contrib models to the available agents. include sb3_contrib in requirements.
2022-08-24 13:00:55 +02:00
robcaulk
8b3a8234ac
fix env bug, allow example strat to short
2022-08-24 13:00:55 +02:00
mrzdev
8cd4daad0a
Feat/freqai rl dev ( #7 )
...
* access trades through get_trades_proxy method to allow backtesting
2022-08-24 13:00:55 +02:00
robcaulk
3eb897c2f8
reuse callback, allow user to acces all stable_baselines3 agents via config
2022-08-24 13:00:55 +02:00
robcaulk
4b9499e321
improve nomenclature and fix short exit bug
2022-08-24 13:00:55 +02:00
sonnhfit
4baa36bdcf
fix persist a single training environment for PPO
2022-08-24 13:00:55 +02:00
robcaulk
f95602f6bd
persist a single training environment.
2022-08-24 13:00:55 +02:00
robcaulk
5d4e5e69fe
reinforce training with state info, reinforce prediction with state info, restructure config to accommodate all parameters from any user imported model type. Set 5Act to default env on TDQN. Clean example config.
2022-08-24 13:00:55 +02:00
sonnhfit
7962a1439b
remove keep low profit
2022-08-24 13:00:55 +02:00
sonnhfit
81b5aa66e8
make env keep current position when low profit
2022-08-24 13:00:55 +02:00
sonnhfit
45218faeb0
fix coding convention
2022-08-24 13:00:55 +02:00
robcaulk
b90da46b1b
improve price df handling to enable backtesting
2022-08-24 13:00:55 +02:00
MukavaValkku
2080ff86ed
5ac base fixes in logic
2022-08-24 13:00:55 +02:00
robcaulk
16cec7dfbd
fix save/reload functionality for stablebaselines
2022-08-24 13:00:55 +02:00
sonnhfit
0475b7cb18
remove unuse code and fix coding conventions
2022-08-24 13:00:55 +02:00
MukavaValkku
d60a166fbf
multiproc TDQN with xtra callbacks
2022-08-24 13:00:55 +02:00
robcaulk
dd382dd370
add monitor to eval env so that multiproc can save best_model
2022-08-24 13:00:55 +02:00
robcaulk
69d542d3e2
match config and strats to upstream freqai
2022-08-24 13:00:55 +02:00
robcaulk
e5df39e891
ensuring best_model is placed in ram and saved to disk and loaded from disk
2022-08-24 13:00:55 +02:00
robcaulk
bf7ceba958
set cpu threads in config
2022-08-24 13:00:55 +02:00
MukavaValkku
57c488a6f1
learning_rate + multicpu changes
2022-08-24 13:00:55 +02:00
robcaulk
acf3484e88
add multiprocessing variant of ReinforcementLearningPPO
2022-08-24 13:00:55 +02:00
MukavaValkku
cf0731095f
type fix
2022-08-24 13:00:55 +02:00
MukavaValkku
1c81ec6016
3ac and 5ac example strategies
2022-08-24 13:00:55 +02:00
MukavaValkku
13cd18dc9a
PPO policy change + verbose=1
2022-08-24 13:00:55 +02:00
robcaulk
926023935f
make base 3ac and base 5ac environments. TDQN defaults to 3AC.
2022-08-24 13:00:55 +02:00
MukavaValkku
096533bcb9
3ac to 5ac
2022-08-24 13:00:55 +02:00
MukavaValkku
718c9d0440
action fix
2022-08-24 13:00:55 +02:00
robcaulk
9c78e6c26f
base PPO model only customizes reward for 3AC
2022-08-24 13:00:55 +02:00
robcaulk
6048f60f13
get TDQN working with 5 action environment
2022-08-24 13:00:55 +02:00
robcaulk
d4db5c3281
ensure TDQN class is properly named
2022-08-24 13:00:55 +02:00
robcaulk
91683e1dca
restructure RL so that user can customize environment
2022-08-24 13:00:55 +02:00
sonnhfit
ecd1f55abc
add rl module
2022-08-24 13:00:55 +02:00
MukavaValkku
9b895500b3
initial commit - new dev branch
2022-08-24 13:00:55 +02:00
MukavaValkku
cd3fe44424
callback function and TDQN model added
2022-08-24 13:00:55 +02:00
MukavaValkku
01232e9a1f
callback function and TDQN model added
2022-08-24 13:00:55 +02:00
MukavaValkku
8eeaab2746
add reward function
2022-08-24 13:00:55 +02:00
MukavaValkku
ec813434f5
ReinforcementLearningModel
2022-08-24 13:00:55 +02:00
MukavaValkku
2f4d73eb06
Revert "ReinforcementLearningModel"
...
This reverts commit 4d8dfe1ff1daa47276eda77118ddf39c13512a85.
2022-08-24 13:00:55 +02:00
MukavaValkku
c1e7db3130
ReinforcementLearningModel
2022-08-24 13:00:55 +02:00
robcaulk
05ed1b544f
Working base for reinforcement learning model
2022-08-24 13:00:40 +02:00
Matthias
a6d78a8615
initialize Since parameter properly
...
closes #7285
2022-08-23 06:43:04 +02:00
Matthias
fe7108ae75
Convert amount to contracts before comparing for close
...
closes #7279
2022-08-23 06:37:38 +02:00
Matthias
78b161e14c
add contract_size to database
2022-08-23 06:37:38 +02:00
Matthias
6036018f35
Extract contracts_to_amount and amount_to_contracts to standalone functions
2022-08-23 06:37:38 +02:00
Matthias
5f38a574ce
Add okx broker id
2022-08-23 06:37:38 +02:00
th0rntwig
5ce1c69803
Improve DBSCAN epsilon identification ( #7269 )
...
* Improve DBSCAN epsilon identification
2022-08-22 19:57:20 +02:00
robcaulk
ac42c0153d
deprecate indicator_max_period_candles, automatically compute startup candles for FreqAI backtesting.
2022-08-22 18:19:07 +02:00
robcaulk
96d8882f1e
Plug mem leak, add training timer
2022-08-22 13:30:30 +02:00
Matthias
f55d5ffd8c
Don't fail when --strategy-path
is not a valid directory.
...
closes #7264
2022-08-22 09:20:14 +00:00
Matthias
015be770c3
ccxt now defaults to base volume for all markets
2022-08-22 06:42:14 +02:00
Matthias
f6d832c6d9
Add get_option to expose ft_has via method
2022-08-21 17:51:46 +02:00
Matthias
87a3115073
Add get_open_trade_count() to simplify getting open trade count.
2022-08-21 17:08:27 +02:00
Matthias
6189aa817c
Fix HybridExample formatting
2022-08-20 19:50:18 +02:00
robcaulk
64b0834437
add credit in docstring
2022-08-20 17:04:38 +02:00
robcaulk
90c03178b1
provide user directions, clean up strategy, remove unnecessary code.
2022-08-20 17:02:18 +02:00
Matthias
cdd4745693
Merge pull request #7263 from freqtrade/okx_cache_tiers
...
Okx cache tiers
2022-08-20 15:18:13 +02:00
Matthias
5b3f031590
Use hyperopt safe amount precision method
2022-08-20 14:13:15 +02:00
Matthias
738e95b875
Add tests for leverage tiers caching
2022-08-20 13:54:54 +02:00
Matthias
b6e8b9df35
Use cached leverage tiers
2022-08-20 13:01:58 +02:00
Matthias
52ec0d1046
Update binance Leverage tiers
2022-08-20 11:53:15 +02:00
Matthias
0da0600836
Have backtesting respect tradable size
...
closes #7161
2022-08-20 11:41:11 +02:00
Matthias
54ddc1a4c2
Add --tradingmode alias
2022-08-20 11:24:20 +02:00
Matthias
aa3da092a0
Dont' use classProperty - that's not supported on 3.8
2022-08-20 10:55:52 +02:00
Matthias
01d45ed12e
Merge pull request #7257 from freqtrade/feat/list-pair-time
...
Get min/max data in list-data command
2022-08-20 08:16:52 +02:00
Matthias
7b8b73e651
Merge pull request #7243 from lolongcovas/newbranch_test
...
Improve PCA and pairwise distance calcs
2022-08-20 08:13:40 +02:00
Johan van der Vlugt
b44bd0171c
Example Classifier strat
2022-08-19 19:10:37 +02:00
Matthias
b9d48c3278
use numbers in HyperoptState properly ...
2022-08-19 15:40:06 +02:00
Matthias
bc359675a2
Add --analyze-per-epoch - moving populate_analysis to the epoch process
2022-08-19 15:19:43 +02:00
Matthias
09f8904545
Extract analysis to separate method
2022-08-19 15:12:55 +02:00
Matthias
08ef5ad2d8
Add HyperoptState enum and container class
2022-08-19 15:11:43 +02:00
Matthias
1c6f966579
Hyperopt: simplify parameter "can_optimize" handling
2022-08-19 15:03:03 +02:00
Matthias
16af10a5bc
Update notebook sample with simplified datadir configuration
...
closes #7252
2022-08-19 14:05:27 +02:00
Matthias
b7553d20d4
Get min/max data in list-data command
2022-08-19 13:45:55 +02:00
Matthias
7d84ef2e2c
Remove unused imports
2022-08-19 13:45:10 +02:00
longyu
521381ebf0
undo example strategy newline
2022-08-19 12:40:03 +02:00
Matthias
b420614d65
Reduce code duplication in datahandlers
2022-08-19 09:33:07 +02:00
Matthias
975bf8fe88
Update Docstring to match actual return values
2022-08-19 09:23:53 +02:00
Matthias
42eb508515
Attempt fix of #7184
2022-08-19 07:09:46 +02:00
Matthias
76a3e97e05
Add migrations end message
...
closes #7251
2022-08-19 06:39:51 +02:00
Matthias
70a77ba3d9
Check for "last" availability in PrecisionFilter
...
closes #7250
2022-08-18 20:07:50 +02:00
longyu
1fada53ddd
remove newline
2022-08-18 19:40:00 +02:00
Matthias
85b43ec1a1
Remove double-check for "isolated margin"
2022-08-18 15:23:58 +02:00
Matthias
fde469a253
Remove unnecessary check
2022-08-18 14:53:44 +02:00
Matthias
075e9b8526
Log Exchange responses for set_leverage
2022-08-18 09:52:03 +02:00
Matthias
46e8d9a5e4
Reduce verbosity when whitelist is empty
2022-08-18 09:09:37 +02:00
Matthias
0461a89348
Fix test failures
2022-08-18 07:20:49 +02:00
longyu
f70b0bab80
remove line
2022-08-17 23:49:20 +02:00
Matthias
66910bfe63
Don't fail if mark candles are missing
...
closes #7239
2022-08-17 20:01:57 +02:00
robcaulk
88dd9920ea
sort imports for isort
2022-08-17 16:38:09 +02:00
robcaulk
5155afb4e7
clean up code remnants
2022-08-17 15:22:48 +02:00
robcaulk
0c34104e45
extract download-data from freqai to prepare for future async changes
2022-08-17 15:18:44 +02:00
longyu
9c38c27eed
ignore sample itself distance for avg_mean_dist computation
2022-08-17 15:09:57 +02:00
longyu
72c34291e3
newline
2022-08-17 15:09:10 +02:00
Matthias
3983368228
gateio futures is showing base currency in volume!
2022-08-17 14:51:48 +02:00
Matthias
83ca168bb8
Merge pull request #7216 from freqtrade/precise_calcs
...
Precise calcs
2022-08-17 14:32:02 +02:00
Matthias
c615e1bc62
Avoid loop error during ccxt tests
2022-08-17 14:31:40 +02:00
Matthias
e7902bffa0
Remove checks for dataprovider existance - it's available in all modes.
2022-08-17 10:57:25 +02:00
Matthias
8d182768f9
stoploss should also use trimmed prices
2022-08-17 09:57:11 +02:00
Matthias
0b0e7eaf96
Mutex TTL Cache accesses which can be accessed by multiple threads
...
Apparently, cachetools is (intentionally) not threadsafe
when using the Caches directly.
It's therefore recommended to wrap these with an explicit lock to avoid
problems.
source: https://github.com/tkem/cachetools/issues/245
closes #7215
2022-08-16 19:48:21 +02:00
Matthias
24690c1918
Don't convert open_rate to precision
...
this may cause more problems than it solves.
2022-08-16 18:32:00 +02:00
Matthias
3b44dc52e1
Minor corrections
2022-08-16 18:10:48 +02:00
Matthias
ea6bc47d7a
gateio default configs should specify unknown_fee_rate
2022-08-16 17:26:53 +02:00
Matthias
a1e4fbf313
Run price_to_precision for dry-run orders
2022-08-16 17:23:49 +02:00
Matthias
1ac81aa316
Show message if fee update failed due to missing
...
closes #7234
2022-08-16 17:09:23 +02:00
robcaulk
4c0fda400f
fix input shape warning for LGBMClassifier, add sample_weights/eval_weights
2022-08-16 11:41:53 +02:00
Matthias
fa89368c02
Add test for precision backpopulation
2022-08-16 11:11:52 +02:00
Matthias
96d2f61812
Properly round timestamps to avoid constant log messages
2022-08-16 10:22:59 +02:00
Matthias
15a1c59a91
Backtesting should cache precisionMode
2022-08-16 10:15:19 +02:00
Matthias
a73e4f8e41
Truncate amount before comparing for closure
2022-08-16 09:49:53 +02:00
Matthias
2fb7a3091d
Improve backfill of precisions
2022-08-16 09:32:31 +02:00
Matthias
711b6b1a1a
Merge branch 'develop' into precise_calcs
2022-08-16 09:29:39 +02:00
Matthias
a5b438e41e
Run price_to_precision for dry-run orders
2022-08-16 09:28:23 +02:00
Matthias
1dd56e35d5
Ensure comparisions align when closing a trade
2022-08-16 08:21:02 +02:00
Matthias
e818797427
Minor fix in amount_to_precision logic
2022-08-15 20:29:05 +02:00
Matthias
c0bdb71810
Update docstring
2022-08-15 20:06:29 +02:00
Matthias
f2b6ff910f
Accept wrong pair in get_precision_amount
2022-08-15 20:05:22 +02:00
Matthias
09ee9089fb
Merge pull request #6832 from freqtrade/feat/freqai
...
Freqai: an interface for users to build/train/backtest predictive models and run them live
2022-08-15 20:03:08 +02:00
Matthias
e6af9a6903
Allow empty precisionMode on conversions
2022-08-15 20:00:15 +02:00
Matthias
c3f159bd57
Add precision fields to database
2022-08-15 19:58:40 +02:00
Matthias
22241c55d5
Add methods to get precision_amount from markets
2022-08-15 19:56:25 +02:00
Matthias
15e85797c2
Simplify to_precision tests and imports
2022-08-15 08:51:15 +02:00
Matthias
6c32331740
Move precision calculations to standalone functions
2022-08-15 08:43:58 +02:00
Matthias
c7e1719215
Fix interface import sorting
2022-08-15 06:53:02 +02:00
robcaulk
006b11e5d5
fix leftover bug in indicator population
2022-08-14 21:42:55 +02:00
robcaulk
8961b8d560
merge in inference timer and historic predictions handling improvements.
2022-08-14 20:31:15 +02:00
robcaulk
ad846cdb76
fix lock bug, update docstring
2022-08-14 20:24:29 +02:00
Matthias
464d99808f
Update doc table formatting
2022-08-14 18:22:01 +02:00
Matthias
a29402ddde
Rename and move analysis_lock to data_kitchen
2022-08-14 17:23:14 +02:00
Matthias
3a9ec76c91
Move "freqai.lock" to backend to simplify user interface
2022-08-14 17:19:50 +02:00
Matthias
044cf8bb2e
Allow new whitelist combination in "button" commands
2022-08-14 08:41:25 +02:00
Matthias
22ac291c3a
Merge pull request #7211 from ecoppen/rpc/whitelist_options
...
Optional /whitelist args - sorted, nobase
2022-08-14 08:26:21 +02:00
Robert Caulk
c9c128f781
finalize logo, improve doc, improve algo overview, fix base tensorflowmodel for mypy
2022-08-14 02:49:01 +02:00
robcaulk
58de20af0f
make BaseClassifierModel. Add predict_proba to lightgbm
2022-08-13 20:07:31 +02:00
robcaulk
31be707cc8
clean up code, add docstrings
2022-08-13 19:40:24 +02:00
robcaulk
3e38c1b0bd
take dynamic sized tail off historic_predictions as return dataframe to strategy.
2022-08-13 19:40:24 +02:00
robcaulk
7d448fd4ac
allow fit_live_predictions access to current pair
2022-08-13 19:40:24 +02:00
robcaulk
1f192be43b
avoid denormalizing labels twice
2022-08-13 19:40:24 +02:00
robcaulk
b1b76a2dbe
debug classifier with predict proba
2022-08-13 19:40:24 +02:00
robcaulk
23cc21ce59
add predict_proba to base classifier, improve historic predictions handling
2022-08-13 19:40:24 +02:00
Matthias
7075b00e20
Remove odd dry run stoploss behavior
...
closes #7208
2022-08-13 11:37:23 +02:00
Matthias
5aaab75d1c
Add test for dynamic_pairlist_expand
2022-08-13 10:18:57 +02:00
Matthias
b682fc446e
Graciously fail if strategy has freqAI code, but freqAI is not enabled.
2022-08-13 09:53:18 +02:00
Matthias
3918f4abbd
Simplify strategy interface by removing explicit self.freqai_info assignment
2022-08-13 09:27:56 +02:00
Matthias
3b827ee60a
Add "freqai.enabled" flag to disable freqAI via config flag
...
aligns with how other optional modules work in freqtrade.
2022-08-13 09:24:04 +02:00
Matthias
f6545ebdb8
Disallow backtesting with --strategy-list for now.
2022-08-13 09:10:03 +02:00
Matthias
e3a5b97b45
Update recalc_from_trades to use FtPrecise
2022-08-13 08:43:56 +02:00
Matthias
3bcb47d75d
Remove usage of Decimal
2022-08-13 08:43:56 +02:00
Matthias
902afc2f02
Use FtPrecise in interest calculation
2022-08-13 08:43:56 +02:00
Matthias
0e61c2d057
Replace Decimal with FtPrecise in trade_model
2022-08-13 08:43:56 +02:00
Matthias
df701b5862
Merge branch 'develop' into feat/freqai
2022-08-13 08:43:24 +02:00
ecoppen
923f73a516
nobase -> baseonly
2022-08-12 19:56:46 +01:00
robcaulk
fb4b73ce89
ensure dates are saved
2022-08-12 12:03:44 +02:00
Matthias
cc885e25ac
Improve NAN Handling in RPC
2022-08-11 20:16:07 +02:00
Matthias
de690b0a69
Use PEP440 compatible versioning
2022-08-11 20:08:40 +02:00
Matthias
dd4e44931e
Improve NAN handling in RPC module
2022-08-11 15:02:52 +00:00
robcaulk
2cae3c42e6
remove trade database analyzer, clean up a bit
2022-08-10 17:43:06 +02:00
ecoppen
c0d60c63ab
Optional /whitelist args - sorted, nobase
...
Added two optional arguments for whitelist - `sorted` for alphabetical order and `nobase` for displaying the whitelist without base currency e.g. /USDT.
Updated help with optional commands.
Added a space in an unrelated help message.
2022-08-10 14:56:38 +01:00
Matthias
ed004236ce
Add float initializer to FtPrecise
2022-08-10 11:54:07 +00:00
Matthias
e7cb1b7375
Wrap Precise into FtPecise
2022-08-10 11:26:06 +00:00
Matthias
adc8ee88e2
Move periodicCache to Utils package
2022-08-10 08:57:19 +00:00
Matthias
573964b19f
Dry Market orders should update "remaining"
2022-08-10 07:12:56 +02:00
Matthias
53251e7140
Merge pull request #7194 from freqtrade/rpc/partial_forceexit
...
Partial forceExit
2022-08-10 07:12:40 +02:00
Matthias
ce2c9bf26d
Slight renaming of variable
2022-08-10 06:44:41 +02:00
Matthias
736884c5a9
Orders should be allowed to have empty fill/remaining values
2022-08-09 20:43:58 +02:00
Matthias
b5c5a95b64
FTX: Use conditionalOrders endpoint to get proper stop-market order id
...
closes #7165
2022-08-09 20:09:35 +02:00
robcaulk
5a16d5a512
Deactivate database analyzer if user does not use sqlite
2022-08-09 16:36:22 +02:00
robcaulk
e7de812948
Allow user to user pair_dict for persistent storage of custom data
2022-08-09 16:03:10 +02:00
robcaulk
aef086b02e
Improved dict typing, timeframe parser, collect dates associated with training data points
2022-08-09 15:30:25 +02:00
Matthias
9a82898d6b
Merge branch 'develop' into feat/freqai
2022-08-09 06:22:57 +02:00
Matthias
77b3b8a134
Use main exchange instead of creating a separate instance.
2022-08-08 18:34:11 +00:00
robcaulk
ea64f43e52
bring back auto DF resizing for okx
2022-08-08 01:13:13 +02:00
robcaulk
67c722c9c8
fix asyncio bug
2022-08-07 14:48:39 +02:00
Matthias
e48e82232d
Force response API to js to fix faulty system configs
...
closes #7147
2022-08-07 10:42:56 +02:00
Matthias
0b2104fc7a
Properly increment the api version
2022-08-07 10:13:36 +02:00
Matthias
6ded2d5b7c
Improve forceexit API test
2022-08-07 09:47:11 +02:00
Matthias
d1998f7ed0
Fix forceexit calling
2022-08-07 09:47:11 +02:00
Matthias
eff8cd7ecb
Add leverage to force_entry
2022-08-07 09:47:11 +02:00
Matthias
daf015d007
extract nested force_exit function to private instance function
2022-08-07 09:47:11 +02:00
Matthias
82aecc81f3
Accept parameters to forceexit
2022-08-07 09:47:11 +02:00
robcaulk
eb8bde37c1
Add lightgbm classifier, add classifier check test, fix classifier bug.
2022-08-06 17:51:21 +02:00
Matthias
bfa859e618
Remove unnecessary method (simplify)
2022-08-06 17:46:58 +02:00
Matthias
5250189f77
Add Rollback function to Trade
...
simplifies Session work
2022-08-06 17:03:49 +02:00
Matthias
47a30047eb
Fix typo
2022-08-06 15:03:10 +02:00
Matthias
b16f57cb0d
Minor stylistic fixes
2022-08-06 14:55:46 +02:00