Commit Graph

371 Commits

Author SHA1 Message Date
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
misagh a74953cb4d Draft of money management 2018-09-06 16:59:51 +02:00
Matthias 3fd00c9a9c Merge branch 'develop' into ta_on_candle 2018-09-01 20:01:18 +02:00
Matthias 2ec5a536aa Fix comment location 2018-09-01 19:57:12 +02:00
Matthias d35d3bb38c rename ta_on_candle to process_only_new_candles
be more expressive
2018-09-01 19:52:40 +02:00
Matthias cb46aeb73c rename variable to be more expressive 2018-09-01 19:50:45 +02:00
Matthias 54ddd908e6 Merge branch 'develop' into ccxt-async 2018-08-29 19:43:09 +02:00
Samuel Husso 7376a0d538
Merge pull request #1131 from freqtrade/parametrize_outdated_ticker
parametrize outdated_offset to simplify sandbox usage
2018-08-22 07:02:38 +03:00
Matthias 8f41e0e190 Use setting in 'exchange' dict 2018-08-20 20:01:57 +02:00
Samuel Husso 98240e0e48
Merge pull request #1154 from freqtrade/min_roi_output
Output min-roi setting when overwriting from config
2018-08-16 20:18:49 +03:00
Matthias 4a8c120926 Output min-roi setting when overwriting from config 2018-08-16 11:35:41 +02:00
Matthias d007ac4b96 check version explicitly, use "python" in venv 2018-08-15 08:37:20 +02:00
Matthias e3e79a55fa Fix _abc_data pickle error in 3.7 2018-08-12 10:16:51 +02:00
Matthias b008649d79 Remove unnecessary quote escaping 2018-08-09 20:13:07 +02:00
Matthias 3b2f161573 Add test for ta_on_candle override 2018-08-09 20:12:45 +02:00
Matthias e36067afd3 refactor candle_seen to private 2018-08-09 19:58:47 +02:00
Matthias c4e43039f2 Allow control from strategy 2018-08-09 19:24:00 +02:00
Matthias 98730939d4 Refactor to use a plain dict
* check config-setting first - avoids any call to "candle_seen"
eventually
2018-08-09 13:02:41 +02:00
Matthias c9580b31d0 parametrize outdated_offset to simplify sandbox usage 2018-08-07 09:25:21 +02:00
creslin 10ab6c7ffa Removed unneeded property code 2018-08-03 09:14:16 +00:00
creslin 1fef384bba flake 8 2018-08-03 08:40:16 +00:00
creslin d2a728cebd flake 8 2018-08-03 08:38:13 +00:00
creslin 6b3e8dcc33 holds a dict of each pair last seen.
to correctly manage the last seen of a pair.
2018-08-03 08:33:37 +00:00
creslin c38d94df2d Resubmitting - because GIT.
This is the last cut that was in #1117 before i closed that PR

This PR allows a user to set the flag "ta_on_candle" in their config.json

This will change the behaviour of the the bot to only process indicators
when there is a new candle to be processed for that pair.

