There is a bug in trim_tickerlist, it will throw an index out of range exception and crash the programe if passed a start / stop date outside the range of those records in the cached json pair file.
This change calls a function that sanitizes the dates prior to calling trim_tickerlist.
trim_tickerlist throws an index out of range error when parsing a json file for a timerange outside its current contents.
This patch test for that condition and returns the the file as-is with a log warning to refresh-cache on fail
Here is an example of the error prior to path and after patching.
This is from binannce using the pair "ZEN/BTC" and timerange "20180522-20180523"
"""
File "/Users/creslin/PycharmProjects/freqtrade/freqtrade/optimize/__init__.py", line 107, in load_data
pairdata = load_tickerdata_file(datadir, pair, ticker_interval, timerange=timerange)
File "/Users/creslin/PycharmProjects/freqtrade/freqtrade/optimize/__init__.py", line 84, in load_tickerdata_file
pairdata = trim_tickerlist(pairdata, timerange)
File "/Users/creslin/PycharmProjects/freqtrade/freqtrade/optimize/__init__.py", line 36, in trim_tickerlist
while tickerlist[start_index][0] < start * 1000:
IndexError: list index out of range
""""
"""
2018-05-31 22:01:07,060 - freqtrade.configuration - INFO - Parameter --timerange detected: 20180522-20180523 ...
2018-05-31 22:01:07,060 - freqtrade.configuration - INFO - Parameter --datadir detected: freqtrade/tests/testdata ...
2018-05-31 22:01:13,168 - freqtrade.optimize - WARNING - start timerange for ZEN/BTC not in cache, to update cache use
2018-05-31 22:01:13,168 - freqtrade.optimize - INFO - --refresh-pairs-cached. *Nb The coin may be newer to the exchange
"""
Correct instructions for calling a custom strategy file
To paraphrase the change:
Prior - to call a custom strategy -s the strategy file name within users_data/strategies/ directory
After - to call a custom strategy -s the class name within the strategy within users_data/strategies/ directory
Corrected instructions, to paraphrase the PR
prior - to call a custom strategy -s the custom strategy file name in user_data/strategies
after - to call a custom strategy -s the class name within the custom strategy file name in user_data/strategies
Currently forcesell only cancels an open limit buy order and doesn't sell the filled amount.
After this change, forcesell will also update trade's amount to filled amount and sell the filled amount.
New versions of Docker will not start in OSX using the cmd in these instructions as /etc/localtime cannot be mounted.
The change provides an alternate command that does work.
`docker run --rm -e TZ=`ls -la /etc/localtime | cut -d/ -f8-9` -v `pwd`/config.json:/freqtrade/config.json -it freqtrade`
More info is in this thread:
https://github.com/docker/for-mac/issues/2396
Before this commit, during setup, even a default value is displayed for some config, if user doesn't enter anything, an empty value is applied.
After this commit, if user doesn't enter anything for a config with default value, the default value will be applied.