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
Robert Caulk
c172ce1011
improve flexibility of user defined prediction dataframe
2022-08-06 13:51:19 +02:00
Matthias
45d68222a1
Reduce verbosity of Fiat Converter
2022-08-06 13:18:40 +02:00
Matthias
f8f1ade163
Reduce function complexity by extracting message sending
2022-08-06 09:21:11 +02:00
Matthias
2687633941
Test iterative sending of /status
2022-08-06 09:16:04 +02:00
Matthias
b12dd15f4f
Send multiple messages in /status if required
2022-08-06 09:10:12 +02:00
Robert Caulk
07763d0d4f
add classifier, improve model naming scheme
2022-08-06 08:33:55 +02:00
Robert Caulk
ce8fbbf743
ensure loading historical df matches frequi indices
2022-08-06 07:25:59 +02:00
robcaulk
60d782e5c5
remove unnecessary function
2022-08-05 21:31:32 +02:00
robcaulk
a42a060ab5
fix DB once and for all. Make DBSCAN more efficient and robust.
2022-08-05 21:29:03 +02:00
Robert Caulk
a3799c4d5d
start frequi with historical data if available
2022-08-05 18:27:47 +02:00
robcaulk
29b7b014e5
fix bug in DB path initialization
2022-08-05 18:19:26 +02:00
robcaulk
db1d367941
fix bug associated to fit_live_predictions_candles
2022-08-05 13:46:20 +02:00
robcaulk
26de992d20
ensure user sets startup candles in backtesting mode
2022-08-05 12:23:14 +02:00
robcaulk
05ec5c5e54
generalize database url path for any db type
2022-08-05 12:19:29 +02:00
Matthias
9545402452
Improve defaults for config builder
2022-08-05 11:58:09 +02:00
Matthias
7675187c37
Use telegram message length to avoid constants
2022-08-05 07:31:19 +02:00
Matthias
cffc769549
Fix /profit endpoint calculations for partial sells
...
* don't recalculate for closed trades
* include realized_profit in the calculation
part of #7178
2022-08-05 07:26:41 +02:00
Robert Caulk
51a6b4289f
improve DBSCAN performance for subsequent trainings
2022-08-04 17:41:58 +02:00
Robert Caulk
fe1b8515a8
fix bug in DBSCAN, update doc
2022-08-04 17:00:59 +02:00
robcaulk
29225e4baf
add DBSCAN outlier detection feature, add supporting documentation
2022-08-04 12:15:16 +02:00
Matthias
95327750dc
Final abs. profit should not be doubled in rpc messages
2022-08-04 07:07:54 +02:00
robcaulk
eae82d0222
fix bug with database url during backtesting. comment out example trade db analysis.
2022-08-03 16:17:57 +02:00
robcaulk
95d3009a95
give user ability to analyze live trade dataframe inside custom prediction model. Add documentation to explain new functionality
2022-08-02 20:14:02 +02:00
Matthias
d75e0a9820
Fix Flake8 errors after flake update
2022-08-01 06:43:59 +02:00
robcaulk
3013282dbf
remove non-catboost stuff from schema
2022-08-01 05:39:38 +02:00
robcaulk
946d4c7cfc
fix trailing whitespace for flake8
2022-07-31 18:39:46 +02:00
robcaulk
4e68626bcb
ensure convolutional window is prepended for frequi consistency
2022-07-31 17:51:19 +02:00
robcaulk
d830105605
*BREAKING CHANGE* remove unnecessary arguments from populate_any_indicators(), accommodate tests
2022-07-31 17:05:29 +02:00
robcaulk
153336d424
move corr_pairlist expansion to after expand_pairlist()
2022-07-31 15:45:28 +02:00
Matthias
659870312d
Use JSON Schema validation for freaAI schema validation
2022-07-31 15:23:27 +02:00
Kavinkumar
a4bada3ebe
Partial exit using average price ( #6545 )
...
Introduce Partial exits
2022-07-31 14:19:04 +02:00
Matthias
369c6da5d8
Merge pull request #7146 from freqtrade/fix/liquidation
...
Update liquidation price handling
2022-07-31 08:09:54 +02:00
Matthias
bad15f077c
Simplify fetch_positions by using already existing method
2022-07-30 17:49:06 +02:00
Matthias
fc31c890e3
Merge pull request #7135 from freqtrade/rpc/sendmsg
...
Strategy allow rpc messages
2022-07-30 16:15:00 +02:00
Matthias
d046f0cc5e
Improve method wording for liquidation price setter
2022-07-30 16:11:31 +02:00
Matthias
dba7a7257d
Use stop_or_liquidation instead of stop_loss
2022-07-30 16:10:16 +02:00
Matthias
845cecd38f
Add stoploss or liquidation property
2022-07-30 16:10:16 +02:00
Matthias
15752ce3c2
Rename set_stoploss method to be fully private
2022-07-30 16:10:16 +02:00
Matthias
9852733ef7
Improve tests to align with modified logic
2022-07-30 16:10:16 +02:00
Matthias
8711b7d99f
Liquidations cannot be rejected.
2022-07-30 16:10:16 +02:00
Matthias
995be90f91
Liquidation should be a separate exit type
2022-07-30 16:10:16 +02:00
robcaulk
dd8288c090
expose full parameter set for SVM outlier detection. Set default shuffle to false to improve reproducibility
2022-07-30 13:40:05 +02:00
robcaulk
f22b140782
fix backtesting bug, undo move of label stat calc, fix example strat exit logic
2022-07-29 17:27:35 +02:00
robcaulk
08d3ac7ef8
add keras and conv_width to schema and documentation
2022-07-29 08:49:35 +02:00
robcaulk
59624181bd
isort BaseRegressionModel imports
2022-07-29 08:23:44 +02:00
robcaulk
c84d54b35e
Fix typing issue, avoid using .get() when unnecessary, convert to fstrings
2022-07-29 08:12:50 +02:00
Matthias
efbd83c56d
Small type and typo fixes in freqai_interface
2022-07-28 07:24:30 +02:00
Matthias
a2a0d35a24
Update missing typehints
2022-07-28 07:07:40 +02:00
Matthias
3273881282
Merge branch 'develop' into feat/freqai
2022-07-28 06:36:38 +02:00
Matthias
cc3ead9d7b
Set required_profit for stoploss guard, allowing to ignore small stoplosses.
...
closes #7076
2022-07-27 19:52:39 +02:00
Matthias
f31106dc61
Minor comment fixes
2022-07-27 07:27:24 +02:00
Matthias
7bac054668
Add documentation and clarity for send_msg
2022-07-26 20:24:52 +02:00
Matthias
229e8864bb
Add send_msg capability to dataprovider
2022-07-26 20:15:49 +02:00
Matthias
bc760b7eb2
Simplify small segment in datadrawer
2022-07-26 19:41:49 +02:00
robcaulk
324e54c015
fix possible memory leak associated with Catboost Pool object
2022-07-26 17:29:29 +02:00
robcaulk
3f149c4067
fix return type in BaseTensorFlowModel
2022-07-26 16:01:54 +02:00
robcaulk
ad25a4cb56
reduce number of pair_dict lookups, remove coin_first
2022-07-26 15:58:40 +02:00
robcaulk
fb4e8430cd
isort auto import sorting
2022-07-26 10:51:39 +02:00
robcaulk
e213d0ad55
isolate data_drawer functions from data_kitchen, accommodate tests, add new test
2022-07-26 10:24:14 +02:00
robcaulk
56b17e6f3c
allow user to pass test_size = 0 and avoid using eval sets in prediction models
2022-07-25 19:40:13 +02:00
Matthias
4c68bec171
Fix problem in is_cancel_order_result_suitable
...
fixes #7119
2022-07-25 17:47:52 +02:00
Robert Caulk
897f18a8c8
ensure proper integer type casting for timestamps. Add check test for backtesting subdaily time periods
2022-07-25 15:07:09 +02:00
Robert Caulk
7b105532d1
fix mypy error and add test for principal component analysis
2022-07-25 11:46:59 +02:00
Robert Caulk
c9d46a5237
finish bringing follow_mode up to date
2022-07-25 09:24:40 +02:00
Robert Caulk
ab587747fb
first fix for follower path bug
2022-07-24 23:32:24 +02:00
Matthias
520ee3f7a1
Convert freqAI into packages
2022-07-24 17:07:45 +02:00
Matthias
1885deb632
More docstring changes
2022-07-24 16:54:39 +02:00
Matthias
70b7a254af
Update some areas to use default docstring formatting
2022-07-24 16:51:48 +02:00
Matthias
61c41fd919
Merge branch 'develop' into feat/freqai
2022-07-24 16:18:58 +02:00
Robert Caulk
88e10f7306
add exception for not passing timerange. Remove hard coded arguments for CatboostPredictionModels. Update docs
2022-07-24 09:01:23 +02:00
Robert Caulk
fff39eff9e
fix multitarget bug
2022-07-24 08:42:50 +02:00
Matthias
2eb1d18c2a
Don't load leverage tiers when not necessary
2022-07-23 19:56:38 +02:00
robcaulk
f3d46613ee
move prediction denormalization into datakitchen. remove duplicate associated code. avoid normalization/denormalization for string dtypes.
2022-07-23 17:14:33 +02:00
Matthias
81c1aa3c13
Update imports in freqAI sample strategies
2022-07-23 17:08:05 +02:00
Matthias
8a3cffcd1b
Remove remaining CustomModel references
2022-07-23 17:08:05 +02:00
Matthias
8fa6e8b4ba
Remove freqAI model bridge in favor of self.freqai
2022-07-23 17:08:05 +02:00
robcaulk
c91e23dc50
let user avoid normalizing labels
2022-07-23 16:14:13 +02:00
robcaulk
50d630a155
remove unnecessary comments from data_drawer.py
2022-07-23 13:35:44 +02:00
robcaulk
a1cff377ec
add record of contribution to data_kitchen.py
2022-07-23 13:32:04 +02:00
robcaulk
c2d6a0e891
add record of contribution to doc and source
2022-07-23 13:04:06 +02:00
Matthias
e97468964a
Add support for --timeframe-detail in hyperopt
...
fix #7070
2022-07-23 08:52:03 +02:00
robcaulk
5559e605b8
small PR conversation resolutions
2022-07-22 17:46:14 +02:00
robcaulk
40f00196eb
use cloudpickle in place of pickle. define Paths once in data_drawer.
2022-07-22 17:37:51 +02:00
robcaulk
98c8a447b2
add LightGBMPredictionMultiModel
2022-07-22 12:40:51 +02:00
robcaulk
afcb0bec00
clean up obsolete comments, move remove_features_from_df to datakitchen
2022-07-22 12:29:20 +02:00
robcaulk
3205788bce
extend doc to include descriptions of the return values from FreqAI to the strategy
2022-07-21 22:11:46 +02:00
robcaulk
8033e0bf23
add counter to backtesting log so users know how many more pairs and how many more models will need to be trained
2022-07-21 13:22:12 +02:00
robcaulk
183dec866a
remove ability to backtest open ended timeranges (safer)
2022-07-21 13:02:52 +02:00
robcaulk
e694ea1cfd
make sure backtesting gets the populated indicators with slimmed down user strat
2022-07-21 12:48:09 +02:00
robcaulk
ca4dd58642
remove superceded function from datakitchen
2022-07-21 12:40:54 +02:00
robcaulk
8f86b0deaa
*breaking change* simplify user strat by consolidating feature loops into backend
2022-07-21 12:24:22 +02:00
robcaulk
e7337728bf
add separator in folder name just incase an asset ends in an integer
2022-07-21 11:25:28 +02:00
robcaulk
921a7ef216
add requirements-freqai.txt to builds
2022-07-20 15:51:25 +02:00
robcaulk
d43c146676
add more tests for datakitchen functionalities, add regression tests for freqai_interface train/backtest
2022-07-20 12:56:46 +02:00
lolong
9c051958a6
Feat/freqai ( #7105 )
...
Vectorize weight setting, log training dates
Co-authored-by: robcaulk <rob.caulk@gmail.com>
2022-07-19 17:49:18 +02:00
robcaulk
714d9534b6
start adding tests
2022-07-19 16:16:44 +02:00
lolong
ed0f8b1189
Improve FreqAI documentation ( #7072 )
...
Improve doc + some other small fixes
Co-authored-by: robcaulk <rob.caulk@gmail.com>
2022-07-18 11:57:52 +02:00
Robert Caulk
921f3899f0
revert pickle reading for historic predictions
2022-07-17 16:06:36 +02:00
Robert Caulk
41eeb99177
load pickle file for writing
2022-07-17 10:05:21 +02:00
Matthias
05a5ae4fcf
Update plotting to use entry/exit terminology
2022-07-16 22:28:46 +02:00
Robert Caulk
9d184586f1
fix bug in historic prediction saving
2022-07-16 21:16:59 +02:00
Matthias
f6bfd89cef
Merge branch 'develop' into feat/freqai
2022-07-16 18:14:34 +02:00
Matthias
423af371c0
Simplify calculation by calling "get_fee" only once
2022-07-16 17:59:05 +02:00
Matthias
4172f92bfc
simplify dry-run taker/maker selection
2022-07-16 17:25:13 +02:00
Matthias
8b2535a8da
Update Typing for fees
2022-07-16 15:42:17 +02:00
Matthias
8d2e22f009
Merge branch 'develop' into pr/samgermain/6780
2022-07-16 15:35:00 +02:00
Matthias
004bf31142
Merge pull request #7093 from freqtrade/fix/gate_futures_stoposs
...
gateio futures - several fixes
2022-07-16 15:18:32 +02:00
Matthias
357000c478
Extract exchange validation to separate method
2022-07-16 13:45:26 +02:00
Matthias
d03dfb3934
Oder cost is real cost (including leverage)
2022-07-16 13:14:21 +02:00
Matthias
ed64e4299b
Stoploss orders should also be eligible to update closed fees
2022-07-16 13:14:21 +02:00
Matthias
415780a4fe
gateio order cost is not in contracts
...
closes #7081
2022-07-16 13:14:21 +02:00
Matthias
7b8a5585dd
Fetch 2ndary stoploss order once the order triggered.
2022-07-16 13:14:21 +02:00
Matthias
7c4dd4c48c
Support fee cost as string
...
closes #7056
2022-07-16 13:14:21 +02:00
Matthias
40e2da10f3
Add hypeorpt cloudpickle magic
...
closes #7078
2022-07-16 11:49:33 +02:00
Wagner Costa Santos
ca2029a46b
fix issue when bot restarts with same identifier, does not load prediction history
2022-07-14 18:55:24 -03:00
Matthias
cdc58058d7
Add candletype to notebook example
...
closes #7084 , closes #7073
2022-07-14 19:40:26 +02:00
robcaulk
4141d165ff
add BaseTensorFlowModel class
2022-07-12 19:10:09 +02:00
robcaulk
ef409dd345
Add ground work for TensorFlow models, add protections from common mistakes
2022-07-12 18:09:17 +02:00
Robert Caulk
fea63fba12
Fix saving/loading historic predictions
2022-07-12 10:12:50 +02:00
Robert Caulk
8ce6b18318
start collecting indefinite history of predictions. Allow user to generate statistics on these predictions. Direct FreqAI to save these to disk and reload them if available.
2022-07-11 22:01:48 +02:00
Matthias
0669d93f56
Merge pull request #7068 from freqtrade/ccxt_ordertype_validations
...
Ccxt ordertype validations
2022-07-11 19:41:05 +02:00
Matthias
5c164efdb6
Also check for createLimitOrder as optionals
2022-07-11 16:09:12 +02:00
Matthias
f9d3775d4c
Move "candle" logic for message to telegram
...
this avoids calling this method unless necessary
2022-07-11 14:09:39 +02:00
Matthias
9a3a2f9013
Simplify adding candle to message
2022-07-11 13:55:32 +02:00
Matthias
8e8f026ea7
Telegram candle message should be configurable
2022-07-11 12:14:19 +02:00
Matthias
ed03ef47ef
Merge branch 'develop' into pr/SurferAdmin/6916
2022-07-11 11:49:22 +02:00
Matthias
ec3179156c
Revert unwanted changes.
2022-07-11 11:48:24 +02:00
Matthias
3fc92b1b21
Create BaseRegression model - designed to reduce code duplication across currently available models.
2022-07-11 11:33:59 +02:00
Matthias
6ac1aa15f5
Reenable ccxt order checks
2022-07-11 10:36:19 +02:00
Matthias
523d8a84a8
skip "supports market order" for now until CCXT fixes their assignemnt bugs.
2022-07-11 10:22:51 +02:00
Matthias
7d6b3d0e02
Update hyperopt param docs to be clear that non-conclusive parameters will be ignored
2022-07-11 08:17:16 +02:00
Robert Caulk
607455919e
Change config parameter names to improve clarity and consistency throughout the code (!!breaking change, please check discord support channel for migration instructions or review templates/FreqaiExampleStrategy.py config_examples/config_freqai_futures.example.json file changes!!)
2022-07-10 12:35:44 +02:00
Matthias
819cc9c0e4
Fully align LightGBM with Catboost
2022-07-10 11:06:18 +02:00
Matthias
58b18770e3
Fix LightGBM missing argument in predict method
2022-07-10 11:05:35 +02:00
Matthias
9313a2d294
Update leverage tiers to latest version
2022-07-10 10:11:39 +02:00
Matthias
2e1061af64
Fix faulty LightGBM model
2022-07-09 08:21:42 +00:00
Matthias
c98e7ea055
Revert allowing empty currency for futures
2022-07-09 08:57:15 +02:00
Matthias
b7167ec880
Fix wrong fee calclulation for gateio futures
2022-07-09 08:51:59 +02:00
Matthias
5b733a723d
use "fees" for trades responses
2022-07-09 08:51:28 +02:00
Matthias
81f7d77d74
Allow fee currency to be empty for futures
2022-07-09 08:51:28 +02:00
Matthias
2499276fca
Refactor calculate_fee_rate to take separate parameters instead of an "Order"
...
we passed in a trade object anyway
2022-07-09 08:51:28 +02:00
Matthias
e52f82b565
Add leverage to custom_stake_amount callback
...
closes #7047
2022-07-08 19:44:20 +02:00
Matthias
b39508f64d
remove loadMarkets from "required" section,
...
it's now implied that all ccxt exchanges provide this method.
2022-07-07 19:44:54 +02:00
robcaulk
d9acdc9767
remove excess, increase no model warning clarity
2022-07-06 18:20:21 +02:00
Matthias
dbc3376fe9
Add alias for gate to gateio
2022-07-06 07:12:13 +02:00
robcaulk
514f7d491c
change rejected to denied
2022-07-05 12:58:43 +02:00
robcaulk
647f9b5460
replace the word abortion with rejected in log messages
2022-07-05 12:49:09 +02:00
robcaulk
4cac67fd66
Catch infrequent issue associated with grabbing first candle
2022-07-05 12:43:33 +02:00
Matthias
6f0721ae2b
Update dry-order-fix to use sqlalchemy internals
2022-07-04 17:17:39 +02:00
Matthias
6da3fa08e4
Update migrations to also support Postgres
...
closes #7038
2022-07-04 11:14:59 +02:00
robcaulk
bd3a6ba2fe
update backtesting to handle new output framework
2022-07-03 17:34:44 +02:00
robcaulk
8ac8d53c32
All LGBMRegressor model parameters are now set in config
2022-07-03 16:30:01 +02:00
robcaulk
a6077ac7f4
Merge feat/freqai into develop to get new features
2022-07-03 16:17:13 +02:00
Matthias
07aa372e2a
Ensure bot_loop_start is called in hyperopt, too
...
closes #7001
2022-07-03 14:10:59 +02:00
Matthias
c5e6520fee
Reorder methods in freqtradebot
2022-07-03 13:35:26 +02:00
robcaulk
4ff0ef7359
fix bug returning multiple targets for training
2022-07-03 12:15:59 +02:00
Matthias
f2fdc21374
Only use exit_tag if exit_type i exit_signal
...
closes #7027
2022-07-03 11:07:05 +02:00
robcaulk
ffb39a5029
black formatting on freqai files
2022-07-03 10:59:38 +02:00
robcaulk
106131ff0f
Rehaul organization of return values
2022-07-02 18:09:38 +02:00
robcaulk
93e1410ed9
first step toward cleaning output and enabling multimodel training per pair
2022-07-01 14:00:30 +02:00
robcaulk
6c7d02cb18
expose nu in the SVM outlier detection via svm_nu in config
2022-06-28 15:12:25 +02:00
robcaulk
7dfbd432d1
fix config saving bug, assign priorities to pairs in scanning, sleep the scanning loop to reduce CPU usage
2022-06-27 11:35:33 +02:00
robcaulk
68bafa9517
archive config to the model folder, filter out features before returning dataframe to strategy (to alleviate frequi issues)`
2022-06-26 23:03:48 +02:00
robcaulk
051b99791d
reduce unnecessary verbosity, fix error on first training sweep, add LightGBMPredictionModel
2022-06-26 19:04:23 +02:00
Matthias
2b07d34611
Revert several undesired changes
2022-06-23 20:47:51 +02:00
Matthias
8bf0bf10c5
Merge branch 'develop' into pr/SmartManoj/6859
2022-06-23 20:43:35 +02:00
Surfer
06571e99aa
Merge branch 'freqtrade:develop' into develop
2022-06-22 09:38:23 -04:00
Matthias
53e5483daa
Store StopPrice for dry-run orders
...
closes #6996
2022-06-22 06:31:51 +02:00
Surfer
cc4e5b26f0
Merge branch 'freqtrade:develop' into develop
2022-06-21 14:16:03 -04:00
Surfer Admin
e2a94d75b4
Merge branch 'develop' of https://github.com/Surfableio/freqtrade into develop
2022-06-21 14:06:56 -04:00
Surfer Admin
405ea74f16
stopPrice
2022-06-21 14:06:41 -04:00
Matthias
3a0f31fe89
Merge pull request #6914 from freqtrade/leverage_tiers_async
...
Leverage tiers async
2022-06-21 10:18:40 +02:00
Robert Caulk
852706cd6b
Fix default behavior for expiration_hours
2022-06-21 08:12:51 +02:00
robcaulk
b35c64b6c0
fix bug in backtest, typo in example strat
2022-06-19 16:41:09 +02:00
Matthias
0d967f93ba
Improve performance of some RPC calls
...
These don't need orders to be loaded. As a side-effect, this will
also reduce the strain on the database.
2022-06-19 16:13:04 +02:00
Matthias
0809f9aef6
Add offset to trade response
2022-06-18 19:27:05 +02:00
Matthias
bb61250bfe
Merge pull request #6987 from freqtrade/profit_metrics
...
Profit metrics
2022-06-18 17:20:20 +02:00
Matthias
0168343b76
Add trading-volume to api schema
2022-06-18 16:53:25 +02:00
Matthias
474e6705e6
Add Profit factor to backtesting
2022-06-18 16:35:40 +02:00
Matthias
8c46d19071
Fix backtesting bug
...
balance was never released on cancelled trades
2022-06-18 16:27:54 +02:00
robcaulk
3599d18ff6
fix bug in follow_mode, thanks @blood4rc
2022-06-18 12:05:28 +02:00
Matthias
40c9abc7e1
Add trading volume to /profit output
2022-06-18 11:40:32 +02:00
Matthias
6a15d36d14
Add Drawdown and profit_factor to /profit
...
#6816
2022-06-18 11:14:28 +02:00
Matthias
d77ce468ea
Add "dry" hint to buy/sell messages
...
part of #6962
2022-06-18 09:40:53 +02:00
Matthias
03815cb81b
Use fstrings in telegram messaging
2022-06-18 09:23:16 +02:00
Matthias
d62273294d
Update /help for /fx to align with actual command name
...
closes #6985
2022-06-18 09:10:33 +02:00
Matthias
017fd03180
Fix but with late entries in backtesting
2022-06-18 09:05:22 +02:00
Matthias
616bf315cb
gateio: futures market orders require IOC to be set.
2022-06-17 23:02:39 +02:00
Matthias
fda8248d41
Gateio allow market orders on futures markets
2022-06-17 22:43:24 +02:00
robcaulk
6da7a98857
add docstrings to new functions, remove superceded code
2022-06-17 16:16:23 +02:00
robcaulk
f631ae911b
add model expiration feature, fix bug in DI return values
2022-06-17 14:55:40 +02:00
Matthias
6bdf9c2a94
Simplify trade profit calculations further
2022-06-17 11:17:05 +00:00
Matthias
91f9818ae3
Simplify trade calculations
2022-06-17 09:53:29 +00:00
Matthias
d7770c507b
Remove implicit use of certain rates in profit calculations
2022-06-17 07:00:42 +00:00
robcaulk
0b0688a91e
ensure scanning purges models
2022-06-16 16:12:38 +02:00
Surfer
36f7315481
Merge branch 'freqtrade:develop' into develop
2022-06-16 08:19:57 -04:00
robcaulk
c5de0c49e4
first functional scanning commit
2022-06-16 00:24:18 +02:00
robcaulk
4d472a0ea1
merging datarehaul into scanning branch
2022-06-16 00:22:49 +02:00
Matthias
8f32fa5cb3
Avoid exception on exchange recycling if __init__ fails
2022-06-15 20:13:07 +02:00
Matthias
f9e2e87346
Improve some formatting and typehints
2022-06-15 20:03:36 +02:00
Matthias
ec40e79362
Merge pull request #6874 from froggleston/buy_reasons
...
Buy reasons
2022-06-15 19:06:00 +02:00
froggleston
14110bd5ca
Merge branch 'buy_reasons' of github.com:froggleston/freqtrade into buy_reasons
2022-06-15 11:25:24 +01:00
froggleston
c391ca08de
Change backtesting-analysis options to space separated lists
2022-06-15 11:25:06 +01:00
Matthias
29d8aeb9b3
Don't fail on invalid parameter
2022-06-15 07:13:47 +02:00
Matthias
3c62df6b86
Ensure the same timestamp is used for backtest and signal export
2022-06-15 06:53:52 +02:00
froggleston
6bb342f23a
Add export-filename support
2022-06-14 16:54:27 +01:00
Matthias
01a68e1060
Remove unnecessary check and condition
2022-06-13 20:48:49 +02:00
Matthias
1ffee96bad
Fix protection parameters not loading from parameter file
...
closes #6978
2022-06-13 19:59:05 +02:00
Matthias
d5fd1f9c38
Improve order filled handling
2022-06-13 13:24:48 +00:00
Matthias
c981ad4608
Fix missing space
2022-06-12 08:31:02 +02:00
Matthias
75a248cf42
Fstring freqAI sample strategy, remove duplicate features
2022-06-11 19:56:37 +02:00
Matthias
2e1ed132f7
Merge pull request #6964 from freqtrade/rpc_rel_daily
...
Telegram / api daily relative profit
2022-06-11 19:31:32 +02:00
Matthias
9c65fad73f
Merge Pull request #6919 into develop
2022-06-11 17:49:32 +02:00
Matthias
4b70e03daa
Add some rudimentary tsts for discord webhook integration
2022-06-11 17:49:23 +02:00
Matthias
fdfa94bcc3
make discord notifications fully configurable.
2022-06-11 17:43:46 +02:00
Matthias
f816c15e1e
Update discord message format
2022-06-11 16:48:28 +02:00
Matthias
3a06337601
Update API to provide new values.
2022-06-11 11:28:45 +02:00
Matthias
9ba11f7bcc
Update docs and tests for new daily command
2022-06-11 11:26:49 +02:00
Matthias
76827b31a9
Add relative profit to daily/weekly commands
2022-06-11 11:18:21 +02:00
robcaulk
eb47c74096
merge datarehaul into main freqai branch
2022-06-10 20:26:19 +02:00
Matthias
76f87377ba
Reduce decimals on FIAT daily column
2022-06-10 20:18:53 +02:00
Matthias
e8f8cd9d36
Merge pull request #6960 from italodamato/opt-ask-force-new-points
...
remove `random_state` condition when sampling random points
2022-06-10 19:45:36 +02:00
Italo
7142394121
remove random_state condition
...
otherwise the random sample always draws the same set of points
2022-06-10 09:46:45 +01:00
Matthias
ad3c01736e
time aggregate to only query for data necessary
...
improves the query by not creating a full trade object.
2022-06-10 07:26:53 +02:00
Matthias
2218313f5c
Merge pull request #6957 from freqtrade/rpc_consolidate_daily
...
Rpc consolidate daily
2022-06-10 06:39:59 +02:00
Italo
dce9fdd0e4
don't overwrite is_random
...
this should fix issue #6746
2022-06-09 20:06:23 +01:00
Matthias
8fb743b91d
improve variable wording
2022-06-09 20:13:26 +02:00
Matthias
dd32127014
Merge pull request #6944 from gaugau3000/develop
...
give extra info on rate origin for confirm_trade_*
2022-06-09 20:10:29 +02:00
Matthias
1ddd5f1901
Update docstring throughout the bot.
2022-06-09 19:41:08 +02:00
Matthias
88f8cbe172
Update tests to reflect new naming
2022-06-09 19:38:18 +02:00
Matthias
a547001601
Reduce Telegram "unit" stats
2022-06-09 07:06:32 +02:00
Matthias
d4dd026310
Consolidate monthly stats to common method
2022-06-09 07:06:32 +02:00
Matthias
3cb15a2a54
Combine weekly and daily profit methods
2022-06-09 07:06:32 +02:00
Matthias
c550cd8b0d
Simplify query in freqtradebot
2022-06-09 07:04:46 +02:00
Matthias
7eacb847b0
Fix backtesting bug when order is not replaced
2022-06-08 20:21:45 +02:00
robcaulk
d9b79d94e4
increase candle update flexibility to allow long sequential trainings that may last more than one candle
2022-06-07 20:57:10 +02:00
robcaulk
66800c7a45
ensure newest candles are always appended
2022-06-07 20:24:23 +02:00
robcaulk
f8f25e36ef
update example config/strat
2022-06-07 19:54:45 +02:00
robcaulk
15d049cffe
detect if upper tf candles are new or not, append if so. Correct the epoch for candle update check
2022-06-07 19:49:20 +02:00
Matthias
9534d6cca1
Cancel orders which can no longer be found after several days
2022-06-07 07:03:40 +02:00
robcaulk
cab8f517b4
add lock to datadrawer
2022-06-07 01:07:30 +02:00
robcaulk
4b26b6aaec
add lock to any historic data access
2022-06-07 00:54:18 +02:00
Robert Caulk
3c2e314ee5
Fix bugs
2022-06-06 16:26:07 -06:00
Robert Caulk
e6c5e737a2
Fix other bugs
2022-06-06 16:24:32 -06:00
Robert Caulk
bf19055e53
Update function spelling
2022-06-06 15:56:12 -06:00
Robert Caulk
2451ed8c88
Quick bug fix
2022-06-06 15:11:54 -06:00
Matthias
0b806af487
Add orders column to btresult
2022-06-06 10:59:10 +02:00
Matthias
79107fd062
Add minimal order object serialization
2022-06-05 22:12:27 +02:00
Matthias
8369d5bedd
Include open orders in json responses
2022-06-05 22:12:27 +02:00
Matthias
c0ff554d5b
Cleanup old, left open dry-run orders
2022-06-05 22:12:27 +02:00
Matthias
f709222943
Properly close out orders in backtesting
2022-06-05 22:12:27 +02:00
Matthias
c499bb051f
Allow empty unfilledtimeout for webserver mode
2022-06-05 19:41:17 +02:00
Matthias
a790bad1e4
Add entry_tag to leverage callback
...
closes #6929
2022-06-05 10:24:54 +02:00
robcaulk
d6b8801f41
fix follower bug
2022-06-05 04:40:58 +02:00
robcaulk
e8c0dcf9f3
add debug message to timerange
2022-06-03 17:14:07 +02:00
robcaulk
f2762e3b4b
fix bug in return_values()
2022-06-03 16:58:51 +02:00
robcaulk
16b4a5b71f
rehaul of backend data management - increasing performance by holding history in memory, reducing load on the ratelimit by only pinging exchange once per candle. Improve code readability.
2022-06-03 15:19:46 +02:00
robcaulk
15a971346d
catch infinity values when filtering
2022-06-02 17:13:20 +02:00
Robert Caulk
7d41542f93
process_only_new_candles in examplestrat should be True, thanks @Bloodhunter4rc
2022-06-02 07:24:08 -06:00
robcaulk
fea39254d9
fix custom_exit (thanks @paranoidandy)
2022-06-02 14:58:45 +02:00
robcaulk
b37c31cc21
fix ta-lib issue with simultaneous method access
2022-06-02 14:37:40 +02:00
robcaulk
4ac6ef2972
make defining period intervals more user friendly and flexible
2022-06-02 13:45:29 +02:00
robcaulk
ace951bf7e
another queue bug fix for fresh starts
2022-06-02 13:28:06 +02:00
Anuj Shah
eb4adeab4d
fix flake8 issues
2022-06-02 11:19:29 +05:30
Anuj Shah
45c47bda60
refactor into discord rpc module
2022-06-01 21:14:48 +05:30
Anuj Shah
afd8e85835
feat: add support for discord notification
2022-06-01 15:54:32 +05:30
robcaulk
833d25bda0
Save data after queue reorg
2022-06-01 08:05:38 +02:00
robcaulk
0b0dd8dd80
Force high priority pair to be trained before anything else.
2022-06-01 07:55:05 +02:00
Surfer Admin
7fe8b7661d
Display the signal candle analyzed in telegram.
2022-05-31 15:46:43 -04:00
Matthias
34a44b9dd2
Fix backtesting bug when canceling orders
...
closes #6911
2022-05-31 20:32:41 +02:00
Matthias
66edbcd3d5
Fix slight backtesting bug in edge-case scenarios
2022-05-31 20:08:34 +02:00
robcaulk
7523ed825e
automatically detect maximum required data based on user fed indicators (to avoid NaNs in dataset for rolling indicators), add new config parameter for backtesting to let users increase their startup_candles to accommodate high timeframe indicators, add docs to explain all. Add new feature for automatic indicator duplication according to user defined intervals (exhibited in example strat and configs now).
2022-05-31 18:42:27 +02:00
Matthias
3549176370
Update missleading docstring
...
closes #6913
2022-05-31 17:52:45 +02:00
Matthias
88845f6d88
Fix cancel order deleting trade
...
if one order was successfully filled, the trade cannot be deleted.
closes #6907
2022-05-31 17:49:51 +02:00
robcaulk
9b3b08a2bb
let follower purge old model files
2022-05-31 15:37:38 +02:00
robcaulk
bac4ced382
Ensure follower predictions are persistent and uniquely stored
2022-05-31 14:35:04 +02:00
robcaulk
70adf55643
Automatically detect and change follower data_path to accommodate remote systems
2022-05-31 12:35:09 +02:00
robcaulk
0306f5ca13
Add autopurge feature so that FreqAI cleans up after itself when it no longer needs old models on disk
2022-05-31 11:58:21 +02:00
Matthias
cce8d1aa4d
Update get_market_leverage_tiers to be async
2022-05-31 08:48:34 +00:00
Matthias
be6e0813db
Remove --strategy from analysis test
2022-05-31 06:53:03 +02:00
robcaulk
45f4f0f603
ensure follower sends back null arrays in case leader hasnt created a model file yet
2022-05-31 01:48:48 +02:00
robcaulk
29d2f59f12
fix PCA bug
2022-05-31 00:40:45 +02:00
robcaulk
606f18e5c1
Add follow_mode feature so that secondary bots can be launched with the same identifier and load models trained by the leader
2022-05-30 21:35:48 +02:00
Matthias
c285ad0e2b
Remove --strategy parameters, update docs
2022-05-30 20:26:24 +02:00
robcaulk
5b4c649d43
detect variable sized dataframes coming from strat, adjust our stored/returned data accordingly
2022-05-30 13:55:46 +02:00
robcaulk
e229902381
fix bug in previous commit
2022-05-30 12:48:22 +02:00
robcaulk
a20651efd8
Increase performance by only predicting on most recent candle instead of full strat provided dataframe. Collect predictions and store them so that we can feed true predictions back to strategy (so that frequi isnt updating historic predictions based on newly trained models).
2022-05-30 11:37:05 +02:00
Matthias
8e2c7e1298
extract detect_parameters to separate function
2022-05-30 07:26:26 +02:00
Matthias
eaa656f859
Hyperoptable parameters can be instance attributes
2022-05-30 07:07:47 +02:00
Matthias
386d3e0353
Rename stop/roi loading method
2022-05-30 06:52:44 +02:00
Matthias
ad8ff10a05
Minor doc changes
2022-05-30 06:32:46 +02:00
robcaulk
2f1a2c1cd7
allow users to store data in custom formats, update spot config to reflect better target horizon to training period ratio
2022-05-30 02:12:31 +02:00
robcaulk
d59eac3321
revert a79032b
2022-05-29 21:33:38 +02:00
robcaulk
a79032bf75
fixing bug in training queue
2022-05-29 20:19:32 +02:00
Matthias
056047f635
Fix --help
2022-05-29 20:07:02 +02:00
robcaulk
3f72263278
allow pairs deeper in the queue to get trained if the higher priority pairs dont need training
2022-05-29 20:02:43 +02:00
robcaulk
cc6cae47ec
allow pairs deeper in the queue to get trained if the higher priority pairs dont need training
2022-05-29 19:49:43 +02:00
robcaulk
4eb4753e20
allow subdaily retraining for backtesting
2022-05-29 17:44:35 +02:00
froggleston
9a068c0b14
Add test for each analysis group, remove default table output if not indicator-list
2022-05-29 16:25:31 +01:00
Matthias
e6affcc23e
Move parameter file loading to hyper-mixin
2022-05-29 16:39:52 +02:00
Matthias
1ee08d22d2
Delay parameter init
...
closes #6894
2022-05-29 16:39:52 +02:00
robcaulk
0aa7162055
ensure the prediction is reset in the pair_dict after any trade exit, not just custom_exit
2022-05-29 16:36:46 +02:00
robcaulk
fe36b08fce
fix key error in example strat
2022-05-29 16:26:34 +02:00
robcaulk
ce365eb9e3
improve example strat so that it has dynamic buy and sell logic according to original prediction
2022-05-29 14:45:46 +02:00
froggleston
df1c36e5aa
Change command name, use load_backtest_stats for strategy resolving
2022-05-29 11:54:27 +01:00
froggleston
c59209a01a
Merge branch 'buy_reasons' of github.com:froggleston/freqtrade into buy_reasons
2022-05-29 11:20:32 +01:00
froggleston
e7c5818d16
First pass changes for cleaning up
2022-05-29 11:20:11 +01:00
Matthias
a875a7dc40
Use unified stopPrice for binance
2022-05-29 11:01:01 +02:00
Matthias
f64f2b1ad8
Fix /stats Formatting issue in multi-message settings
2022-05-29 10:34:22 +02:00
robcaulk
4eb29c8810
Dont reset pair priority if it doesnt successfully train
2022-05-28 18:34:26 +02:00
robcaulk
83dd453723
catch errors occuring on background thread, and make sure to keep the ball rolling. Improve pair retraining queue.
2022-05-28 18:26:19 +02:00
robcaulk
e54614fa2f
remove remnants of single threaded version, ensure pair queue priority is checked before retraining
2022-05-28 14:55:07 +02:00
robcaulk
2a4d1e2d64
fix bug in setting new timerange for retraining
2022-05-28 12:23:26 +02:00
robcaulk
7870a86e9a
fix live retraining bug
2022-05-28 11:38:57 +02:00
robcaulk
0bf915054d
handle key check correctly
2022-05-28 11:22:32 +02:00
robcaulk
c5a16e91fb
throw user error if user tries to load models but feeds the wrong features (while using PCA)
2022-05-28 11:11:41 +02:00
robcaulk
b8f9c3557b
dirty dirty, dont look here (hacking a flag to avoid reloading leverage_tiers in dry/live)
2022-05-27 13:56:34 +02:00
robcaulk
891fb87712
give load_cached_data_for_updating the right flags to avoid redownloading data in dry/live
2022-05-27 13:38:22 +02:00
robcaulk
65fdebab75
let load_pairs_histories load futures candles in live
2022-05-27 13:01:33 +02:00
robcaulk
c080571b7a
help futures go dry/live with auto download feature
2022-05-27 12:23:32 +02:00
Matthias
24cf044646
Fix bybit spot mode
2022-05-27 08:18:04 +00:00
robcaulk
8a501831d6
fix the error logic on previous commit
2022-05-27 01:15:55 +02:00
robcaulk
23c30dbc10
add error for user trying to backtest with backtest_period<1
2022-05-27 00:43:52 +02:00
robcaulk
6193205012
fix bug for target_mean/std array merging in backtesting
2022-05-26 21:07:50 +02:00
Matthias
43b7955fc2
Fully rely on pathlib
2022-05-26 19:37:55 +02:00
Matthias
682daa4e94
Reset logging mixin to avoid random test failure
2022-05-26 18:05:40 +02:00
Stefano Ariestasia
e1c6cf5f91
fix typo
2022-05-26 10:12:50 +09:00
Matthias
537d10c627
Improve some typing
2022-05-25 20:43:43 +02:00
Matthias
3e66275c98
Refactor bot_start to separate function
...
to be reused further ...
2022-05-25 20:01:21 +02:00