Commit Graph

461 Commits

Author SHA1 Message Date
Matthias
fefb4b23d0 revise logic in should_sell 2020-11-27 09:24:53 +01:00
Matthias
81d08c4def Add detailed backtest test verifying the ROI / trailing stop collision 2020-11-27 08:24:56 +01:00
radwayne
8e03fee868
Update interface.py
Changed The should_sell() method, to handle the case where both ROI and trailing stoploss are reached in backtest.
2020-11-06 13:56:46 +01:00
Matthias
e602ac3406 Introduce Pairlocks middleware 2020-10-27 07:06:06 +01:00
Matthias
a143f7bc43 Improve pairlock docstrings 2020-10-21 19:35:57 +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
66b77d2f53 Fix some types 2020-10-02 06:52:43 +02:00
Matthias
253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Matthias
7852feab05 support smaller timeframes 2020-09-07 09:06:43 +02:00
Matthias
71af64af94 Move comment to the right place 2020-09-04 20:10:43 +02:00
Matthias
cc684c5141 Correctly handle identical timerame merges 2020-09-04 20:09:02 +02:00
Matthias
7bc8927914 Add documentation for merge_informative_pair helper 2020-09-04 20:02:31 +02:00
Matthias
bd4f3d838a Implement merge_informative_pairs helper 2020-09-04 19:44:35 +02:00
Matthias
f54fecaeba Expose helpermethods thorugh freqtrade.strategy 2020-09-02 19:58:26 +02:00
Matthias
3bb69bc1bd Add returns statement to docstring 2020-08-24 17:31:00 +02:00
Matthias
fca11160e4 Improve docstring of is_pair_locked 2020-08-24 17:18:57 +02:00
Matthias
354a406248 Sort imports in interface.py 2020-08-24 11:45:38 +02:00
Matthias
c272944834 Lock pair until a new candle arrives 2020-08-24 11:09:09 +02:00
Matthias
8b767eedfd Merge branch 'develop' into pr/yazeed/3055 2020-08-24 07:21:48 +02:00
Matthias
87e4a82041 Merge branch 'develop' into bt_add_maxdrawdown 2020-08-09 08:34:36 +02:00
Matthias
c4a9a79be0
Apply suggested documentation changes from code review
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-07-04 09:43:49 +02:00
Matthias
1339479882 Have sell_type stringify correctly 2020-07-03 06:58:27 +02:00
Matthias
eef3c01da7 Fix function header formatting 2020-06-18 19:49:05 +02:00
Matthias
f1993fb2f4 Pass analyzed dataframe to get_signal 2020-06-18 08:09:52 +02:00
Matthias
48225e0d80 Improve interface docstrings for analyze functions 2020-06-18 07:54:00 +02:00
Matthias
f2a778d294 Combine tests for empty dataframe 2020-06-18 07:03:30 +02:00
Matthias
8b186dbe0e Add additional test scenarios 2020-06-18 06:50:06 +02:00
Matthias
84329ad2ca Add confirm_trade* methods to abort buying or selling 2020-06-18 06:50:06 +02:00
Matthias
910100f1c8 Improve docstring comment 2020-06-18 06:50:06 +02:00
Matthias
c047e48a47 Add errorsupression to safe wrapper 2020-06-18 06:50:06 +02:00
Matthias
bc821c7c20 Add documentation for bot_loop_start 2020-06-18 06:50:06 +02:00
Matthias
77056a3119 Add bot_loop_start callback 2020-06-18 06:50:06 +02:00
Matthias
8166b37253 Explicitly check if dp is available 2020-06-18 06:50:06 +02:00
Matthias
55fa514ec9 Adapt most tests 2020-06-18 06:50:05 +02:00
Matthias
273aaaff12 Introduce .analyze() function for Strategy
Fixing a few tests along the way
2020-06-18 06:50:05 +02:00
Matthias
95f3ac08d4 Update some comments 2020-06-18 06:50:05 +02:00
Matthias
fd97ad9b76 Cache analyzed dataframe 2020-06-18 06:50:05 +02:00
Matthias
a8005819c9 Add class-level attributes to hyperopt and strategy 2020-06-02 10:19:27 +02:00
Matthias
09fe3c6f5e create compatibility code 2020-06-02 09:52:30 +02:00
Matthias
cadc50ce9b Replace more occurances of ticker_interval with timeframe 2020-06-01 20:49:40 +02:00
Matthias
ea5daee505 Allow changing severity of strategy-validations to log only. 2020-05-29 19:37:18 +02:00
Matthias
27e0c2604c
Add comment to ensure we're not accidentally removing this again 2020-05-26 16:58:29 +02:00
hroff-1902
9f573481a8 Fix #3378 2020-05-26 13:54:45 +03:00
Matthias
046202fdda Fix typing circular dependency 2020-05-22 20:56:34 +02:00
hroff-1902
8bf38443c2
Merge branch 'develop' into verify_date_on_new_candle_on_get_signal 2020-05-20 14:05:21 +03:00
hroff-1902
a8b1dcf3c8 Minor: cleanup in get_signal() 2020-05-19 22:20:53 +03:00
hroff-1902
7b2bb73a12
Merge branch 'develop' into verify_date_on_new_candle_on_get_signal 2020-05-19 21:34:58 +03:00
hroff-1902
115586a50f Introduce freqtrade.typing 2020-05-18 21:59:50 +03:00
hroff-1902
627c5059f0 Move create_pair_list to pairlistmanager 2020-05-18 13:54:21 +03:00
hroff-1902
f8b01f5a43 Make flake happy 2020-05-16 12:27:56 +03:00
hroff-1902
bf25746965 Introduce datatype for informative pairs 2020-05-16 12:27:56 +03:00
Matthias
431b244f43 Merge branch 'develop' into interface_ordertimeoutcallback 2020-04-19 06:58:44 +02:00
Matthias
c465552df4 Update comment to mention .copy() usage 2020-04-02 20:17:54 +02:00
Matthias
3fcd531eac Copy dataframe in interfac.py (reduces memory consumption) 2020-04-02 19:30:59 +02:00
Matthias
cd2e738e35 Add test for assert error 2020-03-29 11:40:13 +02:00
orehunt
3ef568029f different exception messages 2020-03-26 07:05:30 +01:00
orehunt
0f53e646fd check that the strategy dataframe matches the one given by the bot 2020-03-24 14:08:34 +01:00
Matthias
a1bbeaa668 Merge branch 'develop' into interface_ordertimeoutcallback 2020-03-15 14:56:14 +01:00
Yazeed Al Oyoun
1395f65872 meh 2020-03-11 17:29:22 +01:00
Yazeed Al Oyoun
c442913feb final 2020-03-11 17:28:03 +01:00
Yazeed Al Oyoun
ba596af636 final? 2020-03-11 17:26:57 +01:00
Yazeed Al Oyoun
d25cf1395b fixed log message 2020-03-11 17:23:22 +01:00
Yazeed Al Oyoun
7754742459 fix tests 2020-03-11 17:13:39 +01:00
Yazeed Al Oyoun
a82cdf0add fixed test 2020-03-11 17:04:51 +01:00
Yazeed Al Oyoun
4e45abbf13 added return false, false 2020-03-11 16:44:45 +01:00
Yazeed Al Oyoun
54bde6ac11 verify date on new candle before producing signal 2020-03-11 16:34:23 +01:00
hroff-1902
3208faf7ed Do not use ticker where it's not a ticker 2020-03-08 20:47:02 +03:00
Matthias
4d8430c687 Use string typehints to avoid import errors 2020-03-01 09:43:20 +01:00
hroff-1902
e411717de9 No percent where ratio is to be used 2020-02-28 12:36:39 +03:00
Matthias
8cd77b2e27 Add some tests for strategy_wrapper 2020-02-22 11:55:40 +01:00
Matthias
365fdf4c37 Add docstring to strategy wrapper 2020-02-22 11:41:22 +01:00
Matthias
bf556c8678 Merge branch 'develop' into interface_ordertimeoutcallback 2020-02-21 20:35:07 +01:00
Matthias
6c01542fed Ad check_sell_timeout 2020-02-21 20:27:13 +01:00
hroff-1902
bee28a1061
Merge pull request #2944 from freqtrade/move_defaultstrategy
Move defaultstrategy
2020-02-20 08:52:24 +03:00
Matthias
1634297685 Move strategies to test subfolder 2020-02-18 20:12:10 +01:00
Matthias
d65a06947d Merge branch 'develop' into data_handler 2020-02-09 15:16:43 +01:00
Matthias
49dcc561b7 POC for check_buy_timeout 2020-02-06 20:30:17 +01:00
Matthias
2816b96650 Create strategy_wrapper to call user-defined code with 2020-02-06 20:26:04 +01:00
hroff-1902
f3d500085c Add some type hints 2020-02-02 07:00:40 +03:00
Matthias
fc2970f41b Merge branch 'develop' into data_handler 2020-01-21 06:58:48 +01:00
Matthias
099bbc5c7f Fix bug when stoploss_on_exchange in combination with dry-run
does not sell orders
2020-01-20 20:14:40 +01:00
Matthias
bdda620397 add plot_config to startegy interface properly 2020-01-04 12:56:46 +01:00
Matthias
f04873b0b0 Add plot_config to interface 2020-01-04 11:14:00 +01:00
Matthias
dbe8f727cb Fix typehint 2019-12-28 11:01:41 +01:00
Matthias
9835312033 Improve pair_lock handling 2019-12-22 09:46:00 +01:00
Matthias
a2964afd42 Rename profit_percent to profit_ratio to be consistent 2019-12-17 08:53:30 +01:00
Matthias
3163cbdf8a Apply special case for negative ROI 2019-12-07 15:18:12 +01:00
hroff-1902
b8aa727edf Fix second part of freqtrade-strategies #51 2019-11-21 05:10:48 +03:00
Matthias
132a4da7cf Small style fixes and adjusted tests 2019-10-27 10:56:38 +01:00
Matthias
5c2682e2c9 Add startup_candle_count to sample strategy 2019-10-27 09:44:56 +01:00
Matthias
6382a4cd04 Implement startup-period to default-strategy 2019-10-27 09:44:56 +01:00
Matthias
141c454187 Add startup-candles-argument for strategy 2019-10-27 09:44:56 +01:00
Matthias
3c8d27d098 remove correct comment ... 2019-10-13 09:54:03 +02:00
hroff-1902
4c1705fb1e No specific handling for trailing_stop_positive 2019-10-11 22:59:13 +03:00
Matthias
ff7a3cc885 remove last occurance of config. from stop_loss_reached 2019-10-11 09:05:21 +02:00
Matthias
4d1488498c stoploss_reached should not use config 2019-10-11 08:55:31 +02:00
hroff-1902
9b23376415 Move experimental settings to ask_strategy 2019-10-05 13:29:59 +03:00
hroff-1902
39f41def54
Merge pull request #2261 from freqtrade/test_speedup
[minor] Test speedup
2019-09-14 11:25:00 +03:00
Matthias
2cf045c53e Remove commented indicators from DefaultStrategy 2019-09-14 10:00:59 +02:00
Matthias
0135784589 remove unused indicators from default_strategy 2019-09-13 19:56:58 +02:00
hroff-1902
67ff48ce3e Comment out noisy log messages 2019-09-12 21:01:14 +03:00
hroff-1902
acf3b751f0 Log sell_flag, do not log sell_type=SellType.NONE 2019-09-12 01:21:14 +03:00
hroff-1902
9bdfaf3803 Remove quotes around the pairs 2019-09-11 23:32:08 +03:00
hroff-1902
35580b135a Improve backtesting logs 2019-09-10 10:42:45 +03:00
Matthias
13932f55f5 Fix random test failures 2019-09-08 14:02:32 +02:00
hroff-1902
45cfdbbda7 Make flake happy 2019-09-08 03:10:01 +03:00
hroff-1902
2b00a5d90a Get rid of import_strategy() 2019-09-08 02:43:02 +03:00
Matthias
ee808abfea Add emergency_sell as sell reason 2019-09-01 09:07:09 +02:00
Matthias
0e62b8bd85 Update strategy_version to INTERFACE_VERSION 2019-08-26 20:16:03 +02:00
Matthias
92011f8294 Introduce strategy_version variable 2019-08-26 19:44:33 +02:00
Matthias
e35a349229 Fix spelling of interface.py docstring 2019-08-14 06:07:03 +02:00
Matthias
200b6ea10f Add is_pair_locked 2019-08-12 19:50:38 +02:00
Matthias
c042d08bb7 Add lock_pairs to interface 2019-08-12 16:29:09 +02:00
Matthias
2af663dccb rename _analyze_ticker_int to _analyze_ticker_internal 2019-08-04 12:55:03 +02:00
Matthias
62262d0bb5 improve docstring of _analyze_ticker_int 2019-08-04 10:21:22 +02:00
Matthias
52d92cba90 Split analyze_ticker and _analyze_ticker_int 2019-08-04 10:20:31 +02:00
Matthias
700bc087d3
Merge pull request #1952 from hroff-1902/fix/1948
Fix #1948
2019-06-27 19:36:06 +02:00
hroff-1902
116d8e853e typos in docstrings fixed 2019-06-23 23:10:37 +03:00
hroff-1902
7fbdf36c64 avoid code duplication while selecting min_roi entries 2019-06-23 19:23:51 +03:00
hroff-1902
144e053a4e fix for #1948 2019-06-20 03:26:25 +03:00
Matthias
3240d4e70e
Merge pull request #1925 from hroff-1902/strategy-advise-logging
debug logging for IStrategy.advise_*()
2019-06-14 19:24:14 +02:00
Matthias
160894c031 Calculate profit_high to make sure stoploss_positive_offset is correct 2019-06-13 20:04:52 +02:00
hroff-1902
4801af4c77 debug logging for IStrategy.advise_*() added 2019-06-11 10:42:14 +03:00
Misagh
36dae7cc6c trailing stoploss reason fixed 2019-06-02 13:27:31 +02:00
hroff-1902
9fbe573cca limit usage of ccxt to freqtrade/exchange only 2019-04-09 12:27:35 +03:00
hroff-1902
2aa1b43f01 get rid of TICKER_INTERVAL_MINUTES dict, use ccxt's parse_timeframe() instead 2019-04-04 20:56:40 +03:00
Matthias
9a632d9b7c Formatting 2019-03-23 16:51:36 +01:00
Matthias
c404e9ffd0 Simplify trailing_stop logic 2019-03-23 16:48:17 +01:00
Matthias
b1fe8c5325 Simplify stoploss_reached 2019-03-23 16:46:03 +01:00
Matthias
7307084dfd Move stoploss-adjustment to the top 2019-03-23 16:44:58 +01:00
Matthias
a7b60f6780 update trailing_stop with high in case of backtesting 2019-03-17 16:03:44 +01:00
Matthias
05ab1c2e0a Fix some comments 2019-03-17 16:02:13 +01:00
Matthias
2d4a2fd10b Use oppen_rate instead of artificial defaults 2019-03-17 13:12:04 +01:00
Matthias
fc360608b7 Rename function to adjust_min_max 2019-03-16 20:14:45 +01:00
Matthias
738ed93221 call new function 2019-03-16 19:54:34 +01:00
misagh
a772ab323e adding the option to resolver 2019-03-12 15:43:53 +01:00
misagh
9c1c962aa7 if condition fixed 2019-03-09 20:30:56 +01:00
misagh
c122eab77b added trailing_only_offset_is_reached option 2019-03-09 20:13:35 +01:00
hroff-1902
8e7e670003
Orthography in the log message 2019-02-13 12:42:39 +03:00
hroff-1902
585f525879
Cosmetic: fix logging 2019-02-10 21:02:53 +03:00
Misagh
421be5da86
Merge pull request #1511 from freqtrade/fix/more_settings_strategy
add more settings to strategy
2019-01-30 11:22:10 +01:00
Matthias
ba07348b82 Rename additional_pairs to informative_pairs 2019-01-26 19:22:45 +01:00
Matthias
5ea332e9be fix bug with trailing_stop_offset if it's disabled 2019-01-23 20:57:31 +01:00
Matthias
89ddfe08f4 Add additional-pairs (sample) to defaultstrategy 2019-01-22 19:17:08 +01:00
Matthias
6e2de75bcb Add additional_pairs to strategy 2019-01-22 07:07:15 +01:00
Matthias
a2bc1da669 Remove private var from class instance
it's overwritten in __init__ anyway
2019-01-22 07:07:15 +01:00
Matthias
58f1abf287 Add dp / wallets to strategy interface 2019-01-22 07:04:19 +01:00
misagh
a2618208ef wrapping in parantheses instead of line breaks 2019-01-18 12:07:51 +01:00
misagh
5e2e96acd2 compatibility with edge added 2019-01-16 18:38:20 +01:00
misagh
a44f781284 Merge branch 'develop' into tsl_on_exchange 2019-01-16 14:56:27 +01:00
misagh
cffc9ce890 last step: stop loss on exchange added to trailing 2019-01-16 14:49:47 +01:00
Matthias
e9d61eb35d Fix ROI calculation problem
Prior to that all ROI entries with a key > trade_duration where active.
This causes a problem if the ROI is not linearly declining
2019-01-12 13:45:03 +01:00
misagh
f4ceeca438 Merge branch 'develop' into tsl_on_exchange 2019-01-08 15:33:32 +01:00
misagh
4fbb9d4462 adding stoploss_on_exchange_interval to order_types dict. default to 1
minute (60)
2019-01-08 12:39:53 +01:00
Matthias
4599c80e79 Add trailing-stop to strategy 2019-01-05 07:10:25 +01:00
Matthias
3329ffd071 improve comment 2019-01-02 14:44:17 +01:00
Matthias
516217b6cb Stop loss should also be shown when trailing is active 2019-01-02 13:34:08 +01:00
Matthias
1d518885a9 fix roi-reached when list is unsorted 2019-01-01 16:45:52 +01:00
Misagh
1dbcab0b09
Merge pull request #1413 from freqtrade/feat/data_helpers
Feat/data helpers
2018-12-17 09:14:10 +01:00
Matthias
b3bb98777b
Merge branch 'develop' into time_in_force 2018-12-17 06:37:46 +01:00
Matthias
1c5031b468 load_data to return dataframe 2018-12-15 14:28:37 +01:00
Matthias
b38195e9b3 Rename to converter 2018-12-14 06:32:49 +01:00
Matthias
453f62cdfa Adjust imports 2018-12-14 06:32:49 +01:00
Matthias
aca243086e Fix comment 2018-12-13 19:43:17 +01:00
Matthias
5c3dcf3e2b Test for wrong inputs (empty / none-dataframes) in get_signal 2018-12-12 19:35:51 +01:00
Matthias
627ab9f583 pass around dataframe instead of list 2018-12-12 19:17:09 +01:00
misagh
b7aa77acdd conflict resolved 2018-12-04 20:28:07 +01:00
misagh
86354ed258 conflict resolved 2018-11-26 19:08:58 +01:00
misagh
b2634e8e08 typo corrected 2018-11-26 18:28:13 +01:00
misagh
962b02b079 one last step before tests 2018-11-25 22:02:59 +01:00
misagh
fb7b65c909 time in force drafted
time in force drafted
2018-11-25 20:44:40 +01:00
misagh
3e29fbb17a stoploss on exchange added as a parameter to order_types 2018-11-25 17:22:56 +01:00
Matthias
21a093bcdb extract resolvers to IResolvers and it's own package 2018-11-24 20:00:02 +01:00
misagh
fea77824d0 handle stop loss on exchange added 2018-11-23 15:17:36 +01:00
misagh
3a1c378325 typing bugs 2018-11-22 17:14:22 +01:00
misagh
bbe8e4e494 flake8 2018-11-22 17:07:37 +01:00
misagh
bfbdddff26 stoploss limit order added to exchange 2018-11-22 16:24:40 +01:00
misagh
238dd6413c Merge branch 'develop' into stoploss_on_exchange 2018-11-22 09:39:01 +01:00
misagh
b50250139e Drafting stoploss on exchange 2018-11-19 20:02:26 +01:00
Matthias
968184ef0d Swap default mode to all limit (defaults to how it was before) 2018-11-17 19:40:53 +01:00
Matthias
54a86d72f2 Raise error if one of the required ordertypes is not present 2018-11-17 12:59:16 +01:00
Matthias
3ab0cf49af Add order_types to sample strategy 2018-11-17 10:26:15 +01:00
Matthias
24ed9a8b7d Add loading order_types from config file 2018-11-17 10:14:18 +01:00
Matthias
6a71f80a9e Add support for different order types 2018-11-15 06:58:24 +01:00
misagh
6d63de1932 removing unnecessary lib 2018-11-07 18:15:04 +01:00
misagh
6838ae0591 conflict resolved => new backtest low and high params 2018-11-07 17:56:21 +01:00
misagh
bcecaa69d4 removing global variable modification 2018-11-06 19:41:46 +01:00
Matthias
8c93760a6d simplify some code 2018-10-30 20:23:31 +01:00
Matthias
3679b0948a cleanup interface 2018-10-30 19:37:45 +01:00
Matthias
233c442af9 Adjust backtest so sell uses stop-loss or roi value as closerate 2018-10-29 19:27:23 +01:00
misagh
25daf3a0f7 Merge branch 'develop' into money_mgt 2018-10-23 19:33:13 +02:00
misagh
8b3631d1ac make “if condition” more readable 2018-10-01 17:49:27 +02:00
misagh
ad666ac65c autopep8 corrected 2018-10-01 17:33:18 +02:00
Matthias
334e7553e1 Fix hyperopt not working after update of scikit-learn to 0.20.0 2018-09-29 13:49:27 +02:00
misagh
75ba6578a3 unused library + trailing whitespaces removed. 2018-09-26 16:36:41 +02:00
misagh
cf37093e5a empty dict default removed 2018-09-21 22:07:12 +02:00
misagh
ef52c7b510 edge positioning put into package 2018-09-21 17:41:31 +02:00
misagh
5f68834ccc merging develop into money_mgt (updated to async) 2018-09-14 19:20:49 +02:00
misagh
13ffd88053 merging develop into async. requirement.txt conflict resolved 2018-09-06 20:28:07 +02:00