The test is made up of "last dataframe row date + pair" is different to
last_seen OR  ta_on_candle is not True
2018-08-03 07:33:34 +00:00
Matthias 337d9174d9 Flake8 fixes 2018-08-02 20:11:27 +02:00
misagh 2ec2f1abce async branch updated to reflect develop branch changes 2018-08-02 16:48:21 +02:00
Matthias 9c08cdc81d Fix typehints 2018-08-01 21:58:32 +02:00
Matthias 038e97667f
Merge branch 'develop' into BASE64 2018-08-01 07:26:13 +02:00
Gert b83487cc36 added required changes 2018-07-30 13:00:08 -07:00
Matthias 787d6042de Switch from pair(str) to metadata(dict) 2018-07-29 20:56:23 +02:00
Matthias 82680ac6aa improve docstrings for strategy 2018-07-29 20:55:40 +02:00
Matthias 39cf0decce don't use __annotate__
it is only present when typehints are used which cannot be guaranteed
for userdefined classes
2018-07-29 20:55:40 +02:00
Matthias f286ba6b87 overload populate_indicators to work with and without pair argumen
all while not breaking users strategies
2018-07-29 20:55:40 +02:00
Matthias 791c5ff071 update comments to explain what advise methods do 2018-07-29 20:55:37 +02:00
Matthias 8a9c54ed61 use new methods 2018-07-29 20:55:37 +02:00
Matthias df8700ead0 Adapt after merge from develop 2018-07-29 20:55:37 +02:00
Matthias aa772c28ad Add tests for advise_indicator methods 2018-07-29 20:55:37 +02:00
Matthias 7300c0a0fe remove @abstractmethod as this method may not be present in new
strategies
2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 5871488858 fixed errors and making flake pass 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 19b9966417 satisfied flake8 again 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 57f683697d revised code 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 296d3d8bbe working on refacturing of the strategy class 2018-07-29 20:55:06 +02:00
Samuel Husso 187e039a58
Merge pull request #1034 from freqtrade/feat/positive_sl_limit
add offset for positive trailing stop loss
2018-07-29 08:30:29 +03:00
Matthias df3e76a65d Remove legacy code, fix missed call 2018-07-26 19:11:51 +01:00
Matthias 484103b957 extract get_history_data from get_signal 2018-07-26 18:23:42 +01:00
Matthias 060469fefc Add stuff after rebase 2018-07-19 20:12:20 +02:00
Matthias 4fb9823cfb fix rebase problem 2018-07-19 19:50:06 +02:00
Matthias a452864b41 Use namedtuple for sell_return 2018-07-19 19:39:08 +02:00
Matthias 4059871c28 Add get_strategy_name 2018-07-19 19:34:14 +02:00
Matthias 838b0e7b76 Remove unused import 2018-07-19 19:29:31 +02:00
Matthias 0147b1631a remove optional from selltype 2018-07-19 19:27:33 +02:00
Matthias f991109b0a Add sell-reason to sell-tree 2018-07-19 13:29:42 +02:00
Matthias 6bb7167b56 Add sellType enum 2018-07-19 13:25:48 +02:00
Matthias c0a7725c1f Add stoploss offset 2018-07-19 13:22:44 +02:00
Matthias 64f933477d
Merge pull request #1007 from freqtrade/remove-analyze
Remove Analyze
2018-07-19 10:12:36 +02:00
Janne Sinivirta 85fd4dd3ff rename analyze.py to exchange_helpers.py 2018-07-17 21:26:52 +03:00
Janne Sinivirta dbc3874b4f __init__ must return None to please mypy 2018-07-17 10:47:15 +03:00
Janne Sinivirta aeb4102bcb refactor Analyze class methods to base Strategy class 2018-07-16 08:23:39 +03:00
Matthias b4ba641131 Update config dict with attributes loaded from strategy 2018-07-15 09:01:08 +02:00
Gert Wohlgemuth 1897a1cb6a fixed mypy issues, seriosuly... 2018-07-05 16:10:38 -07:00
Gert Wohlgemuth 58879ff012 fixed braket 2018-07-05 15:01:53 -07:00
Gert Wohlgemuth e1f5745f59
Update resolver.py 2018-07-05 14:50:23 -07:00
Gert Wohlgemuth 1c48902e64
Merge branch 'develop' into BASE64 2018-07-05 14:40:04 -07:00
Gert Wohlgemuth 8bbee4038b integrated BASE64 encoded strategy loading 2018-07-05 14:30:24 -07:00
Janne Sinivirta bf4d0a9b70 sort imports 2018-07-04 10:31:35 +03:00
gcarq 4ea5fcc661 resolver: don't fail if user_data can't be found 2018-06-23 14:42:22 +02:00
gcarq 9c66c25890 resolver: use current folder instead of script folder to find user_data 2018-06-23 14:34:36 +02:00
gcarq c40e6a12d1 move logic from hyperopt to freqtrade.strategy 2018-06-23 11:13:49 +02:00
xmatthias a8bf5092e8 add ignore explanation 2018-06-02 14:18:57 +02:00
xmatthias e28973c50a fix flake8 2018-05-31 22:17:46 +02:00
xmatthias 3fb1dd02f1 add typehints and type: ignores 2018-05-31 22:00:46 +02:00
xmatthias cf34b84cf1 add attributes with typehints 2018-05-31 21:59:22 +02:00
xmatthias f4f821e88e add typehints 2018-05-31 21:44:18 +02:00
gcarq 306885e174 Merge branch 'develop' into feat/objectify-ccxt 2018-05-02 22:49:55 +02:00
gcarq 403f59ef45 use native python logger 2018-04-21 20:47:06 +02:00
enenn ce3603f84f Change ticker_interval from 5 to 5m in default strategy 2018-04-07 21:31:52 +02:00
enenn db46ad6502 Change ticker interval from minutes as integer to string (1m, 5m, 1h,...) 2018-04-07 16:57:47 +02:00
Michael Egger 9019f6492f
define constants on module level (#596) 2018-04-02 16:42:53 +02:00
gcarq f78044da6d fix method docs 2018-03-27 16:32:58 +02:00
gcarq a356edb117 implement '--strategy-path' argument 2018-03-27 16:32:58 +02:00
gcarq 5fb6fa38aa apply __slots__ to resolver and reintroduce type conversations 2018-03-27 16:32:58 +02:00
gcarq 99e890bc99 simplify resolver constructor 2018-03-27 16:32:58 +02:00
gcarq 280886104c strategy: remove unneeded population methods in resolver 2018-03-27 16:32:58 +02:00
gcarq b254ff9b41 Merge 'develop' into feature/enhance-strategy-resolving 2018-03-26 16:23:25 +02:00
gcarq fa7f74b4bc use native python logger 2018-03-25 21:43:00 +02:00
gcarq 3f8d7dae39 make name a required argument and add fallback to getEffectiveLevel 2018-03-25 21:42:03 +02:00
gcarq a38c2121cc adapt tests 2018-03-25 15:12:39 +02:00
gcarq b4d2a3f495 refactor StrategyResolver to work with class names 2018-03-25 15:12:39 +02:00
gcarq 6e5c14a95b fix mutable default argument 2018-03-25 15:12:39 +02:00
gcarq ca9c5edd39 rename Strategy into StrategyResolver 2018-03-25 15:12:39 +02:00
gcarq 33ddc540cf don't shadow built-in name tuple 2018-03-20 19:50:04 +01:00