Matthias Voppichler
be95d699d2
only update if open_fee is set
2018-04-22 09:13:02 +02:00
gcarq
9ab4953472
fix backtesting testsuite
2018-04-22 00:21:03 +02:00
gcarq
bbe3bc4423
catch ccxt.ExchangeError and retry
2018-04-22 00:20:15 +02:00
Matthias
acb1b50924
[ccxt] fix unsupported fiat failures ( #620 )
...
* prepare to support FIAT/Crypto trading
* Don't fail fiat-convert for unsupported stake currencies
* remove commented code
* Add BNB to cryptomap
* Fix test-failure
* related to random execution as fee was not properly mocked if this is
one of the first tests
2018-04-21 23:20:12 +02:00
Matthias Voppichler
a140748b5a
Merge branch 'feat/objectify-ccxt' into cxxt_obj_sellfix
2018-04-21 22:39:22 +02:00
Matthias Voppichler
573b6b8e15
Remove unused line
2018-04-21 22:35:17 +02:00
Matthias
23e989d31f
Fix tests run in random order ( #599 )
...
* allow tests to run in random mode
* Fix random test mode for fiat-convert
* allow random test execution in persistence
* fix pep8 styling
* use "usefixtures" to prevent pylint "unused parameter" message
* add pytest-random-order to travis
2018-04-21 21:21:50 +02:00
Matthias Voppichler
990f8a996b
log in case of error
2018-04-21 21:01:53 +02:00
gcarq
f4077a51c1
log hyperopt progress to stdout instead to the logger
2018-04-21 20:52:01 +02:00
gcarq
403f59ef45
use native python logger
2018-04-21 20:47:06 +02:00
Samuel Husso
001d7443da
Merge pull request #618 from gcarq/feature/add-get_fee-mocks
...
add mocks for exchange.get_fee
2018-04-21 21:26:22 +03:00
Matthias Voppichler
ce90ee4ac2
have backtesting use fee_open and fee_close
2018-04-21 20:05:49 +02:00
Matthias Voppichler
06d230279c
Fix tests
2018-04-21 20:05:39 +02:00
Matthias Voppichler
47748bc6f7
adjust tests for fee_open and fee_close
2018-04-21 19:55:48 +02:00
Matthias Voppichler
a620aa8352
add columns fee_open and fee_close, update value
2018-04-21 19:47:08 +02:00
gcarq
09fb4ea584
add mocks for exchange.get_fee
2018-04-21 19:39:18 +02:00
gcarq
3997b6038d
let cctx handle rate limits
2018-04-21 19:11:29 +02:00
Luis Felipe Díaz Chica
954c6e8c15
Write log when trying to sell opened trades ( #608 )
2018-04-21 18:44:57 +02:00
Matthias Voppichler
7f4c70827a
Test get_amount_lots
2018-04-21 13:33:29 +02:00
Matthias Voppichler
f69e8458f4
Add tests for update_real_amount
2018-04-21 13:33:29 +02:00
Matthias Voppichler
02f0f22621
fix comment
2018-04-21 13:33:29 +02:00
Matthias Voppichler
1d43dc229b
refactor tests of get_real_amount
2018-04-21 13:33:29 +02:00
Matthias Voppichler
c7d1a767f7
add get_trades_for_order
2018-04-21 13:33:29 +02:00
Matthias Voppichler
11d8f7d522
add get_real_amount and tests
2018-04-21 13:33:29 +02:00
gcarq
1332ab397f
fix reference before assignment
2018-04-21 10:19:12 +03:00
Samuel Husso
78bafee39d
download_backtest: fix imports and travis
2018-04-19 09:44:45 +03:00
Samuel Husso
66866ff260
fix travis
2018-04-19 09:06:56 +03:00
Samuel Husso
1dcd7e747e
partial fix for download testdate
2018-04-19 09:01:34 +03:00
Samuel Husso
42c0d7c7c3
Merge pull request #603 from enenn/ccxt-objectify-pr3_1
...
[3/3] Add support for multiple exchanges with ccxt (objectified version)
2018-04-18 15:23:33 +03:00
enenn
488210915a
Flak8 fixes...
2018-04-15 13:11:17 +02:00
enenn
f1d406b1e6
Fix possible race condition during testing
...
Order would sometimes fail to sell during tests,
probably because time between current time and creation was 0
2018-04-15 12:50:47 +02:00
enenn
89ed2e0127
Get mocked exhange buy return value from existing fixture
2018-04-15 12:48:02 +02:00
enenn
53b1f8d3a4
Add a 4th pair to testing dynamic whitelist generation
2018-04-15 12:20:49 +02:00
enenn
cc5991d269
Fixturize fee MagicMock object in tests
2018-04-15 12:09:12 +02:00
Michael Egger
b8184e4fdd
Merge pull request #602 from xmatthias/obj_ccxt_test_formatms
...
Add test for format_ms_time
2018-04-13 00:44:25 +02:00
Matthias Voppichler
37dee02e1c
Add comment and extract magic number to variable
2018-04-12 19:32:14 +02:00
enenn
2765a065a7
Use UNITTEST/BTC pair instead of ETH/BTC pair for load_data tests
2018-04-12 19:21:40 +02:00
Matthias Voppichler
bb7b2cdfd5
Disable dynamic whitelist
...
Revert regression introduced in refactoring for objectify
(cherry picked from commit 5bd7954
)
2018-04-12 18:35:35 +02:00
enenn
94287d66a8
Flake8 fixes
2018-04-12 18:16:27 +02:00
enenn
1678518cd4
Add dry_run=True to config during backtesting
2018-04-12 18:16:26 +02:00
enenn
838bd5824e
Mock validate_pairs
2018-04-12 18:16:26 +02:00
enenn
a650072fe0
Edit signal handler tests to work on windows as well
2018-04-12 18:16:26 +02:00
enenn
6115fb08c0
Remove get_fee_maker/taker and add argument to get_fee instead
2018-04-12 18:16:25 +02:00
enenn
91b2092d55
Remove ticker_history_api and ticker_history_without_bv from conftest.py
2018-04-12 18:16:25 +02:00
enenn
cba8745164
Update exchange validate_pairs and related tests
2018-04-12 18:16:19 +02:00
enenn
c3d00a8825
Change ticker format to ccxt in backtesting and optimize tests
2018-04-12 18:14:33 +02:00
enenn
261522446e
Change to ccxt ticker format in test_analyze.py
2018-04-12 18:07:45 +02:00
enenn
a86104d0fe
Update backtesting and hyperopt tests to use default_config and mock validate_pairs
...
Use default_config from conftest.py instead of user supplied config in user_data/hyperopt_conf
Mock validate pairs so tests don't fail if pairs don't exist/are removed from exchanges
2018-04-12 18:07:45 +02:00
enenn
4ac2afacfa
Use global backtest instance for backtesting tests
2018-04-12 18:07:45 +02:00
enenn
07c655cf41
Use os.path.join for file paths
2018-04-12 18:07:45 +02:00
enenn
a9ba0981c7
Use exchange id for Trade and exchange name for RPC
2018-04-12 18:07:44 +02:00
enenn
7a074f21bd
Remove duplicate result pytest fixture
2018-04-12 18:07:44 +02:00
enenn
fef8a4c978
Update tests related to whitelist
2018-04-12 18:07:44 +02:00
enenn
0c8ecf2b1f
Add 'get_tickers' function to exchange and use it for dynamic whitelists
2018-04-12 18:07:44 +02:00
enenn
5fc8250ee4
Add 'exchange_has' function to check if exchange supports specific API call
...
Catch ccxt.NotSupported exception instead of checking beforehand
2018-04-12 18:07:44 +02:00
enenn
e42403fecc
Change date to timestamp conversion method in backtesting
2018-04-12 18:07:44 +02:00
enenn
12a84cc30b
Mock fee during testing as 0.0025
...
Ensures profit calculations does not vary if exchange fees change, which can cause tests to fail
2018-04-12 18:07:44 +02:00
enenn
0ae5b75f33
Update order structure to ccxt generic structure instead of bittrex specific
2018-04-12 18:07:43 +02:00
enenn
4810d87044
Change buy/sell return value in tests
2018-04-12 18:07:43 +02:00
enenn
0b71f7186c
Replace 'get_wallet_health' and 'get_markets_summaries'
...
Both are now covered by 'get_markets'
2018-04-12 18:07:43 +02:00
Matthias Voppichler
d03f58417b
Fix timezone dependency in test
2018-04-11 20:19:13 +02:00
Matthias Voppichler
7123985325
Add test for format_ms_time
2018-04-10 20:10:20 +02:00
enenn
7eb5138276
Update 8m historical unittest data.
...
8m.json.gz should be a copy of 1m.json, 8m.json should be empty
2018-04-09 20:25:26 +02:00
enenn
d50445108e
Fix issue where datetime string was converted to timestamp with timezone dependent offset
2018-04-08 13:12:55 +02:00
enenn
65c5a0b308
Remove comment from donwload_backtest_data.py
2018-04-08 13:11:36 +02:00
enenn
ce3603f84f
Change ticker_interval from 5 to 5m in default strategy
2018-04-07 21:31:52 +02:00
Matthias
a26cdceb4b
Fix tests run in random order ( #599 )
...
* allow tests to run in random mode
* Fix random test mode for fiat-convert
* allow random test execution in persistence
* fix pep8 styling
* use "usefixtures" to prevent pylint "unused parameter" message
* add pytest-random-order to travis
2018-04-07 20:06:53 +02:00
enenn
21468d72d3
Fix pair order in test_rpc.py
2018-04-07 20:01:06 +02:00
enenn
4f4cb3698e
Revert editing health in conftest.py
2018-04-07 17:05:44 +02:00
enenn
21c5282eb1
Change backtest data from bittrex format to ccxt format
2018-04-07 16:58:26 +02:00
enenn
db46ad6502
Change ticker interval from minutes as integer to string (1m, 5m, 1h,...)
2018-04-07 16:57:47 +02:00
enenn
616006caf8
Replace 'ETH/BTC' with 'UNITTEST/BTC' to fix adx not generating if ETH/BTC ticker history is too short
2018-04-07 16:55:18 +02:00
enenn
cbc0b81d2e
Rename ticker history files from "BTC_XXX-1.json" to "XXX_BTC-1m.json"
2018-04-07 16:52:09 +02:00
enenn
c1c6ed6ed7
Replace 'BTC_XXX' with 'XXX/BTC' for pairs and 'XXX_BTC' for files
2018-04-07 16:51:50 +02:00
enenn
1f75636e56
[1/3] Add support for multiple exchanges with ccxt (objectified version) ( #585 )
...
* remove obsolete helper functions and make _state a public member.
* remove function assertions
* revert worker() changes
* Update pytest from 3.4.2 to 3.5.0
* Adapt exchange functions to ccxt API
Remove get_market_summaries and get_wallet_health, add exception handling
* Add NetworkException
* Change pair format in constants.py
* Add tests for exchange functions that comply with ccxt
* Remove bittrex tests
* Remove Bittrex and Interface classes
* Add retrier decorator
* Remove cache from get_ticker
* Remove unused and duplicate imports
* Add keyword arguments for get_fee
* Implement 'get_pair_detail_url'
* Change get_ticker_history format to ccxt format
* Fix exchange urls dict, don't need to initialize exchanges
* Add "Using Exchange ..." logging line
2018-04-06 10:57:08 +03:00
Matthias Voppichler
0203a48f3e
use local config-object for check_exchange
...
fix AttributeError: 'NoneType' object has no attribute 'get' when
starting the bot.
2018-04-04 22:05:17 +02:00
Michael Egger
9019f6492f
define constants on module level ( #596 )
2018-04-02 16:42:53 +02:00
Michael Egger
5420bb9f6d
Merge pull request #594 from xmatthias/obj_ccxt_conv
...
Conversion script for Ticker history data
2018-03-31 17:58:00 +02:00
Matthias Voppichler
2f40e23dcc
don't check negated if both trees are handled
2018-03-31 17:28:54 +02:00
Matthias Voppichler
a4906c477e
Add handling for gzip files
2018-03-30 23:30:23 +02:00
Gerald Lonlas
7cafd1f17e
Update exchange unit tests
2018-03-30 13:52:25 -07:00
Matthias Voppichler
5bd79546ab
Disable dynamic whitelist
...
Revert regression introduced in refactoring for objectify
2018-03-30 22:38:09 +02:00
Gerald Lonlas
3d2c6a22a3
Fix test_validate_pairs()
2018-03-30 13:31:13 -07:00
Gerald Lonlas
052404ffbd
Check if the exchange is supported
2018-03-30 13:14:35 -07:00
Gerald Lonlas
96b2210c0f
Change deprecated logger.warn by warning
2018-03-30 12:11:06 -07:00
gcarq
24aa6a1679
adapt test_download_backtesting_testdata
2018-03-29 20:17:11 +02:00
gcarq
3775fdf9c7
change column order assertions
2018-03-29 20:16:46 +02:00
gcarq
fee8d0a2e1
refactor get_timeframe
2018-03-29 20:16:25 +02:00
gcarq
702402e1fe
simplify download_backtesting_testdata
2018-03-29 20:15:32 +02:00
gcarq
4f2d3dbb41
parse_ticker_dataframe: use as_index=False to keep date column
2018-03-29 20:14:43 +02:00
gcarq
02aacdd0c8
parse_ticker_dataframe: group dataframe by date
2018-03-29 17:12:49 +02:00
gcarq
872bbadded
add test_load_custom_strategy()
2018-03-27 18:29:51 +02:00
gcarq
6a12591248
change strategy override condition
2018-03-27 18:20:15 +02:00
gcarq
df57c32076
only override strategy if other than DEFAULT
2018-03-27 18:15:49 +02:00
gcarq
f78044da6d
fix method docs
2018-03-27 16:32:58 +02:00
gcarq
157f7da8ce
remove obsolete assertions
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