gcarq
9559f50eec
remove obsolete helper functions and make _state a public member.
2018-03-21 18:50:18 +01:00
Samuel Husso
14d16d573c
Remove bittrex related interface code and tests
2018-03-21 19:31:15 +02:00
gcarq
d2aea7bdc1
optimize imports
2018-03-20 19:50:04 +01:00
gcarq
967bf417df
Merge branch 'develop' into feature/objectify
2018-03-19 19:10:19 +01:00
Matthias
b67257db35
replace pymarketcap with coinmarketcap ( #562 )
...
* replace pymarketcap with coinmarketcap
* fix tests to use coinmarketcap instead of pymarketcap
* use arraypos 0
* update setup.py from pymarketcap to coinmarketcap
* Add test to check for unsupported Crypto currency
2018-03-19 18:40:40 +01:00
Matthias
94caf82ab2
Fix test_dataframe when ran standalone ( #546 )
...
* Fix dataframe test when ran standalone
* Fix standalone tests in hyperopt and optimize tests
2018-03-19 18:30:14 +01:00
Matthias
a99c8c4046
replace pymarketcap with coinmarketcap ( #562 )
...
* replace pymarketcap with coinmarketcap
* fix tests to use coinmarketcap instead of pymarketcap
* use arraypos 0
* update setup.py from pymarketcap to coinmarketcap
* Add test to check for unsupported Crypto currency
2018-03-18 00:42:24 +01:00
Gérald LONLAS
e6732e01e1
Use ticker_interval defined in Strategy() instead of a mix between strategy and config file ( #540 )
2018-03-15 23:48:22 +01:00
Matthias
e907c48438
Fix test_dataframe when ran standalone ( #546 )
...
* Fix dataframe test when ran standalone
* Fix standalone tests in hyperopt and optimize tests
2018-03-15 23:37:34 +01:00
Gerald Lonlas
173b640b34
Increase Hyperopt() code coverage
2018-03-05 22:36:15 -08:00
Gerald Lonlas
a8fd7a69ab
Increase Configuration._load_config_file() code coverage
2018-03-05 19:57:45 -08:00
Gerald Lonlas
ea7b25766b
Increase Hyperopt() code coverage
2018-03-05 00:35:42 -08:00
Gerald Lonlas
1d43e04725
Increase FreqtradeBot() code coverage
2018-03-05 00:11:13 -08:00
Gerald Lonlas
ba664c4341
Increase Configuration._load_hyperopt_config() code coverage
2018-03-04 23:12:34 -08:00
Gerald Lonlas
aa22585d40
Add unit test for misc.common_datearray()
2018-03-04 23:05:44 -08:00
Gerald Lonlas
d685646446
Arguments(): Change private methods to public
2018-03-04 17:51:57 -08:00
Gerald Lonlas
25d0e5f942
Merge commit '4dca84817eb1b62047a9e4d282254392ea978e44' into feature/objectify
2018-03-04 02:06:40 -08:00
Gerald Lonlas
c52e688979
Fix unit tests in test_arguments.py and test_configuration.py
2018-03-04 00:58:20 -08:00
Gerald Lonlas
5a6f6c7138
Merge commit 'd13d6736b92ebfed1e172b60c77029e6c10b29a6' into feature/objectify
2018-03-04 00:51:49 -08:00
Gerald Lonlas
722ed48d9d
Merge commit 'e3d222912dfd775b7456a44d6d6055430711f251' into feature/objectify
2018-03-04 00:51:22 -08:00
Gerald Lonlas
38510d4b03
Merge commit '1134c81aad049d4357c8f299ffc801218f3d9574' into feature/objectify
2018-03-03 17:26:06 -08:00
Gerald Lonlas
84759073d9
Refactor Configuration() to apply common configurations all the time and to remove show_info
2018-03-03 13:43:14 -08:00
Gerald Lonlas
0632cf0f44
Merge commit 'aa7aeb046ef72412cadd094666efc8e4c503ef2d' into feature/objectify
2018-03-02 23:28:36 -08:00
Gerald Lonlas
bbb1a31fda
Merge commit 'c5400b6c37c7de64a86c9db39a4d0fa9169b35f6' into feature/objectify
2018-03-03 10:01:06 +08:00
Gerald Lonlas
390501bac0
Make Pylint Happy chapter 1
2018-03-03 09:33:54 +08:00
Gerald Lonlas
6148f98980
Fix Telegram unit test when using an internet connection
2018-03-03 09:33:54 +08:00
Gerald Lonlas
8bd0f4d0d7
Remove ugly pprints
2018-03-03 09:33:54 +08:00
Gerald Lonlas
bc8ca491cd
Minor updates
2018-03-03 09:33:54 +08:00
Gerald Lonlas
6ef7b7d93d
Complete Backtesting and Hyperopt unit tests
2018-03-03 09:33:54 +08:00
Gerald Lonlas
f4ec073099
Move RPC and Telegram to classes
2018-03-03 09:33:54 +08:00
Gerald Lonlas
766ec5ad0f
Update unit tests to be compatible with this refactoring
...
Updated:
- test_acl_pair to be compatible with FreqtradeBot() class
- test_default_strategy.py to be compatible with Analyze() class
2018-03-03 09:33:54 +08:00
Gerald Lonlas
383fb6d20e
Add a class Arguments to manage cli arguments passed to the bot
2018-03-03 09:33:54 +08:00
Gerald Lonlas
1d251d6151
Move Backtesting to a class and add unit tests
2018-03-03 09:33:54 +08:00
Gerald Lonlas
db67b10605
Remove Singleton from Strategy()
2018-03-03 09:33:54 +08:00
Gerald Lonlas
4da033c7a2
Refactor main.py
...
- Update, clean, and improve code coverage on main.py
- Move bot trading logic into Freqtradebot() class
- Move unit tests to test_freqtradebot, add more coverage tests
2018-03-03 09:33:54 +08:00
Gerald Lonlas
a8b8ab20b7
Move Analyze to a class
2018-03-03 09:33:54 +08:00
Gerald Lonlas
e025dc0dba
Keep in misc file only tool functions
2018-03-03 09:33:54 +08:00
Gerald Lonlas
89e3729955
Add a Configuration class that generate the Bot config from Arguments
2018-03-03 09:33:54 +08:00
Gerald Lonlas
3b9e828fa4
Add a class Logger to manage the logging messages
...
This class will evolve later to support color logging. For now
it is used to not repeat the logging configuration everywhere.
2018-03-03 09:33:54 +08:00
Gerald Lonlas
cf753d5c40
Add a Enum class State that contains Bot running states
2018-03-03 09:33:54 +08:00
Gerald Lonlas
314ab0a84f
Add a Constants class that contains Bot constants
2018-03-03 09:33:54 +08:00
Janne Sinivirta
bf54692efb
use log_has helper in tests
2018-02-24 22:18:19 +02:00
Janne Sinivirta
76c5cdc6e3
more minor tweaks to log messages
2018-02-24 20:30:16 +02:00
Janne Sinivirta
646d1f7316
better log message for outdated history
2018-02-24 19:25:08 +02:00
Janne Sinivirta
160af91f9a
improving log messages
2018-02-24 18:58:57 +02:00
Janne Sinivirta
cf013140a6
add went_up and went_down helpers
2018-02-13 11:37:59 +02:00
Samuel Husso
e3d222912d
Merge pull request #511 from gcarq/hyperopt_selectable_spaces
...
Allow selecting Hyperopt search space
2018-02-12 08:28:24 +02:00
Janne Sinivirta
b1230b27b7
adjust unit test to match new --spaces format
2018-02-11 19:22:13 +02:00
Janne Sinivirta
2ce03ab1b5
make Strategy store roi and stoploss values as numbers to avoid later casting
2018-02-11 15:25:30 +02:00
Janne Sinivirta
f14d6249e0
allow selecting hyperopt searchspace
2018-02-09 20:59:06 +02:00
kryofly
12a19e400f
tests: more backtesting testing ( #496 )
...
* tests: more backtesting testing
* tests: hyperopt
* tests: document kludge
* tests: improve test_dataframe_correct_length
* tests: remove remarks
2018-02-08 21:49:43 +02:00
Janne Sinivirta
0454b4c8d5
remove unnecessary Decimal construction
2018-02-06 21:37:11 +02:00
Janne Sinivirta
8c7b29734e
use date info to calculate trade durations
2018-02-06 11:34:00 +02:00
Gérald LONLAS
d24cd89304
Remove Strategy fallback to default strategy ( #490 )
...
* Remove Strategy fallback to default strategy
2018-02-02 11:01:09 +02:00
Samuel Husso
d5435a9962
Merge pull request #487 from gcarq/pyup-update-pytest-3.3.2-to-3.4.0
...
Update pytest to 3.4.0
2018-02-01 08:21:45 +02:00
kryofly
9f6aedea47
telegram refactor 1/ ( #389 )
...
* telegram refactor 1/
move out freqcode from telegram
* telegram refactor 2/
move out rpc_trade_status
* telegram refactor 3/
move out rpc_daily_profit
* telegram refactor /4
move out rpc_trade_statistics
* 5/
* rpc refactor 6/
* rpc refactor 7/
* rpc refactor 8/
* rpc refactor 9/
* rpc refactor 10/
cleanups
two tests are broken
* fiat
* rpc: Add back fiat singleton usage
* test: rpc_trade_statistics
Test that rpc_trade_statistics can handle trades that lacks
trade.open_rate (it is set to None)
* test: rpc_forcesell
Also some cleanups
* test: telegram.py::init
* test: telegram test_cleanup and test_status
* test rcp cleanup
2018-02-01 08:05:23 +02:00
Janne Sinivirta
45975c9677
set capturing level
2018-01-31 19:37:38 +02:00
Gerald Lonlas
cac2f2b58b
Wrong assert condition
2018-01-29 23:04:28 -08:00
Gerald Lonlas
524290d678
Fix backtesting ticker interval download
2018-01-29 22:51:29 -08:00
Samuel Husso
990a609afd
test_analyze: update dataframe magic len check so that test pass
2018-01-30 07:26:00 +02:00
Samuel Husso
271e11e065
update backtesting data for the latest market craze
2018-01-30 07:01:44 +02:00
Janne Sinivirta
21b142df40
Merge pull request #453 from ermakus/fix_usdt_balance
...
Fix usdt balance
2018-01-29 08:48:38 +02:00
Janne Sinivirta
a5155b3b20
Merge pull request #465 from gcarq/fix/increase_test_coverage
...
Fix/increase test coverage
2018-01-29 08:47:26 +02:00
Anton Ermak
807c067701
More test coverage
2018-01-29 10:55:42 +07:00
Michael Smith
e438422a22
test_optimize.py:
...
Added spaces for flake8 compliance.
2018-01-29 11:21:01 +08:00
Michael Smith
b8f2341998
BTC_UNITEST-8.json:
...
Added to test gzip loading before .json file.
2018-01-29 10:25:24 +08:00
Michael Smith
4799e1ed44
tests/optimize/test_optimize.py:
...
Added test for gzip ticker file.
BTC_UNITEST-8.json.gz:
Added to test gzip loading.
2018-01-29 10:22:55 +08:00
Michael Smith
e3b295cecc
tests/optimize/test_optimize.py:
...
Added test for gzip ticker file.
BTC_UNITEST-8.json.gz:
Added to test gzip loading.
2018-01-29 10:22:34 +08:00
Gerald Lonlas
20af5049af
Thanks Flake8
2018-01-28 16:34:38 -08:00
Gerald Lonlas
3e777a9d87
Add unit test in misc.py to cover datesarray_to_datetimearray()
2018-01-28 16:25:15 -08:00
Gerald Lonlas
36fa5b827d
Add unit test on rpc_telegram.py
2018-01-28 16:18:10 -08:00
Gerald Lonlas
7ab2498544
Increase test coverage on optimize.py
2018-01-28 15:33:57 -08:00
Gerald Lonlas
df453803ce
Increase test coverage on rpc_telegram.py
2018-01-28 15:29:26 -08:00
Gerald Lonlas
fd9c62d1c4
Increase test coverage on strategy.py
2018-01-28 15:16:22 -08:00
Gerald Lonlas
25ab08f422
Fix Flake8 warning
2018-01-28 15:03:54 -08:00
Gerald Lonlas
d85b56a2bd
Add unit test for test_file_dump_json()
2018-01-28 14:38:30 -08:00
Gerald Lonlas
45a34be2ac
Add more unittest for trim_tickerlist() method
2018-01-28 14:20:20 -08:00
Janne Sinivirta
bb470d0aea
Merge pull request #451 from gcarq/pyup-update-python-bittrex-0.2.2-to-0.3.0
...
Update python-bittrex to 0.3.0
2018-01-28 11:14:57 +02:00
Anton Ermak
81ed7627bf
Unit test
2018-01-28 16:08:43 +07:00
Samuel Husso
8be94c4af4
remove custom timeout as the latest bittrex package version implemented it
2018-01-28 11:03:19 +02:00
Gerald Lonlas
d824816880
Increase pylint score on test files
2018-01-28 00:28:41 -08:00
Gerald Lonlas
776dd4a0d5
Increase pylint score on strategy
2018-01-27 21:26:57 -08:00
Gerald Lonlas
67c6c380e1
Increase pylint score for fiat_convert
2018-01-27 18:23:08 -08:00
Janne Sinivirta
1eebbebed1
fix assert order
2018-01-26 19:02:25 +02:00
Janne Sinivirta
a5690e707d
remove unused parameters
2018-01-26 19:02:25 +02:00
Janne Sinivirta
0ff56c6e8d
use uppercase constant
2018-01-26 18:54:15 +02:00
Janne Sinivirta
e14007ced4
sort imports
2018-01-26 18:52:39 +02:00
Janne Sinivirta
5505845c6f
remove unused method parameter
2018-01-26 18:48:53 +02:00
Janne Sinivirta
a7a7c37121
add day counter to timeframe
2018-01-26 18:32:45 +02:00
Gerald Lonlas
0baffd94a4
Fix test_clean_dry_run_db failing test
2018-01-25 21:05:10 -08:00
Janne Sinivirta
42087c9bfe
let hyperopt optimize ROI table
2018-01-25 11:12:00 +02:00
Janne Sinivirta
5007165908
add search space for ROI table
2018-01-25 09:34:26 +02:00
Janne Sinivirta
7dc63c06e7
Merge pull request #356 from kryofly/test_coverage
...
Test coverage
2018-01-25 09:31:06 +02:00
kryofly
30ca078cec
test: use pytest fixture
2018-01-24 11:05:27 +01:00
kryofly
a14d9d35c7
tests: run backtest single
2018-01-24 10:32:52 +01:00
Samuel Husso
c968b904de
Merge pull request #429 from gcarq/fix/issue-385
...
Fix dry_run db issue when open_order_id already exist
2018-01-24 07:25:26 +02:00
Janne Sinivirta
c400d15ed1
rip out hyperopt things from strategy, add indicator populating to hyperopt
2018-01-23 16:56:12 +02:00
Janne Sinivirta
a6cbc1ba16
Merge pull request #400 from gcarq/feature/custom_strategy
...
Allow custom strategy files
2018-01-23 15:25:18 +02:00
Samuel Husso
b11fe2f814
Merge pull request #424 from gcarq/feat/telegram-sell-msg
...
Feat/telegram sell msg
2018-01-23 10:59:05 +02:00
Gerald Lonlas
f4298a7323
Fix dry_run db issue when open_order_id exist
2018-01-22 23:23:29 -08:00
Samuel Husso
93bd63cfbe
get rid of / replacements, minor edit to outgoing msg
2018-01-23 08:55:22 +02:00
Gerald Lonlas
41aa8f18fb
Add ticker_interval support in strategy class
2018-01-22 20:51:39 -08:00
Gerald Lonlas
baae374899
Move hyperopt_conf.py into user_data/
2018-01-22 20:51:39 -08:00
Gerald Lonlas
be75522507
Fix flake8
2018-01-22 20:51:39 -08:00
Gerald Lonlas
c46d78b4b9
Decouple strategy from analyse.py
2018-01-22 20:51:39 -08:00
Janne Sinivirta
f7e979f3ba
Merge pull request #423 from gcarq/feature/Crypto2Fiat_Singleton
...
Convert CryptoToFiatConverter into a Singleton
2018-01-22 16:24:19 +02:00
Samuel Husso
757a46ab12
ticker_interval as int (instead of string)
2018-01-22 10:39:26 +02:00
Samuel Husso
bce6a7be61
rebase develop and update tests
2018-01-22 09:39:11 +02:00
Samuel Husso
6abbf45042
Update tests to reflect new selling msg
2018-01-22 09:36:56 +02:00
kryofly
aec481b6b3
tests: 100% cov bittrex.py
2018-01-22 08:30:00 +01:00
Gerald Lonlas
28b1ecb109
Convert CryptoToFiatConverter into a Singleton
...
Result in a speed up of the unittest from 60s to 4s
Because it cost time to load Pymarketcap() every time we create
a CryptoToFiatConverter, it worth it to change it into a
Singleton.
2018-01-21 16:41:59 -08:00
Jean-Baptiste LE STANG
c0d3ac5534
With a better unit test thanks @glonlas
2018-01-21 15:02:41 +01:00
Jean-Baptiste LE STANG
960d088deb
Fixing the 'BV' key being missing for USDT
2018-01-21 15:02:41 +01:00
Gerald Lonlas
998081785e
Fix the issue get_signal() missing 1 required positional argument: Interval
2018-01-20 15:05:01 -08:00
kryofly
e94e6292e9
Merge branch 'develop' into test_coverage
2018-01-20 22:01:03 +01:00
Gérald LONLAS
d2371b5bac
Merge pull request #391 from jblestang/support_multiple_ticker
...
Support multiple tickers
2018-01-20 11:02:42 -08:00
Jean-Baptiste LE STANG
f1efaffe81
with fXXXXX8
2018-01-20 19:30:47 +01:00
Jean-Baptiste LE STANG
36797cda30
Merge branch 'develop' into support_multiple_ticker
2018-01-20 19:25:47 +01:00
Jean-Baptiste LE STANG
081d3932b6
Fixing bug report #406 + unit test
2018-01-20 14:44:13 +01:00
kryofly
cf266a67ad
Merge branch 'develop' into test_coverage
2018-01-20 10:06:53 +01:00
Janne Sinivirta
a3f84d9f21
Merge pull request #409 from gcarq/feature/add_num_trade_daily
...
Add number of trades in /daily command
2018-01-20 08:23:50 +02:00
Gerald Lonlas
fb110ccfd2
Add number of trades in /daily command
2018-01-19 22:14:31 -08:00
kryofly
e3088647fc
Merge branch 'develop' into test_coverage
2018-01-19 08:40:40 +01:00
kryofly
4a9e1cb345
Merge branch 'develop' into backtest-export
2018-01-19 07:02:38 +01:00
Gérald LONLAS
14d16f2574
Merge pull request #357 from kryofly/timeperiod
...
Timeperiod
2018-01-18 20:26:44 -08:00
Gérald LONLAS
98f808326f
Merge pull request #395 from jblestang/fix_signal_overlaps
...
Fix signal overlaps
2018-01-18 19:47:55 -08:00
Janne Sinivirta
6cafa9120c
Merge pull request #392 from stephendade/timeoutfix3
...
Order timeouts - added exception catching and rpc messaging
2018-01-18 10:18:48 +02:00
Jean-Baptiste LE STANG
c9e1fd3fc4
Merge branch 'develop' into support_multiple_ticker
2018-01-17 21:29:36 +01:00
kryofly
423b251467
tests: speed up backtests
2018-01-17 18:19:39 +01:00
Jean-Baptiste LE STANG
8e5de365a5
Ticker in the conf is now an enum string
2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
658d16c2cd
really fixing this stuff ...
2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
3a4ff4c76c
fixing a duplicated unit test without config
2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
2509ce030d
Refreshing pair of only selected ticker_interval
2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
15189c28ed
fixing pep8 compliance
2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
a0df566b2b
fix unitest file for 30 minutes ticker
2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
e2e2005567
Adding 30 minutes, 1 hour, 1 day tickers
2018-01-17 13:52:14 +01:00
toto
5723039637
fXXXXXXk8
2018-01-16 21:21:43 +01:00
toto
6dd48fb820
Adding unitest
2018-01-16 21:18:43 +01:00
toto
12ffbf5047
- get_signal to return both SELL and BUY signal
...
- _process modified so that we do not sell if we would buy afterwards
- execute_sell modified so that that min_roi_reached is not executed if we would buy afterwards
Veuillez saisir le message de validation pour vos modifications. Les lignes
2018-01-16 20:22:15 +01:00
Janne Sinivirta
ce963aae58
add macd < 0 guard to hyperopt
2018-01-16 18:52:06 +02:00
Stephen Dade
01e10014bb
Order timeouts - added exception catching and rpc messaging
2018-01-16 22:21:05 +11:00
kryofly
0e58ab7e01
more advanced use of --timerange
2018-01-16 00:15:49 +01:00
kryofly
71bb348698
rename --timeperiod to --timerange
2018-01-15 21:49:06 +01:00
Anton Ermak
5db04b15e7
Balance Estimated BTC - fix test
2018-01-15 12:08:56 +07:00
kryofly
f61012097c
Merge branch 'develop' into timeperiod
2018-01-14 10:23:54 +01:00
kryofly
3277e491f1
support download for multiple testdata sets
2018-01-13 17:40:59 +01:00
kryofly
fc2e8b321f
test for bittrex to reach 100% cov again
2018-01-13 14:29:16 +01:00
kryofly
a62a5f814a
main returns integer instead of sys.exit
2018-01-13 13:16:40 +01:00
kryofly
53447e7ef5
test cleanup
2018-01-13 12:52:02 +01:00
Jean-Baptiste LE STANG
f7a44d1cec
Fixing the ticker analysis with null value
2018-01-13 09:50:02 +01:00
kryofly
05f5a1b0ee
Merge branch 'develop' into test_coverage
2018-01-11 19:49:33 +01:00
kryofly
153e11f045
Merge branch 'develop' into timeperiod
2018-01-11 19:45:47 +01:00
kryofly
4781a23809
Merge branch 'develop' into backtest-export
2018-01-11 19:40:42 +01:00
kryofly
ed47ee4e29
backtest export json2
2018-01-11 19:14:11 +01:00
kryofly
27769f0301
uncomplex backtest
2018-01-11 17:45:41 +01:00
kryofly
feb5da0c35
file_dump_json
2018-01-11 15:49:04 +01:00
Janne Sinivirta
c11102cf4a
another run of autopep8
2018-01-11 07:08:56 +02:00
Janne Sinivirta
02fcbbb6d2
few flake8 fixes
2018-01-11 07:08:56 +02:00
Janne Sinivirta
0d6051e6f9
formatting
2018-01-11 07:08:56 +02:00
Janne Sinivirta
6a433282dc
fix literal comparison
2018-01-11 07:08:56 +02:00
Janne Sinivirta
64530c6196
remove unused variables
2018-01-11 07:08:56 +02:00
Janne Sinivirta
86db6c9084
sort imports
2018-01-11 07:08:56 +02:00
Janne Sinivirta
0abc30401c
linter fixes and cleanups
2018-01-11 06:50:36 +02:00
Janne Sinivirta
1b6b0ad9d2
autopep8
2018-01-11 06:50:36 +02:00
Janne Sinivirta
7cdbd550c8
Merge pull request #351 from gcarq/feat/hyperopt-resume
...
resume hyperopt run
2018-01-11 06:47:05 +02:00
kryofly
b0f3fd7ffb
timeperiod argument to backtesting and hyperopt
2018-01-10 23:48:59 +01:00
kryofly
f848a5c87d
tests optimize load_data
2018-01-10 13:43:03 +01:00
kryofly
0cb57bee0e
small refactor of check_handle_timedout
2018-01-10 13:43:00 +01:00
kryofly
f8cc08e2a1
small refactor splitting the _process()
2018-01-10 13:42:59 +01:00
kryofly
ad2328bbd8
tests for exchange
2018-01-10 13:42:58 +01:00
kryofly
d5ca77da97
tests for analyze
2018-01-10 13:42:55 +01:00
kryofly
b9bf5c1118
test: increase coverage of exchange.bittrex
2018-01-09 14:07:50 +01:00
Samuel Husso
fe2b0c2862
add unittest to save and read trials file
2018-01-09 12:26:52 +02:00
Samuel Husso
1647e7a0c1
update fix failing tests, unitest that resume hyperopt functionality works
2018-01-09 12:26:52 +02:00
Janne Sinivirta
f7dd5e6396
use sensible value for stoploss in test
2018-01-08 22:00:10 +02:00
Janne Sinivirta
1ae73d7da2
Merge branch 'develop' into hyperopt_stoploss
2018-01-08 07:49:44 +02:00
Samuel Husso
d8e692c9a3
Merge pull request #339 from gcarq/upgrade_flake8
...
Upgrade flake8
2018-01-08 07:34:45 +02:00
Gerald Lonlas
ca05d1f79e
Fix for flake8
2018-01-07 21:08:12 -08:00
Janne Sinivirta
9dd38aebe0
add stoploss to the hyperopt parameters
2018-01-07 21:08:12 -08:00
Gerald Lonlas
9c21077dc1
Fix hypeopt issue when no result found
2018-01-07 17:53:21 -08:00
Jean-Baptiste LE STANG
bba711c89a
with flake8 ...
2018-01-07 23:35:16 +01:00
Jean-Baptiste LE STANG
5fbaa6d4cf
rebasing for ta-lib dependency
2018-01-07 23:30:37 +01:00
Jean-Baptiste LE STANG
5b1f84f816
without debug print
2018-01-07 23:29:19 +01:00
Jean-Baptiste LE STANG
65127533ef
fixing unittest
2018-01-07 23:29:19 +01:00
Jean-Baptiste LE STANG
05ca00b623
Add a unitest and fix pep8
2018-01-07 23:26:45 +01:00
Jean-Baptiste LE STANG
4c8ae3a7af
without debug print
2018-01-07 23:15:33 +01:00
Jean-Baptiste LE STANG
2773ce7ebf
rebasing against develop
2018-01-07 21:34:42 +01:00
Jean-Baptiste LE STANG
f4e4104d14
Fixing unitest
2018-01-07 21:26:43 +01:00
Jean-Baptiste LE STANG
b722a89276
fixing unittest
2018-01-07 21:24:17 +01:00
Janne Sinivirta
5be733a174
fix flake8 warnings
2018-01-07 14:37:09 +02:00
Jean-Baptiste LE STANG
975a785e68
Add a unitest and fix pep8
2018-01-07 10:14:11 +01:00
kryofly
890083ce7f
Merge branch 'develop' into datadir
2018-01-07 10:00:35 +01:00
Gérald LONLAS
454cd16df4
Merge pull request #331 from gcarq/fix/work_without_network
...
Fix _coinmarketcap that fails backtesting and Hyperopt when no network
2018-01-06 21:33:24 -08:00
Gerald Lonlas
bf4b2dc05e
Fix _coinmarketcap that fails backtesting and Hyperopt when no network
2018-01-06 21:21:28 -08:00
Gerald Lonlas
b3ea0f4ec5
Make readable hyperopt best parameters result
2018-01-06 17:19:48 -08:00
Gérald LONLAS
2432c9f290
Merge pull request #324 from kryofly/parse-common
...
Parsing: common options, reduce function scope
2018-01-06 15:11:30 -08:00
kryofly
60ed4b9d1e
--datadir <path> argument
...
This argument enables usage of different backtesting directories.
Useful if one wants compare backtesting performance over time.
2018-01-06 23:24:35 +01:00
Janne Sinivirta
a29f3de025
fix variable names to pythonic
2018-01-06 21:21:56 +02:00
Janne Sinivirta
6ab0ec6aac
only apply profit guarantee to sell_signal
2018-01-06 21:18:57 +02:00
kryofly
984204e380
let parse_args only parse, no continuation
...
This removes parse_args() from the call stack
It pushes down the test-mocking one level [from parse_args() to main()].
Moves parse_args into a more generic 'modules' parsing direction.
2018-01-06 11:21:09 +01:00
Janne Sinivirta
bcde377019
Merge pull request #321 from gcarq/log-exceptions
...
Log exceptions
2018-01-06 10:14:57 +02:00
Samuel Husso
2d39759d34
pep8 fix
2018-01-06 10:08:25 +02:00
kryofly
e4500af736
test case for common CLI parsing
...
Rearrange current tests.
2018-01-06 08:27:44 +01:00
Janne Sinivirta
41933c31ca
Merge pull request #315 from kryofly/tests_jan05
...
tests cover more backtesting
2018-01-06 09:26:20 +02:00
kryofly
47675943ee
split common command line args parsing
...
A new function parse_args_common() that only parses
common command line options. The returned object can
be composed to parse more arguments.
As is done by parse_args().
2018-01-06 07:39:05 +01:00
Samuel Husso
ae967a4f40
add test to handle analyze_ticker raising exception
2018-01-05 13:43:56 +02:00
kryofly
79fcd0b06c
tests cover more backtesting
2018-01-05 10:44:10 +01:00
kryofly
421ccb23d3
split load tickerdata function
2018-01-05 10:20:48 +01:00
Stephen Dade
ebe95ba1e1
Open order times should be strings, not datetime objectsy
2018-01-05 15:12:13 +11:00
Stephen Dade
d4fcc38a57
Unfilled order timeouts - now using timestamps from exchange
2018-01-05 01:39:01 +11:00
Janne Sinivirta
c60ef181dc
Merge pull request #297 from jblestang/add_stoploss_and_use_sell_profit_only_to_hyperopt
...
Add stoploss, sell_only_profit and use_sell_signal conf parameters to backtest function
2018-01-04 13:33:01 +02:00
Stephen Dade
b5d2cfecc7
Unfilled Order timeout - better documentation and variable naming
2018-01-04 10:35:57 +11:00
Jean-Baptiste LE STANG
75955fcc04
Add a unitest and fix pep8
2018-01-03 17:58:08 +01:00
Jean-Baptiste LE STANG
0f2d3adbbc
applying pep8
2018-01-03 17:36:40 +01:00
Jean-Baptiste LE STANG
eb53a796e2
pep8 compliance
2018-01-03 11:35:54 +01:00
Jean-Baptiste LE STANG
2d273a8509
Update unittests
2018-01-03 11:30:24 +01:00
Stephen Dade
b4d6250d55
Added order timeout handling
2018-01-03 21:22:35 +11:00
Gérald LONLAS
9b09b5aa29
Merge pull request #291 from gcarq/backtesting_speed_opt
...
Backtesting speed optimizations
2018-01-02 23:35:47 -08:00
Gérald LONLAS
4a717f3df8
Merge pull request #294 from jblestang/add_trades_count_in_performance
...
Add trades count foreach pair in performance command
2018-01-02 23:03:30 -08:00
Samuel Husso
fd5497cfc7
Merge pull request #265 from gcarq/feature/experimental/force_profit_sell
...
Add experimental feature to sell only if we make a profit
2018-01-03 08:14:54 +02:00
Jean-Baptiste LE STANG
01b49dc502
Merge branch 'develop' into add_trades_count_in_performance
2018-01-03 00:06:56 +01:00
Jean-Baptiste LE STANG
fbb19e451d
Adding the number of trades for each traded pair in the performance command
2018-01-03 00:06:50 +01:00
Jean-Baptiste LE STANG
e69f9dd029
Bad unittest detected reading coverage report, rewritten and bug found
2018-01-02 23:00:03 +01:00
Janne Sinivirta
fed3024302
rewrite get_timeframe in backtesting
2018-01-02 21:54:31 +02:00
Samuel Husso
f4ccd4609b
Merge pull request #284 from jblestang/fix_issue_283
...
fixing the sorting issue in MarketSummary when using --dynamic-whitelist (issue #283 )
2018-01-02 21:00:20 +02:00
Janne Sinivirta
ae52880f81
improve backtesting result formatting
2018-01-02 17:39:02 +02:00
Jean-Baptiste LE STANG
d849694a70
Adding URL to market graph and number of trades/pair in /performance commande
2018-01-02 14:43:38 +01:00
Jean-Baptiste LE STANG
29987c3ff6
Adding the number of trades in the performance display
2018-01-02 14:32:13 +01:00
Jean-Baptiste LE STANG
3f65fc014e
flake8 on tests
2018-01-02 13:46:16 +01:00
Jean-Baptiste LE STANG
5344b711ea
Add two more unit tests for covering pair that are in a blacklist, and unknown pairs in the conf
2018-01-02 13:42:10 +01:00
Jean-Baptiste LE STANG
a3e827c144
with flake8 code review
2018-01-02 12:18:26 +01:00
Jean-Baptiste LE STANG
52e267e864
fix for issue #283
2018-01-02 12:04:47 +01:00
Jean-Baptiste LE STANG
0e0d613191
Removing tilde and change profit to loss when negative profit is made
2018-01-01 20:18:38 +01:00
Gerald Lonlas
714d77dbd8
Add expiremental feature to sell only if we make a profit
2017-12-30 18:14:10 -08:00
Gérald LONLAS
9803130848
Merge pull request #259 from gcarq/fix/issue-248
...
Fix issue #248 : missing configuration when executing /forcesell
2017-12-30 17:28:16 -08:00
Jean-Baptiste LE STANG
68f81b2abb
autopep8 is going to be my new friend
2017-12-30 15:55:49 +01:00
Jean-Baptiste LE STANG
4945331093
Fixing the positional parameter naming + unit tests updated
2017-12-30 15:43:22 +01:00
jblestang
8411844d7e
Implement pair_blacklist functionality ( #257 )
...
* Adding an optional black_list of pairs not to be traded
* applying the blacklist also when not using --dynamic-whitelist
* fix error retrieving pair in conf
* Refactoring the handling of whitelist among the various functions
* unit test to verify that black listed pairs are being removed from the pair_whitelist
* Fixing newly added unit tests in develop
* fixing flake8 code review
* fix code review from @garcq
2017-12-30 14:15:07 +01:00
Janne Sinivirta
00415d66a2
Merge pull request #260 from gcarq/increase_code_coverage
...
Increase code coverage
2017-12-30 14:02:33 +02:00
kryofly
f7398e615a
Improve backtesting tests ( #256 )
...
* test bugfix dataframe trimming
* flake8 (as usual)
* tests backtesting cleanup and bugfix
* flake8
* test backtesting::start()
* tests cleanup set() usage
* tests: add missing assert
2017-12-30 11:55:23 +01:00
Gerald Lonlas
e81a9cbb17
Increase code coverage
...
Change log:
* Increase code coverage for test_exchange.py
* Move Exchange Unit tests files tests/exchange/
* Move RPC Unit tests files tests/rpc/
2017-12-29 23:37:02 -08:00
Gerald Lonlas
c8c8c626b0
Fix issue #248 : missing configuration when executing /forcesell
...
This is not a beautiful workaround, I am not proud of it,
but a redesigning of main.py and telegram.py will be
necessary for a better integration. Any better solution
is welcome.
2017-12-29 20:03:12 -08:00
kryofly
37613fc056
flake8
2017-12-29 17:53:58 +01:00
Janne Sinivirta
133c467cf4
Merge branch 'develop' into tests_dec28
2017-12-29 16:33:12 +02:00
Janne Sinivirta
f2ce367cec
Merge branch 'develop' into sell_signal
2017-12-29 16:26:23 +02:00
kryofly
3e0458da7d
flake8
2017-12-29 09:40:24 +01:00
Gerald Lonlas
0d605d2396
Refactor Optimize tests, and add more unit tests
2017-12-28 22:32:48 -08:00
kryofly
847dde0d65
execute sell if get_signal OR ROI reached
2017-12-29 00:07:54 +01:00
kryofly
ab112581a7
tests: anal stretching to accomodate flake8
2017-12-28 20:05:33 +01:00
kryofly
f48f5d0f31
tests for dataframe, whitelist and backtesting
2017-12-28 15:58:19 +01:00
Janne Sinivirta
0abf0b0e39
Merge pull request #242 from gcarq/backtesting-unittests
...
Backtesting and hyperopt unit tests
2017-12-28 12:45:28 +02:00
Janne Sinivirta
7f44ba6df4
unit tests for optimize.hyperopt
2017-12-28 06:39:56 +02:00
Janne Sinivirta
ae0a1436e2
match test files to prod files for backtesting/hyperopt
2017-12-28 06:35:09 +02:00
Janne Sinivirta
9b4c0f01f2
more unit tests for backtesting
2017-12-27 17:39:54 +02:00
Gérald LONLAS
6c8253a4f5
Add more unittest ( #241 )
2017-12-27 11:41:11 +01:00
Janne Sinivirta
dcd0a0ec61
Merge pull request #239 from glonlas/feature/value_in_fiat
...
Display profits in fiat
2017-12-27 11:19:38 +02:00
Gerald Lonlas
ff6b0fc1c9
Display profits in fiat
2017-12-26 19:44:19 -08:00
Michael Egger
a514b92dcf
catch MIN_TRADE_REQUIREMENT_NOT_MET as non-critical exception ( #237 )
...
* add MIN_TRADE_REQUIREMENT_NOT_MET to response validation
* implement test
2017-12-26 09:39:29 +01:00
Janne Sinivirta
de33d69eed
Lint fixes ( #236 )
...
* correct docstring
* add type annotation to trade_count_lock
* fix indentations
* allow globals in hyperopt.py
* fix import order
* simplify asserts
* use proper variable name
* simplify condition
* fix path operation that fails on windows
2017-12-25 12:07:50 +01:00
Janne Sinivirta
1058820e1b
just pass stake_amount instead of the whole config
2017-12-23 19:00:49 +02:00
Janne Sinivirta
f300af0fe2
Merge pull request #200 from glonlas/fix_fees_calculation
...
Fix the fee calculation
2017-12-22 13:55:02 +02:00
Gerald Lonlas
41e22657e4
Fix hyperopt when using MongoDB
2017-12-21 19:20:47 -08:00
Gerald Lonlas
d258118b0a
Fix the fee calculation, backtesting, and hyperopt fee calculation and avg_profit
2017-12-20 20:18:41 -08:00
Janne Sinivirta
c8fb6c4661
More lint fixes ( #198 )
...
* autopep fixes
* remove unused imports
* fix plot_dataframe.py lint warnings
* make pep8 error fails the build
* two more line breakings
* matplotlib.use() must be called before pyplot import
2017-12-18 17:36:00 +01:00
Gerald Lonlas
d613d63fdc
Fix the fee calculation
2017-12-17 23:01:34 -08:00
Janne Sinivirta
80ef2cfed4
Merge pull request #193 from gcarq/feature/ci-enforce-pep8
...
CI: enforce PEP8 conform code
2017-12-17 07:42:23 +02:00
Janne Sinivirta
5efc417690
Merge pull request #192 from gcarq/feature/forcesell-handle-open-orders
...
/forcesell: handle trades with open orders
2017-12-17 07:41:51 +02:00
Gérald LONLAS
14868615d5
Add mock to improve backtesting tests ( #194 )
2017-12-17 00:24:21 +01:00
Gérald LONLAS
512fcdbcb1
Allow user to update testdata files with parameter --refresh-pairs-cached ( #174 )
2017-12-16 15:42:28 +01:00
gcarq
95fe0f4dec
fix pep8 warnings
2017-12-16 03:39:47 +01:00
gcarq
ae37f49b51
/forcesell: handle trades with open orders
2017-12-16 01:09:07 +01:00
Gérald LONLAS
e00f02b603
Improve telegram /profit command ( #188 )
2017-12-15 17:19:00 +01:00
Gerald Lonlas
2a2af4878e
Update /daily command, reorder telegram menu, limit /daily profit at 8 decimals
2017-12-14 21:18:52 -08:00
Samuel Husso
cb09cabbdd
Merge pull request #171 from stephendade/dailymsg
...
Added daily profit telegram command
2017-12-12 19:42:31 +02:00
Janne Sinivirta
77023c0ecf
Merge pull request #169 from jblestang/fix_ticker_interval
...
Fix ticker interval
2017-12-12 17:21:55 +02:00
Stephen Dade
0b18c93d19
Daily profit command - better message formatting and minor fixes
2017-12-12 19:41:25 +11:00
Jean-Baptiste LE STANG
0617753a7f
Adding a test unit for 1 minute ticker interval
2017-12-11 22:11:06 +01:00
Janne Sinivirta
b77fad6e5f
Merge pull request #173 from glonlas/autoselect_top_currencies
...
Allow to change the number of currencies used by dynamic-whitelist
2017-12-11 18:04:10 +02:00
Gerald Lonlas
ef7646417b
Allow to change the number of currencies used by dynamic-whitelist
2017-12-11 00:01:27 -08:00
Janne Sinivirta
7afd8da28f
fix a broken unit test due to changing test dataset
2017-12-10 13:56:39 +02:00
Janne Sinivirta
3d532c6015
update backtest data to match pairs in config.json.example
2017-12-10 11:17:01 +02:00
Stephen Dade
ccb8c3c352
Added daily profit telegram command
2017-12-10 17:32:40 +11:00
gcarq
9ff1f05e66
add --epochs to hyperopt subcommand
2017-11-25 01:12:44 +01:00
gcarq
b9c4eafd96
integrate hyperopt and implement subcommand
2017-11-25 01:04:11 +01:00
gcarq
7fa5846c6b
move hyperopt to freqtrade.optimize.hyperopt
2017-11-25 00:30:39 +01:00
gcarq
3b37f77a4d
move backtesting to freqtrade.optimize.backtesting
2017-11-24 23:58:35 +01:00
Mathieu Favréaux
371ee1e457
In backtesting, ensure we don't buy the same pair again before selling ( #139 )
...
* in backtesting, ensure we don't buy before we sell
* no overlapping trades only if max_open_trades > 0
* --limit-max-trades now --realistic-simulation
2017-11-24 21:09:44 +01:00
Janne Sinivirta
371e6d99c9
set stoploss to -10%
2017-11-23 18:43:19 +02:00
Janne Sinivirta
aacd7d8987
Merge pull request #131 from gcarq/feature/backtesting-max-open-trades
...
implement trade count lock for backtesting
2017-11-23 16:16:43 +02:00
gcarq
4a707d7452
add --limit-max-trades
2017-11-23 00:25:06 +01:00
gcarq
7727f2cc8f
implement test
2017-11-22 21:02:36 +01:00
gcarq
9a87dcf0a1
dont apply fees on trade creation
2017-11-22 21:01:44 +01:00
gcarq
9136e64d89
force flush in create_trade and execute_sell ( fixes #128 )
2017-11-22 20:51:25 +01:00
gcarq
02ca2ed585
implement trade count lock for backtesting
2017-11-21 22:33:34 +01:00
gcarq
788cda4925
add missing import
2017-11-20 22:26:32 +01:00
gcarq
55a69e4a45
use normal program flow to handle interrupts
2017-11-20 22:15:19 +01:00
gcarq
cd5afd6ff4
use jsonschema regex pattern for whitelist format and enhance validation error messages ( closes #120 )
2017-11-20 19:37:25 +01:00
Janne Sinivirta
d88cc084e6
align numbers in hyperopt print out ( #119 )
2017-11-20 10:22:11 +01:00
Jeff Pipas
5deaebf0c2
Tests now use UTC time with arrow instead of datetime ( #117 )
...
* fixing tests to use arrow-utc
* removing datetime import
2017-11-19 04:58:35 +01:00
gcarq
3ab14dfe39
add middleware to expose common functionality for multiple rpc implementations
2017-11-18 21:30:31 +01:00
Michael Egger
4a91ecd91a
Merge pull request #115 from gcarq/pylint_cleanups
...
Pylint cleanups
2017-11-18 16:00:21 +01:00
Janne Sinivirta
6f5b418f0b
small balancing to hyperopt objective
2017-11-18 10:24:18 +02:00
Janne Sinivirta
37a74b38ba
more little pylint fixes
2017-11-18 10:09:19 +02:00
Janne Sinivirta
9ab81a987d
fix pylint warnings in test_main.py
2017-11-18 09:58:55 +02:00
Janne Sinivirta
4b08e3d571
fix pylint warnings in __init__ files
2017-11-18 09:58:29 +02:00
Janne Sinivirta
187fea0c28
disable bunch of meaningless pylint warnings
2017-11-18 09:45:01 +02:00
Janne Sinivirta
4e54b27398
use parentheses for multiline string instead of backslash
2017-11-18 09:44:28 +02:00
Janne Sinivirta
aced5cc3ba
rename variable to remove Mypy warning of type error
2017-11-18 09:43:42 +02:00
Janne Sinivirta
7903f3a546
fix test name
2017-11-18 09:19:22 +02:00
Janne Sinivirta
df9902d6a4
Merge pull request #107 from gcarq/feature/add-backtesting-subcommand
...
add backtesting subcommand and refresh test data
2017-11-18 08:13:42 +02:00
Janne Sinivirta
315919cdd6
fix platform dependent bug in argparse test
2017-11-18 08:07:37 +02:00
gcarq
63c95a3546
modify trade life cycle (should fix #112 )
2017-11-17 20:17:29 +01:00
gcarq
59d04d1d0c
catch TelegramError ( fixes #113 )
2017-11-17 19:49:03 +01:00
gcarq
14de46576b
use load_backtesting_data
2017-11-17 18:23:40 +01:00
gcarq
bdff29a472
remove code duplicates
2017-11-17 18:17:59 +01:00
gcarq
8655c6c264
reduce backtest data samples to 10
2017-11-17 18:15:25 +01:00
gcarq
3f4e4a23a0
add argparse handling tests
2017-11-17 18:15:24 +01:00
gcarq
5be7be6189
adapt tests
2017-11-17 18:15:24 +01:00
gcarq
3475a07522
fetching new testing data for oneMin and fiveMin intervals
2017-11-17 18:15:24 +01:00
gcarq
fb7ea169d4
fix some formatting issues
2017-11-17 18:13:34 +01:00
gcarq
5469293e5f
use tabulate to format backtesting result
2017-11-17 18:13:02 +01:00
gcarq
9b644b0305
add --ticker-interval
2017-11-17 18:09:55 +01:00
gcarq
bb4a9ed20f
implement backtest subcommand
2017-11-17 18:09:55 +01:00
Janne Sinivirta
d89db50465
avoid copy operation due to memory consumption
2017-11-17 12:30:54 +02:00
Janne Sinivirta
632d00e01d
move price point calculations out from populate functions
2017-11-17 12:30:03 +02:00
Janne Sinivirta
2a56031cdc
remove unnecessary line
2017-11-17 12:30:03 +02:00
Janne Sinivirta
16d412323c
add a little snippet to allow running line_profiler with hyperopt
2017-11-16 20:43:24 +02:00
Janne Sinivirta
174122a09b
remove unnecessary calculation
2017-11-16 20:38:59 +02:00
Janne Sinivirta
1b6a60ecb2
refactor backtesting to avoid recalculating indicators in hyperopt
2017-11-16 20:38:46 +02:00
Janne Sinivirta
a963f1820c
rename should_sell to min_roi_reached
2017-11-16 16:53:34 +01:00
Janne Sinivirta
b9983149ef
plug sell strategy to backtesting
2017-11-16 16:53:34 +01:00
Janne Sinivirta
6b7afb80b2
fix failing test
2017-11-16 16:53:34 +01:00
Janne Sinivirta
1db0a7d4ce
populate sell signal
2017-11-16 16:53:34 +01:00
Janne Sinivirta
c12a9ebd92
make signal getting parametrized
2017-11-16 16:53:34 +01:00
gcarq
0bc96241d5
rework exception handling ( fixes #108 )
2017-11-16 16:14:43 +01:00
gcarq
dd9cb008fb
refresh whitelist based on wallet health ( fixes #60 )
...
Refreshs the whitelist in each iteration based on the wallet health,
disabled wallets will be removed from the whitelist automatically.
2017-11-13 21:34:47 +01:00
Michael Egger
bab59fbacd
Merge pull request #99 from gcarq/more_triggers2
...
Expanding hyperopt
2017-11-13 12:11:15 +01:00
Janne Sinivirta
0f0b10b6cc
adjust search spaces
2017-11-13 07:28:56 +02:00
Janne Sinivirta
8e68c5358e
clean up prints during hyperopt
2017-11-12 09:44:31 +02:00
Janne Sinivirta
660f01b514
add hilbert transform leadsine trigger
2017-11-12 09:13:54 +02:00
Janne Sinivirta
13537e3ce4
add short ema guard to hyperopt
2017-11-12 08:45:32 +02:00
Janne Sinivirta
2963a90008
add stochastics trigger
2017-11-12 08:38:52 +02:00
Janne Sinivirta
15b20b83fa
optimize hyperopt objective function
2017-11-12 08:30:58 +02:00
gcarq
d3b3370f23
Add configurable throttle mechanism
2017-11-11 16:47:19 +01:00
Janne Sinivirta
cf79b15651
use discrete values for filters
2017-11-11 11:50:10 +02:00
Janne Sinivirta
a4284351e3
fix green_candle
2017-11-11 11:22:12 +02:00
Janne Sinivirta
906caf329b
remove two unused or poorly performing indicators
2017-11-11 11:22:12 +02:00
Janne Sinivirta
3db13fae13
add green_candle guard
2017-11-11 11:22:12 +02:00
Janne Sinivirta
274972f7af
make faststoch trigger use crossed_above helper
2017-11-11 11:22:11 +02:00
Janne Sinivirta
83fd27e031
add sar reversal as trigger
2017-11-11 11:22:11 +02:00