diff --git a/.gitignore b/.gitignore index 3a2bd6203..0df4ff6d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +# Ignore Release Template +ReleaseTemplate.txt # Ignore Python Caches user_data/hyperopts/__pycache__/ user_data/strategies/__pycache__/ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 695d23485..e3be60128 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,3 +19,4 @@ - v0.6.3 (28-03-2021 - Enable/Disable Trading when Sideways made HyperOptable - Spoiler Alert, it should be False, for now...) - v0.6.4 (29-03-2021 - BugFixed Debuggable Dataframe + Added (HyperOptable) Settings to Enable/Disable Buys/Sells for Upwards/Downwards trends too) - v0.7.0 (31-03-2021 - Making Hyperopt Results Copy/Paste-able) +- v0.7.1 (01-04-2021 - Added Total Overall Signal Importance Calculator) \ No newline at end of file diff --git a/README.md b/README.md index b85dff405..a9dd4a8cb 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ``` #################################################################################### #### #### - ### MoniGoMani v0.7.0 by Rikj000 ### + ### MoniGoMani v0.7.1 by Rikj000 ### ## ---------------------------- ## # Isn't that what we all want? Our money to go many? # # Well that's what this Freqtrade strategy hopes to do for you! # @@ -27,7 +27,7 @@ **WARNING: MoniGoMani should always be HyperOpted unless you really know what you are doing when manually allocating weights!** **MoniGoManiHyperOpted already has a decent hyperopt applied to it!** -# **Current `MoniGoMani` status @ `v0.7.0`** with: +# **Current `MoniGoMani` status @ `v0.7.1`** with: - Configurable & HyperOptable Buy/Sell Signal Weight Influence Tables for Downwards/Sideways/Upwards trends - Configurable & HyperOptable Total Buy/Sell Signal Percentages for Downwards/Sideways/Upwards trends - Turn On/Off Trading on Downwards/Sideways/Upwards trends for Buys/Sells (HyperOptable) @@ -42,17 +42,22 @@ - EMA Long Death/Golden Cross - Bollinger Band Re-Entrance - VWAP Cross +- Total Overall Signal Importance Calculator for HyperOpt Results - Main/Sub Plot Configurations for all indicators used (Handy for FreqUI but requires Docker `freqtrade:develop_plot` & `technical` dependencies) ### Go-To Commands: -For HyperOpting: +For Hyper Opting: ```bash freqtrade hyperopt --config ./user_data/config.json --hyperopt-loss SortinoHyperOptLossDaily --spaces all --hyperopt MoniGoManiHyperOpt --strategy MoniGoMani -e 1000 --timerange 20210101-20210316 ``` -For BackTesting: +For Back Testing: ```bash freqtrade backtesting --strategy MoniGoManiHyperOpted --config ./user_data/config.json --timerange 20210101-20210316 ``` +For Total Signal Importance Calculator: +```bash +python ./user_data/Total-Overall-Signal-Importance-Calculator.py +``` ### **ChangeLog**: [View the ChangeLog](https://github.com/Rikj000/MoniGoMani/blob/main/CHANGELOG.md) @@ -64,12 +69,12 @@ freqtrade backtesting --strategy MoniGoManiHyperOpted --config ./user_data/confi - [Refactor to be compliant for Auto-HyperOptable Strategies](https://github.com/freqtrade/freqtrade/pull/4596) - [MultiThreaded Dataframe indicator checking](https://www.machinelearningplus.com/python/parallel-processing-python/) if possible for speed improvements - Settings to enable/disable HyperOpting for individual `buy_params` & `sell_params` -- **Other & Better indicators!** MoniGoMani has been designed so signals can easily be inserted / swapped out. So try to learn from the HyperOpt Weight Table Results, which signals usually score high and which often score low. That will tell us which signals work really well and which don't -- **Maybe!** An additional results table that will tell us how good which signals usually score high and which often score low (when a hyperopt has been done), that would save a lot of hassle in finding **Other & Better indicators**. +- **Other & Better indicators!** MoniGoMani has been designed so signals can easily be inserted / swapped out. +Please use the `Total-Overall-Signal-Importance-Calculator.py` (added in `v0.7.1`) to find out which signals do best and report your results to the Discord server so we can improve! :rocket: - Individual `BTC_config.json` & `USDT_config.json` files, aswell as individual `BTC_MoniGoManiHyperOpted.py` & `USDT_MoniGoManiHyperOpted.py` releases ### Got Test Results / Ideas / Config Improvements? -- Feel free to join [**CryptoStonksShallRise**](https://discord.gg/qmmzzsxg) on Discord there you can follow/participate in the official channels: +- Feel free to join [**CryptoStonksShallRise**](https://discord.gg/xFZ9bB6vEz) on Discord there you can follow/participate in the official channels: - `#moni-go-mani-updates` - `#moni-go-mani-testing` - `#moni-go-mani-setup-releases` diff --git a/Some Test Results/v0.7.0/Dry-Run Results (Few hours of 31-03-2021).png b/Some Test Results/v0.7.0/Dry-Run Results (Few hours of 31-03-2021).png new file mode 100644 index 000000000..309af5758 Binary files /dev/null and b/Some Test Results/v0.7.0/Dry-Run Results (Few hours of 31-03-2021).png differ diff --git a/Some Test Results/v0.7.1/MoniGoManiHyperOpted_v0.7.1_SignalImportanceCalculatorResults_01-04-2021.log b/Some Test Results/v0.7.1/MoniGoManiHyperOpted_v0.7.1_SignalImportanceCalculatorResults_01-04-2021.log new file mode 100644 index 000000000..8f164edfd --- /dev/null +++ b/Some Test Results/v0.7.1/MoniGoManiHyperOpted_v0.7.1_SignalImportanceCalculatorResults_01-04-2021.log @@ -0,0 +1,35 @@ +Total Overall Signal Importance: +-------------------------------- +adx_strong_up_down: 123.83% +bollinger_bands: 95.0% +ema_long_golden_death_cross: 68.83% +ema_short_golden_death_cross: 87.33% +macd: 137.17% +rsi: 88.83% +sma_long_golden_death_cross: 140.0% +sma_short_golden_death_cross: 124.17% +vwap_cross: 115.17% + +Total Overall Buy Signal Importance: +------------------------------------ +adx_strong_up: 220% +bollinger_bands: 102% +ema_long_golden_cross: 68% +ema_short_golden_cross: 111% +macd: 221% +rsi: 146% +sma_long_golden_cross: 229% +sma_short_golden_cross: 186% +vwap_cross: 168% + +Total Overall Sell Signal Importance: +------------------------------------- +adx_strong_down: 27.67% +bollinger_bands: 88.0% +ema_long_death_cross: 69.67% +ema_short_death_cross: 63.67% +macd: 53.33% +rsi: 31.67% +sma_long_death_cross: 51.0% +sma_short_death_cross: 62.33% +vwap_cross: 62.33% \ No newline at end of file diff --git a/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_BackTestResults_01-04-2021.log b/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_BackTestResults_01-04-2021.log new file mode 100644 index 000000000..c4c6c0c2f --- /dev/null +++ b/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_BackTestResults_01-04-2021.log @@ -0,0 +1,81 @@ +INFO - Loading data from 2020-12-15 08:00:00 up to 2021-03-16 00:00:00 (90 days).. +INFO - Running backtesting for Strategy MoniGoManiHyperOpted +INFO - Backtesting with data from 2021-01-01 00:00:00 up to 2021-03-16 00:00:00 (74 days).. +Result for strategy MoniGoManiHyperOpted +=========================================================== BACKTESTING REPORT =========================================================== +| Pair | Buys | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins | Draws | Losses | +|----------+--------+----------------+----------------+------------------+----------------+----------------+--------+---------+----------| +| ALGO/BTC | 101 | 1.04 | 104.78 | 0.00104887 | 9.23 | 9:02:00 | 69 | 3 | 29 | +| ATOM/BTC | 100 | 0.80 | 79.88 | 0.00079961 | 7.04 | 10:13:00 | 63 | 2 | 35 | +| BAT/BTC | 97 | 1.50 | 145.13 | 0.00145271 | 12.79 | 10:07:00 | 71 | 1 | 25 | +| BCH/BTC | 64 | 0.06 | 3.59 | 0.00003587 | 0.32 | 15:55:00 | 29 | 4 | 31 | +| BRD/BTC | 128 | 4.57 | 585.23 | 0.00585816 | 51.57 | 9:24:00 | 101 | 4 | 23 | +| EOS/BTC | 73 | -0.18 | -12.80 | -0.00012817 | -1.13 | 15:38:00 | 36 | 3 | 34 | +| ETH/BTC | 54 | 0.56 | 30.02 | 0.00030052 | 2.65 | 21:07:00 | 28 | 6 | 20 | +| IOTA/BTC | 80 | 1.81 | 145.09 | 0.00145232 | 12.78 | 13:31:00 | 52 | 3 | 25 | +| LINK/BTC | 85 | 0.51 | 43.72 | 0.00043762 | 3.85 | 12:53:00 | 51 | 6 | 28 | +| LTC/BTC | 54 | -0.09 | -5.08 | -0.00005084 | -0.45 | 17:28:00 | 25 | 2 | 27 | +| NEO/BTC | 73 | 0.86 | 63.02 | 0.00063079 | 5.55 | 11:36:00 | 43 | 4 | 26 | +| NXS/BTC | 132 | 6.40 | 844.47 | 0.00845321 | 74.41 | 9:35:00 | 106 | 4 | 22 | +| XMR/BTC | 68 | 0.71 | 47.96 | 0.00048004 | 4.23 | 15:06:00 | 39 | 5 | 24 | +| XRP/BTC | 89 | 1.66 | 147.93 | 0.00148073 | 13.03 | 11:44:00 | 60 | 4 | 25 | +| XTZ/BTC | 86 | 0.10 | 8.52 | 0.00008522 | 0.75 | 13:38:00 | 49 | 8 | 29 | +| TOTAL | 1284 | 1.74 | 2231.45 | 0.02233666 | 196.63 | 12:23:00 | 822 | 59 | 403 | +======================================================== SELL REASON STATS ========================================================= +| Sell Reason | Sells | Wins | Draws | Losses | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | +|--------------------+---------+--------+---------+----------+----------------+----------------+------------------+----------------| +| trailing_stop_loss | 788 | 773 | 0 | 15 | 5.45 | 4291.76 | 0.0429605 | 286.12 | +| sell_signal | 415 | 32 | 0 | 383 | -4.99 | -2069.9 | -0.0207198 | -137.99 | +| roi | 70 | 11 | 59 | 0 | 0.22 | 15.3 | 0.00015312 | 1.02 | +| force_sell | 11 | 6 | 0 | 5 | -0.52 | -5.71 | -5.719e-05 | -0.38 | +======================================================== LEFT OPEN TRADES REPORT ========================================================= +| Pair | Buys | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins | Draws | Losses | +|----------+--------+----------------+----------------+------------------+----------------+----------------+--------+---------+----------| +| ALGO/BTC | 1 | -8.31 | -8.31 | -0.00008322 | -0.73 | 12:00:00 | 0 | 0 | 1 | +| ATOM/BTC | 1 | -0.40 | -0.40 | -0.00000396 | -0.03 | 8:00:00 | 0 | 0 | 1 | +| BCH/BTC | 1 | 1.87 | 1.87 | 0.00001869 | 0.16 | 16:00:00 | 1 | 0 | 0 | +| EOS/BTC | 1 | -0.20 | -0.20 | -0.00000200 | -0.02 | 6:00:00 | 0 | 0 | 1 | +| ETH/BTC | 1 | 1.84 | 1.84 | 0.00001839 | 0.16 | 14:00:00 | 1 | 0 | 0 | +| IOTA/BTC | 1 | -3.30 | -3.30 | -0.00003304 | -0.29 | 5:00:00 | 0 | 0 | 1 | +| LINK/BTC | 1 | 1.05 | 1.05 | 0.00001049 | 0.09 | 14:00:00 | 1 | 0 | 0 | +| NEO/BTC | 1 | 0.23 | 0.23 | 0.00000233 | 0.02 | 11:00:00 | 1 | 0 | 0 | +| NXS/BTC | 1 | -0.53 | -0.53 | -0.00000533 | -0.05 | 5:00:00 | 0 | 0 | 1 | +| XRP/BTC | 1 | 1.22 | 1.22 | 0.00001222 | 0.11 | 10:00:00 | 1 | 0 | 0 | +| XTZ/BTC | 1 | 0.82 | 0.82 | 0.00000824 | 0.07 | 14:00:00 | 1 | 0 | 0 | +| TOTAL | 11 | -0.52 | -5.71 | -0.00005719 | -0.50 | 10:27:00 | 6 | 0 | 5 | +=============== SUMMARY METRICS =============== +| Metric | Value | +|-----------------------+---------------------| +| Backtesting from | 2021-01-01 00:00:00 | +| Backtesting to | 2021-03-16 00:00:00 | +| Max open trades | 15 | +| | | +| Total trades | 1284 | +| Starting balance | 0.01136000 BTC | +| Final balance | 0.03369666 BTC | +| Absolute profit | 0.02233666 BTC | +| Total profit % | 196.63% | +| Trades per day | 17.35 | +| Avg. stake amount | 0.00100000 BTC | +| Total trade volume | 1.28400000 BTC | +| | | +| Best Pair | NXS/BTC 844.47% | +| Worst Pair | EOS/BTC -12.8% | +| Best trade | NXS/BTC 230.27% | +| Worst trade | XRP/BTC -24.11% | +| Best day | 0.00338533 BTC | +| Worst day | -0.00068672 BTC | +| Days win/draw/lose | 44 / 0 / 31 | +| Avg. Duration Winners | 7:01:00 | +| Avg. Duration Loser | 21:03:00 | +| | | +| Min balance | 0.01127335 BTC | +| Max balance | 0.03457303 BTC | +| Drawdown | 139.03% | +| Drawdown | 0.00139167 BTC | +| Drawdown high | 0.00762805 BTC | +| Drawdown low | 0.00623638 BTC | +| Drawdown Start | 2021-01-23 16:00:00 | +| Drawdown End | 2021-01-29 17:00:00 | +| Market change | -4.77% | +=============================================== \ No newline at end of file diff --git a/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021.log b/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021.log new file mode 100644 index 000000000..105f09952 --- /dev/null +++ b/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021.log @@ -0,0 +1,130 @@ +INFO - Loading data from 2020-12-15 08:00:00 up to 2021-03-16 00:00:00 (90 days).. +INFO - Hyperopting with data from 2021-01-01 00:00:00 up to 2021-03-16 00:00:00 (74 days).. +INFO - Found 12 CPU cores. Let's make them scream! +INFO - Number of parallel jobs set as: -1 +INFO - Min roi table: {0: 0.06883, 120: 0.04589, 240: 0.02294, 360: 0} +INFO - Max roi table: {0: 0.71124, 480: 0.25238, 1200: 0.09177, 2640: 0} +INFO - Effective number of parallel workers used: 12 ++--------+-----------+----------+------------------+--------------+------------------------------+----------------+-------------+ +| Best | Epoch | Trades | Win Draw Loss | Avg profit | Profit | Avg duration | Objective | +|--------+-----------+----------+------------------+--------------+------------------------------+----------------+-------------| +| * Best | 1/1000 | 853 | 336 38 479 | -0.07% | -0.00061245 BTC (-61.20%) | 1,061.8 m | 0.90984 | +| * Best | 2/1000 | 684 | 258 130 296 | 0.61% | 0.00416529 BTC (416.10%) | 1,300.0 m | -3.68603 | +| * Best | 7/1000 | 473 | 229 50 194 | 0.74% | 0.00350024 BTC (349.70%) | 2,011.7 m | -5.20988 | +| * Best | 16/1000 | 735 | 317 43 375 | 1.05% | 0.00771348 BTC (770.56%) | 1,203.6 m | -7.21851 | +| * Best | 22/1000 | 1386 | 491 45 850 | 0.98% | 0.01354023 BTC (1,352.63%) | 553.8 m | -15.7142 | +| Best | 84/1000 | 739 | 329 39 371 | 1.49% | 0.01104325 BTC (1,103.21%) | 1,043.6 m | -15.8127 | +| Best | 89/1000 | 646 | 310 82 254 | 1.68% | 0.01084445 BTC (1,083.36%) | 1,166.1 m | -17.3108 | +| Best | 104/1000 | 614 | 258 80 276 | 1.89% | 0.01163706 BTC (1,162.54%) | 1,704.9 m | -19.5109 | +| Best | 114/1000 | 869 | 568 85 216 | 2.13% | 0.01854235 BTC (1,852.39%) | 1,116.2 m | -20.4909 | +| Best | 124/1000 | 626 | 284 60 282 | 2.37% | 0.01484174 BTC (1,482.68%) | 1,181.8 m | -22.5781 | +| Best | 346/1000 | 1347 | 754 16 577 | 1.54% | 0.02070205 BTC (2,068.16%) | 916.7 m | -25.955 | +| Best | 436/1000 | 1284 | 822 59 403 | 1.74% | 0.02233409 BTC (2,231.18%) | 742.6 m | -28.7252 | +| Best | 888/1000 | 939 | 712 9 218 | 1.94% | 0.01823320 BTC (1,821.52%) | 676.7 m | -31.1302 | + +INFO - 1000 epochs saved to + '/mnt/Windows/Users/Rik/Desktop/Rikj-Home/Projects/Freqtrade-Git/user_data/hyperopt_results/strategy_MoniGoMani_hyperopt_results_2021-03-31_23-35-28.pickle'. + +Best result: + + 888/1000: + 939 trades. + 712/9/218 Wins/Draws/Losses. + Avg profit 1.94%. + Median profit 2.24%. + Total profit 0.01823320 + BTC ( 1821.52Σ%). + Avg duration 676.7 min. + Objective: -31.13017 + + + # Buy hyperspace params: + buy_params = { + '.trade_buys_when_downwards': False, + '.trade_buys_when_sideways': False, + '.trade_buys_when_upwards': True, + '_downwards_trend_total_buy_signal_needed': 54, + '_sideways_trend_total_buy_signal_needed': 72, + '_upwards_trend_total_buy_signal_needed': 87, + 'downwards_trend_adx_strong_up_buy_weight': 30, + 'downwards_trend_bollinger_bands_buy_weight': 14, + 'downwards_trend_ema_long_golden_cross_buy_weight': 48, + 'downwards_trend_ema_short_golden_cross_buy_weight': 35, + 'downwards_trend_macd_buy_weight': 18, + 'downwards_trend_rsi_buy_weight': 37, + 'downwards_trend_sma_long_golden_cross_buy_weight': 63, + 'downwards_trend_sma_short_golden_cross_buy_weight': 54, + 'downwards_trend_vwap_cross_buy_weight': 79, + 'sideways_trend_adx_strong_up_buy_weight': 87, + 'sideways_trend_bollinger_bands_buy_weight': 82, + 'sideways_trend_ema_long_golden_cross_buy_weight': 38, + 'sideways_trend_ema_short_golden_cross_buy_weight': 36, + 'sideways_trend_macd_buy_weight': 56, + 'sideways_trend_rsi_buy_weight': 0, + 'sideways_trend_sma_long_golden_cross_buy_weight': 99, + 'sideways_trend_sma_short_golden_cross_buy_weight': 68, + 'sideways_trend_vwap_cross_buy_weight': 25, + 'upwards_trend_adx_strong_up_buy_weight': 81, + 'upwards_trend_bollinger_bands_buy_weight': 55, + 'upwards_trend_ema_long_golden_cross_buy_weight': 32, + 'upwards_trend_ema_short_golden_cross_buy_weight': 81, + 'upwards_trend_macd_buy_weight': 10, + 'upwards_trend_rsi_buy_weight': 76, + 'upwards_trend_sma_long_golden_cross_buy_weight': 71, + 'upwards_trend_sma_short_golden_cross_buy_weight': 12, + 'upwards_trend_vwap_cross_buy_weight': 16 + } + + # Sell hyperspace params: + sell_params = { + '.trade_sells_when_downwards': False, + '.trade_sells_when_sideways': True, + '.trade_sells_when_upwards': False, + '_downwards_trend_total_sell_signal_needed': 39, + '_sideways_trend_total_sell_signal_needed': 51, + '_upwards_trend_total_sell_signal_needed': 74, + 'downwards_trend_adx_strong_down_sell_weight': 48, + 'downwards_trend_bollinger_bands_sell_weight': 28, + 'downwards_trend_ema_long_death_cross_sell_weight': 0, + 'downwards_trend_ema_short_death_cross_sell_weight': 35, + 'downwards_trend_macd_sell_weight': 39, + 'downwards_trend_rsi_sell_weight': 18, + 'downwards_trend_sma_long_death_cross_sell_weight': 4, + 'downwards_trend_sma_short_death_cross_sell_weight': 89, + 'downwards_trend_vwap_cross_sell_weight': 45, + 'sideways_trend_adx_strong_down_sell_weight': 95, + 'sideways_trend_bollinger_bands_sell_weight': 67, + 'sideways_trend_ema_long_death_cross_sell_weight': 49, + 'sideways_trend_ema_short_death_cross_sell_weight': 68, + 'sideways_trend_macd_sell_weight': 74, + 'sideways_trend_rsi_sell_weight': 50, + 'sideways_trend_sma_long_death_cross_sell_weight': 46, + 'sideways_trend_sma_short_death_cross_sell_weight': 71, + 'sideways_trend_vwap_cross_sell_weight': 90, + 'upwards_trend_adx_strong_down_sell_weight': 33, + 'upwards_trend_bollinger_bands_sell_weight': 79, + 'upwards_trend_ema_long_death_cross_sell_weight': 30, + 'upwards_trend_ema_short_death_cross_sell_weight': 21, + 'upwards_trend_macd_sell_weight': 38, + 'upwards_trend_rsi_sell_weight': 30, + 'upwards_trend_sma_long_death_cross_sell_weight': 39, + 'upwards_trend_sma_short_death_cross_sell_weight': 62, + 'upwards_trend_vwap_cross_sell_weight': 78 + } + + # ROI table: + minimal_roi = { + "0": 0.46999, + "403": 0.13025, + "1064": 0.02334, + "2370": 0 + } + + # Stoploss: + stoploss = -0.27622 + + # Trailing stop: + trailing_stop = True + trailing_stop_positive = 0.01382 + trailing_stop_positive_offset = 0.02675 + trailing_only_offset_is_reached = False \ No newline at end of file diff --git a/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021_nr346.log b/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021_nr346.log new file mode 100644 index 000000000..f0a70416d --- /dev/null +++ b/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021_nr346.log @@ -0,0 +1,109 @@ +freqtrade hyperopt-show -n 346 +============================== +INFO - Reading epochs from '/mnt/Windows/Users/Rik/Desktop/Rikj-Home/Projects/Freqtrade-Git/user_data/hyperopt_results/strategy_MoniGoMani_hyperopt_results_2021-03-31_23-35-28.pickle' +INFO - Loaded 1000 previous evaluations from disk. +INFO - 1000 epochs found. + +Epoch details: + + 346/1000: + 1347 trades. + 754/16/577 Wins/Draws/Losses. + Avg profit 1.54%. + Median profit 3.32%. + Total profit 0.02070205 BTC ( 2068.16Σ%). + Avg duration 916.7 min. + Objective: -25.95495 + + + # Buy hyperspace params: + buy_params = { + '.trade_buys_when_downwards': True, + '.trade_buys_when_sideways': True, + '.trade_buys_when_upwards': True, + '_downwards_trend_total_buy_signal_needed': 35, + '_sideways_trend_total_buy_signal_needed': 15, + '_upwards_trend_total_buy_signal_needed': 66, + 'downwards_trend_adx_strong_up_buy_weight': 78, + 'downwards_trend_bollinger_bands_buy_weight': 93, + 'downwards_trend_ema_long_golden_cross_buy_weight': 38, + 'downwards_trend_ema_short_golden_cross_buy_weight': 52, + 'downwards_trend_macd_buy_weight': 44, + 'downwards_trend_rsi_buy_weight': 8, + 'downwards_trend_sma_long_golden_cross_buy_weight': 72, + 'downwards_trend_sma_short_golden_cross_buy_weight': 1, + 'downwards_trend_vwap_cross_buy_weight': 4, + 'sideways_trend_adx_strong_up_buy_weight': 96, + 'sideways_trend_bollinger_bands_buy_weight': 92, + 'sideways_trend_ema_long_golden_cross_buy_weight': 67, + 'sideways_trend_ema_short_golden_cross_buy_weight': 5, + 'sideways_trend_macd_buy_weight': 62, + 'sideways_trend_rsi_buy_weight': 47, + 'sideways_trend_sma_long_golden_cross_buy_weight': 63, + 'sideways_trend_sma_short_golden_cross_buy_weight': 40, + 'sideways_trend_vwap_cross_buy_weight': 23, + 'upwards_trend_adx_strong_up_buy_weight': 84, + 'upwards_trend_bollinger_bands_buy_weight': 93, + 'upwards_trend_ema_long_golden_cross_buy_weight': 79, + 'upwards_trend_ema_short_golden_cross_buy_weight': 81, + 'upwards_trend_macd_buy_weight': 81, + 'upwards_trend_rsi_buy_weight': 6, + 'upwards_trend_sma_long_golden_cross_buy_weight': 95, + 'upwards_trend_sma_short_golden_cross_buy_weight': 57, + 'upwards_trend_vwap_cross_buy_weight': 72 + } + + # Sell hyperspace params: + sell_params = { + '.trade_sells_when_downwards': False, + '.trade_sells_when_sideways': True, + '.trade_sells_when_upwards': False, + '_downwards_trend_total_sell_signal_needed': 49, + '_sideways_trend_total_sell_signal_needed': 11, + '_upwards_trend_total_sell_signal_needed': 47, + 'downwards_trend_adx_strong_down_sell_weight': 39, + 'downwards_trend_bollinger_bands_sell_weight': 73, + 'downwards_trend_ema_long_death_cross_sell_weight': 19, + 'downwards_trend_ema_short_death_cross_sell_weight': 34, + 'downwards_trend_macd_sell_weight': 14, + 'downwards_trend_rsi_sell_weight': 2, + 'downwards_trend_sma_long_death_cross_sell_weight': 8, + 'downwards_trend_sma_short_death_cross_sell_weight': 7, + 'downwards_trend_vwap_cross_sell_weight': 57, + 'sideways_trend_adx_strong_down_sell_weight': 79, + 'sideways_trend_bollinger_bands_sell_weight': 33, + 'sideways_trend_ema_long_death_cross_sell_weight': 45, + 'sideways_trend_ema_short_death_cross_sell_weight': 0, + 'sideways_trend_macd_sell_weight': 26, + 'sideways_trend_rsi_sell_weight': 41, + 'sideways_trend_sma_long_death_cross_sell_weight': 98, + 'sideways_trend_sma_short_death_cross_sell_weight': 0, + 'sideways_trend_vwap_cross_sell_weight': 38, + 'upwards_trend_adx_strong_down_sell_weight': 51, + 'upwards_trend_bollinger_bands_sell_weight': 75, + 'upwards_trend_ema_long_death_cross_sell_weight': 94, + 'upwards_trend_ema_short_death_cross_sell_weight': 41, + 'upwards_trend_macd_sell_weight': 11, + 'upwards_trend_rsi_sell_weight': 100, + 'upwards_trend_sma_long_death_cross_sell_weight': 20, + 'upwards_trend_sma_short_death_cross_sell_weight': 19, + 'upwards_trend_vwap_cross_sell_weight': 26 + } + + # ROI table: + minimal_roi = { + "0": 0.33866, + "169": 0.1577, + "752": 0.0818, + "1820": 0 + } + + # Stoploss: + stoploss = -0.28422 + + # Trailing stop: + trailing_stop = True + trailing_stop_positive = 0.01147 + trailing_stop_positive_offset = 0.04433 + trailing_only_offset_is_reached = False + diff --git a/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021_nr436.log b/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021_nr436.log new file mode 100644 index 000000000..ff48091d0 --- /dev/null +++ b/Some Test Results/v0.7.1/MoniGoMani_v0.7.1_HyperOptResults_01-04-2021_nr436.log @@ -0,0 +1,108 @@ +freqtrade hyperopt-show -n 436 +============================== +INFO - Reading epochs from '/mnt/Windows/Users/Rik/Desktop/Rikj-Home/Projects/Freqtrade-Git/user_data/hyperopt_results/strategy_MoniGoMani_hyperopt_results_2021-03-31_23-35-28.pickle' +INFO - Loaded 1000 previous evaluations from disk. +INFO - 1000 epochs found. + +Epoch details: + + 436/1000: + 1284 trades. + 822/59/403 Wins/Draws/Losses. + Avg profit 1.74%. + Median profit 2.88%. + Total profit 0.02233409 BTC ( 2231.18Σ%). + Avg duration 742.6 min. + Objective: -28.72517 + + + # Buy hyperspace params: + buy_params = { + '.trade_buys_when_downwards': True, + '.trade_buys_when_sideways': False, + '.trade_buys_when_upwards': True, + '_downwards_trend_total_buy_signal_needed': 70, + '_sideways_trend_total_buy_signal_needed': 35, + '_upwards_trend_total_buy_signal_needed': 97, + 'downwards_trend_adx_strong_up_buy_weight': 47, + 'downwards_trend_bollinger_bands_buy_weight': 47, + 'downwards_trend_ema_long_golden_cross_buy_weight': 4, + 'downwards_trend_ema_short_golden_cross_buy_weight': 13, + 'downwards_trend_macd_buy_weight': 92, + 'downwards_trend_rsi_buy_weight': 64, + 'downwards_trend_sma_long_golden_cross_buy_weight': 94, + 'downwards_trend_sma_short_golden_cross_buy_weight': 37, + 'downwards_trend_vwap_cross_buy_weight': 41, + 'sideways_trend_adx_strong_up_buy_weight': 75, + 'sideways_trend_bollinger_bands_buy_weight': 40, + 'sideways_trend_ema_long_golden_cross_buy_weight': 37, + 'sideways_trend_ema_short_golden_cross_buy_weight': 74, + 'sideways_trend_macd_buy_weight': 30, + 'sideways_trend_rsi_buy_weight': 81, + 'sideways_trend_sma_long_golden_cross_buy_weight': 73, + 'sideways_trend_sma_short_golden_cross_buy_weight': 67, + 'sideways_trend_vwap_cross_buy_weight': 48, + 'upwards_trend_adx_strong_up_buy_weight': 98, + 'upwards_trend_bollinger_bands_buy_weight': 15, + 'upwards_trend_ema_long_golden_cross_buy_weight': 27, + 'upwards_trend_ema_short_golden_cross_buy_weight': 24, + 'upwards_trend_macd_buy_weight': 99, + 'upwards_trend_rsi_buy_weight': 1, + 'upwards_trend_sma_long_golden_cross_buy_weight': 62, + 'upwards_trend_sma_short_golden_cross_buy_weight': 82, + 'upwards_trend_vwap_cross_buy_weight': 79 + } + + # Sell hyperspace params: + sell_params = { + '.trade_sells_when_downwards': True, + '.trade_sells_when_sideways': True, + '.trade_sells_when_upwards': False, + '_downwards_trend_total_sell_signal_needed': 91, + '_sideways_trend_total_sell_signal_needed': 79, + '_upwards_trend_total_sell_signal_needed': 90, + 'downwards_trend_adx_strong_down_sell_weight': 42, + 'downwards_trend_bollinger_bands_sell_weight': 84, + 'downwards_trend_ema_long_death_cross_sell_weight': 85, + 'downwards_trend_ema_short_death_cross_sell_weight': 75, + 'downwards_trend_macd_sell_weight': 12, + 'downwards_trend_rsi_sell_weight': 0, + 'downwards_trend_sma_long_death_cross_sell_weight': 12, + 'downwards_trend_sma_short_death_cross_sell_weight': 100, + 'downwards_trend_vwap_cross_sell_weight': 83, + 'sideways_trend_adx_strong_down_sell_weight': 19, + 'sideways_trend_bollinger_bands_sell_weight': 85, + 'sideways_trend_ema_long_death_cross_sell_weight': 45, + 'sideways_trend_ema_short_death_cross_sell_weight': 96, + 'sideways_trend_macd_sell_weight': 92, + 'sideways_trend_rsi_sell_weight': 13, + 'sideways_trend_sma_long_death_cross_sell_weight': 100, + 'sideways_trend_sma_short_death_cross_sell_weight': 34, + 'sideways_trend_vwap_cross_sell_weight': 13, + 'upwards_trend_adx_strong_down_sell_weight': 22, + 'upwards_trend_bollinger_bands_sell_weight': 95, + 'upwards_trend_ema_long_death_cross_sell_weight': 79, + 'upwards_trend_ema_short_death_cross_sell_weight': 20, + 'upwards_trend_macd_sell_weight': 56, + 'upwards_trend_rsi_sell_weight': 82, + 'upwards_trend_sma_long_death_cross_sell_weight': 41, + 'upwards_trend_sma_short_death_cross_sell_weight': 53, + 'upwards_trend_vwap_cross_sell_weight': 91 + } + + # ROI table: + minimal_roi = { + "0": 0.30588, + "142": 0.20322, + "847": 0.06578, + "1218": 0 + } + + # Stoploss: + stoploss = -0.24019 + + # Trailing stop: + trailing_stop = True + trailing_stop_positive = 0.01184 + trailing_stop_positive_offset = 0.03793 + trailing_only_offset_is_reached = False diff --git a/VERYQUICKSTART.md b/VERYQUICKSTART.md index 25c6105c3..9e64fdf83 100644 --- a/VERYQUICKSTART.md +++ b/VERYQUICKSTART.md @@ -24,14 +24,18 @@ That's it you successfully setup Freqtrade, connected to Telegram, with FreqUI! - The actual Strategy files are under `MoniGoMani/user-data/strategies/` & The HyperOpt file under `MoniGoMani/user-data/hyperopts` ## Go-To Commands: -For HyperOpting: +For Hyper Opting: ```bash freqtrade hyperopt --config ./user_data/config.json --hyperopt-loss SortinoHyperOptLossDaily --spaces all --hyperopt MoniGoManiHyperOpt --strategy MoniGoMani -e 1000 --timerange 20210101-20210316 ``` -For BackTesting: +For Back Testing: ```bash freqtrade backtesting --strategy MoniGoManiHyperOpted --config ./user_data/config.json --timerange 20210101-20210316 ``` +For Total Signal Importance Calculator: +```bash +python ./user_data/Total-Overall-Signal-Importance-Calculator.py +``` **WARNING: MoniGoMani should always be HyperOpted unless you really know what you are doing when manually allocating weights!** **MoniGoManiHyperOpted already has a decent hyperopt applied to it!** \ No newline at end of file diff --git a/user_data/Total-Overall-Signal-Importance-Calculator.py b/user_data/Total-Overall-Signal-Importance-Calculator.py new file mode 100644 index 000000000..5da1fbada --- /dev/null +++ b/user_data/Total-Overall-Signal-Importance-Calculator.py @@ -0,0 +1,199 @@ +# Total Overall Signal Importance Calculator for MoniGoMani v0.7.1 +# ---------------------------------------------------------------- +# Paste the results from your HyperOpt over below `buy_params` & `sell_params` arrays +# Then execute: `python ./user_data/Total-Overall-Signal-Importance-Calculator.py` from your favorite +# terminal / CLI to calculate the overall importance of the signals being used. +# The higher the score of a signal the better + +# Buy hyperspace params: +buy_params = { + '.trade_buys_when_downwards': True, + '.trade_buys_when_sideways': False, + '.trade_buys_when_upwards': True, + '_downwards_trend_total_buy_signal_needed': 70, + '_sideways_trend_total_buy_signal_needed': 35, + '_upwards_trend_total_buy_signal_needed': 97, + 'downwards_trend_adx_strong_up_buy_weight': 47, + 'downwards_trend_bollinger_bands_buy_weight': 47, + 'downwards_trend_ema_long_golden_cross_buy_weight': 4, + 'downwards_trend_ema_short_golden_cross_buy_weight': 13, + 'downwards_trend_macd_buy_weight': 92, + 'downwards_trend_rsi_buy_weight': 64, + 'downwards_trend_sma_long_golden_cross_buy_weight': 94, + 'downwards_trend_sma_short_golden_cross_buy_weight': 37, + 'downwards_trend_vwap_cross_buy_weight': 41, + 'sideways_trend_adx_strong_up_buy_weight': 75, + 'sideways_trend_bollinger_bands_buy_weight': 40, + 'sideways_trend_ema_long_golden_cross_buy_weight': 37, + 'sideways_trend_ema_short_golden_cross_buy_weight': 74, + 'sideways_trend_macd_buy_weight': 30, + 'sideways_trend_rsi_buy_weight': 81, + 'sideways_trend_sma_long_golden_cross_buy_weight': 73, + 'sideways_trend_sma_short_golden_cross_buy_weight': 67, + 'sideways_trend_vwap_cross_buy_weight': 48, + 'upwards_trend_adx_strong_up_buy_weight': 98, + 'upwards_trend_bollinger_bands_buy_weight': 15, + 'upwards_trend_ema_long_golden_cross_buy_weight': 27, + 'upwards_trend_ema_short_golden_cross_buy_weight': 24, + 'upwards_trend_macd_buy_weight': 99, + 'upwards_trend_rsi_buy_weight': 1, + 'upwards_trend_sma_long_golden_cross_buy_weight': 62, + 'upwards_trend_sma_short_golden_cross_buy_weight': 82, + 'upwards_trend_vwap_cross_buy_weight': 79 +} + +# Sell hyperspace params: +sell_params = { + '.trade_sells_when_downwards': True, + '.trade_sells_when_sideways': True, + '.trade_sells_when_upwards': False, + '_downwards_trend_total_sell_signal_needed': 91, + '_sideways_trend_total_sell_signal_needed': 79, + '_upwards_trend_total_sell_signal_needed': 90, + 'downwards_trend_adx_strong_down_sell_weight': 42, + 'downwards_trend_bollinger_bands_sell_weight': 84, + 'downwards_trend_ema_long_death_cross_sell_weight': 85, + 'downwards_trend_ema_short_death_cross_sell_weight': 75, + 'downwards_trend_macd_sell_weight': 12, + 'downwards_trend_rsi_sell_weight': 0, + 'downwards_trend_sma_long_death_cross_sell_weight': 12, + 'downwards_trend_sma_short_death_cross_sell_weight': 100, + 'downwards_trend_vwap_cross_sell_weight': 83, + 'sideways_trend_adx_strong_down_sell_weight': 19, + 'sideways_trend_bollinger_bands_sell_weight': 85, + 'sideways_trend_ema_long_death_cross_sell_weight': 45, + 'sideways_trend_ema_short_death_cross_sell_weight': 96, + 'sideways_trend_macd_sell_weight': 92, + 'sideways_trend_rsi_sell_weight': 13, + 'sideways_trend_sma_long_death_cross_sell_weight': 100, + 'sideways_trend_sma_short_death_cross_sell_weight': 34, + 'sideways_trend_vwap_cross_sell_weight': 13, + 'upwards_trend_adx_strong_down_sell_weight': 22, + 'upwards_trend_bollinger_bands_sell_weight': 95, + 'upwards_trend_ema_long_death_cross_sell_weight': 79, + 'upwards_trend_ema_short_death_cross_sell_weight': 20, + 'upwards_trend_macd_sell_weight': 56, + 'upwards_trend_rsi_sell_weight': 82, + 'upwards_trend_sma_long_death_cross_sell_weight': 41, + 'upwards_trend_sma_short_death_cross_sell_weight': 53, + 'upwards_trend_vwap_cross_sell_weight': 91 +} + +total_overall_buy_weights = { + 'adx_strong_up': + buy_params["downwards_trend_adx_strong_up_buy_weight"] + + buy_params["sideways_trend_adx_strong_up_buy_weight"] + + buy_params["upwards_trend_adx_strong_up_buy_weight"], + 'bollinger_bands': + buy_params["downwards_trend_bollinger_bands_buy_weight"] + + buy_params["sideways_trend_bollinger_bands_buy_weight"] + + buy_params["upwards_trend_bollinger_bands_buy_weight"], + 'ema_long_golden_cross': + buy_params["downwards_trend_ema_long_golden_cross_buy_weight"] + + buy_params["sideways_trend_ema_long_golden_cross_buy_weight"] + + buy_params["upwards_trend_ema_long_golden_cross_buy_weight"], + 'ema_short_golden_cross': + buy_params["downwards_trend_ema_short_golden_cross_buy_weight"] + + buy_params["sideways_trend_ema_short_golden_cross_buy_weight"] + + buy_params["upwards_trend_ema_short_golden_cross_buy_weight"], + 'macd': + buy_params["downwards_trend_macd_buy_weight"] + + buy_params["sideways_trend_macd_buy_weight"] + + buy_params["upwards_trend_macd_buy_weight"], + 'rsi': + buy_params["downwards_trend_rsi_buy_weight"] + + buy_params["sideways_trend_rsi_buy_weight"] + + buy_params["upwards_trend_rsi_buy_weight"], + 'sma_long_golden_cross': + buy_params["downwards_trend_sma_long_golden_cross_buy_weight"] + + buy_params["sideways_trend_sma_long_golden_cross_buy_weight"] + + buy_params["upwards_trend_sma_long_golden_cross_buy_weight"], + 'sma_short_golden_cross': + buy_params["downwards_trend_sma_short_golden_cross_buy_weight"] + + buy_params["sideways_trend_sma_short_golden_cross_buy_weight"] + + buy_params["upwards_trend_sma_short_golden_cross_buy_weight"], + 'vwap_cross': + buy_params["downwards_trend_vwap_cross_buy_weight"] + + buy_params["sideways_trend_vwap_cross_buy_weight"] + + buy_params["upwards_trend_vwap_cross_buy_weight"] + +} + +total_overall_sell_weights = { + 'adx_strong_down': + (sell_params["downwards_trend_adx_strong_down_sell_weight"] + + sell_params["sideways_trend_adx_strong_down_sell_weight"] + + sell_params["upwards_trend_adx_strong_down_sell_weight"]) / 3, + 'bollinger_bands': + (sell_params["downwards_trend_bollinger_bands_sell_weight"] + + sell_params["sideways_trend_bollinger_bands_sell_weight"] + + sell_params["upwards_trend_bollinger_bands_sell_weight"]) / 3, + 'ema_long_death_cross': + (sell_params["downwards_trend_ema_long_death_cross_sell_weight"] + + sell_params["sideways_trend_ema_long_death_cross_sell_weight"] + + sell_params["upwards_trend_ema_long_death_cross_sell_weight"]) / 3, + 'ema_short_death_cross': + (sell_params["downwards_trend_ema_short_death_cross_sell_weight"] + + sell_params["sideways_trend_ema_short_death_cross_sell_weight"] + + sell_params["upwards_trend_ema_short_death_cross_sell_weight"]) / 3, + 'macd': + (sell_params["downwards_trend_macd_sell_weight"] + + sell_params["sideways_trend_macd_sell_weight"] + + sell_params["upwards_trend_macd_sell_weight"]) / 3, + 'rsi': + (sell_params["downwards_trend_rsi_sell_weight"] + + sell_params["sideways_trend_rsi_sell_weight"] + + sell_params["upwards_trend_rsi_sell_weight"]) / 3, + 'sma_long_death_cross': + (sell_params["downwards_trend_sma_long_death_cross_sell_weight"] + + sell_params["sideways_trend_sma_long_death_cross_sell_weight"] + + sell_params["upwards_trend_sma_long_death_cross_sell_weight"]) / 3, + 'sma_short_death_cross': + (sell_params["downwards_trend_sma_short_death_cross_sell_weight"] + + sell_params["sideways_trend_sma_short_death_cross_sell_weight"] + + sell_params["upwards_trend_sma_short_death_cross_sell_weight"]) / 3, + 'vwap_cross': + (sell_params["downwards_trend_vwap_cross_sell_weight"] + + sell_params["sideways_trend_vwap_cross_sell_weight"] + + sell_params["upwards_trend_vwap_cross_sell_weight"]) / 3 +} + +total_overall_weights = { + 'adx_strong_up_down': + (total_overall_buy_weights["adx_strong_up"] + total_overall_sell_weights["adx_strong_down"]) / 2, + 'bollinger_bands': + (total_overall_buy_weights["bollinger_bands"] + total_overall_sell_weights["bollinger_bands"]) / 2, + 'ema_long_golden_death_cross': + (total_overall_buy_weights["ema_long_golden_cross"] + total_overall_sell_weights["ema_long_death_cross"]) / 2, + 'ema_short_golden_death_cross': + (total_overall_buy_weights["ema_short_golden_cross"] + total_overall_sell_weights["ema_short_death_cross"]) / 2, + 'macd': + (total_overall_buy_weights["macd"] + total_overall_sell_weights["macd"]) / 2, + 'rsi': + (total_overall_buy_weights["rsi"] + total_overall_sell_weights["rsi"]) / 2, + 'sma_long_golden_death_cross': + (total_overall_buy_weights["sma_long_golden_cross"] + total_overall_sell_weights["sma_long_death_cross"]) / 2, + 'sma_short_golden_death_cross': + (total_overall_buy_weights["sma_short_golden_cross"] + total_overall_sell_weights["sma_short_death_cross"]) / 2, + 'vwap_cross': + (total_overall_buy_weights["vwap_cross"] + total_overall_sell_weights["vwap_cross"]) / 2 +} + +initial_offset = 40 +print("Total Overall Signal Importance:") +print("--------------------------------") +for signal, importance in total_overall_weights.items(): + offset = '{:<1s}{:>' + str(initial_offset - len(str(signal))) + 's}' + print(offset.format(str(signal) + ":", str(round(importance, 2)) + "%")) +print("") +print("Total Overall Buy Signal Importance:") +print("------------------------------------") +for signal, importance in total_overall_buy_weights.items(): + offset = '{:<1s}{:>' + str(initial_offset - len(str(signal))) + 's}' + print(offset.format(str(signal) + ":", str(round(importance, 2)) + "%")) +print("") +print("Total Overall Sell Signal Importance:") +print("-------------------------------------") +for signal, importance in total_overall_sell_weights.items(): + offset = '{:<1s}{:>' + str(initial_offset - len(str(signal))) + 's}' + print(offset.format(str(signal) + ":", str(round(importance, 2)) + "%")) diff --git a/user_data/config.json b/user_data/config.json index ccb2e0856..c41ca0bcb 100644 --- a/user_data/config.json +++ b/user_data/config.json @@ -121,7 +121,7 @@ "username": "", "password": "" }, - "bot_name": "Freqtrade - MoniGoMani v0.4.1", + "bot_name": "Freqtrade - MoniGoMani v0.7.1", "initial_state": "running", "forcebuy_enable": false, "internals": { diff --git a/user_data/hyperopt_results/strategy_MoniGoMani_hyperopt_results_2021-03-31_23-35-28.pickle b/user_data/hyperopt_results/strategy_MoniGoMani_hyperopt_results_2021-03-31_23-35-28.pickle new file mode 100644 index 000000000..5b20d3292 Binary files /dev/null and b/user_data/hyperopt_results/strategy_MoniGoMani_hyperopt_results_2021-03-31_23-35-28.pickle differ diff --git a/user_data/hyperopts/MoniGoManiHyperOpt.py b/user_data/hyperopts/MoniGoManiHyperOpt.py index 3785df028..2465ce310 100644 --- a/user_data/hyperopts/MoniGoManiHyperOpt.py +++ b/user_data/hyperopts/MoniGoManiHyperOpt.py @@ -19,7 +19,7 @@ class MoniGoManiHyperOpt(IHyperOpt): """ #################################################################################### #### #### - ### MoniGoManiHyperOpt for v0.7.0 by Rikj000 ### + ### MoniGoManiHyperOpt for v0.7.1 by Rikj000 ### #### #### #################################################################################### diff --git a/user_data/strategies/MoniGoMani.py b/user_data/strategies/MoniGoMani.py index d67687592..d7b922484 100644 --- a/user_data/strategies/MoniGoMani.py +++ b/user_data/strategies/MoniGoMani.py @@ -19,7 +19,7 @@ class MoniGoMani(IStrategy): """ #################################################################################### #### #### - ### MoniGoMani v0.7.0 by Rikj000 ### + ### MoniGoMani v0.7.1 by Rikj000 ### ## ---------------------------- ## # Isn't that what we all want? Our money to go many? # # Well that's what this Freqtrade strategy hopes to do for you! # diff --git a/user_data/strategies/MoniGoManiHyperOpted.py b/user_data/strategies/MoniGoManiHyperOpted.py index cc4467f0a..8bb216612 100644 --- a/user_data/strategies/MoniGoManiHyperOpted.py +++ b/user_data/strategies/MoniGoManiHyperOpted.py @@ -19,7 +19,7 @@ class MoniGoManiHyperOpted(IStrategy): """ #################################################################################### #### #### - ### MoniGoMani v0.7.0 HyperOpted by Rikj000 (30-03-2021) ### + ### MoniGoMani v0.7.1 HyperOpted by Rikj000 (01-04-2021) ### ## ---------------------------------------------------- ## # Isn't that what we all want? Our money to go many? # # Well that's what this Freqtrade strategy hopes to do for you! # @@ -65,79 +65,79 @@ class MoniGoManiHyperOpted(IStrategy): # Buy hyperspace params: buy_params = { - '.trade_buys_when_downwards': False, + '.trade_buys_when_downwards': True, '.trade_buys_when_sideways': False, '.trade_buys_when_upwards': True, - '_downwards_trend_total_buy_signal_needed': 76, - '_sideways_trend_total_buy_signal_needed': 8, - '_upwards_trend_total_buy_signal_needed': 2, - 'downwards_trend_adx_strong_up_buy_weight': 81, - 'downwards_trend_bollinger_bands_buy_weight': 66, - 'downwards_trend_ema_long_golden_cross_buy_weight': 50, - 'downwards_trend_ema_short_golden_cross_buy_weight': 51, - 'downwards_trend_macd_buy_weight': 24, - 'downwards_trend_rsi_buy_weight': 28, - 'downwards_trend_sma_long_golden_cross_buy_weight': 1, - 'downwards_trend_sma_short_golden_cross_buy_weight': 74, - 'downwards_trend_vwap_cross_buy_weight': 73, - 'sideways_trend_adx_strong_up_buy_weight': 7, - 'sideways_trend_bollinger_bands_buy_weight': 68, - 'sideways_trend_ema_long_golden_cross_buy_weight': 43, - 'sideways_trend_ema_short_golden_cross_buy_weight': 16, - 'sideways_trend_macd_buy_weight': 1, - 'sideways_trend_rsi_buy_weight': 19, - 'sideways_trend_sma_long_golden_cross_buy_weight': 4, - 'sideways_trend_sma_short_golden_cross_buy_weight': 8, - 'sideways_trend_vwap_cross_buy_weight': 28, - 'upwards_trend_adx_strong_up_buy_weight': 73, - 'upwards_trend_bollinger_bands_buy_weight': 39, - 'upwards_trend_ema_long_golden_cross_buy_weight': 75, - 'upwards_trend_ema_short_golden_cross_buy_weight': 65, - 'upwards_trend_macd_buy_weight': 33, - 'upwards_trend_rsi_buy_weight': 9, - 'upwards_trend_sma_long_golden_cross_buy_weight': 50, - 'upwards_trend_sma_short_golden_cross_buy_weight': 46, - 'upwards_trend_vwap_cross_buy_weight': 33 + '_downwards_trend_total_buy_signal_needed': 70, + '_sideways_trend_total_buy_signal_needed': 35, + '_upwards_trend_total_buy_signal_needed': 97, + 'downwards_trend_adx_strong_up_buy_weight': 47, + 'downwards_trend_bollinger_bands_buy_weight': 47, + 'downwards_trend_ema_long_golden_cross_buy_weight': 4, + 'downwards_trend_ema_short_golden_cross_buy_weight': 13, + 'downwards_trend_macd_buy_weight': 92, + 'downwards_trend_rsi_buy_weight': 64, + 'downwards_trend_sma_long_golden_cross_buy_weight': 94, + 'downwards_trend_sma_short_golden_cross_buy_weight': 37, + 'downwards_trend_vwap_cross_buy_weight': 41, + 'sideways_trend_adx_strong_up_buy_weight': 75, + 'sideways_trend_bollinger_bands_buy_weight': 40, + 'sideways_trend_ema_long_golden_cross_buy_weight': 37, + 'sideways_trend_ema_short_golden_cross_buy_weight': 74, + 'sideways_trend_macd_buy_weight': 30, + 'sideways_trend_rsi_buy_weight': 81, + 'sideways_trend_sma_long_golden_cross_buy_weight': 73, + 'sideways_trend_sma_short_golden_cross_buy_weight': 67, + 'sideways_trend_vwap_cross_buy_weight': 48, + 'upwards_trend_adx_strong_up_buy_weight': 98, + 'upwards_trend_bollinger_bands_buy_weight': 15, + 'upwards_trend_ema_long_golden_cross_buy_weight': 27, + 'upwards_trend_ema_short_golden_cross_buy_weight': 24, + 'upwards_trend_macd_buy_weight': 99, + 'upwards_trend_rsi_buy_weight': 1, + 'upwards_trend_sma_long_golden_cross_buy_weight': 62, + 'upwards_trend_sma_short_golden_cross_buy_weight': 82, + 'upwards_trend_vwap_cross_buy_weight': 79 } # Sell hyperspace params: sell_params = { - '.trade_sells_when_downwards': False, - '.trade_sells_when_sideways': False, - '.trade_sells_when_upwards': True, - '_downwards_trend_total_sell_signal_needed': 83, - '_sideways_trend_total_sell_signal_needed': 58, - '_upwards_trend_total_sell_signal_needed': 88, - 'downwards_trend_adx_strong_down_sell_weight': 72, - 'downwards_trend_bollinger_bands_sell_weight': 40, - 'downwards_trend_ema_long_death_cross_sell_weight': 79, - 'downwards_trend_ema_short_death_cross_sell_weight': 1, - 'downwards_trend_macd_sell_weight': 57, - 'downwards_trend_rsi_sell_weight': 22, - 'downwards_trend_sma_long_death_cross_sell_weight': 60, - 'downwards_trend_sma_short_death_cross_sell_weight': 84, - 'downwards_trend_vwap_cross_sell_weight': 52, - 'sideways_trend_adx_strong_down_sell_weight': 15, - 'sideways_trend_bollinger_bands_sell_weight': 26, - 'sideways_trend_ema_long_death_cross_sell_weight': 61, - 'sideways_trend_ema_short_death_cross_sell_weight': 72, - 'sideways_trend_macd_sell_weight': 89, - 'sideways_trend_rsi_sell_weight': 69, - 'sideways_trend_sma_long_death_cross_sell_weight': 86, - 'sideways_trend_sma_short_death_cross_sell_weight': 23, - 'sideways_trend_vwap_cross_sell_weight': 83, - 'upwards_trend_adx_strong_down_sell_weight': 74, - 'upwards_trend_bollinger_bands_sell_weight': 62, - 'upwards_trend_ema_long_death_cross_sell_weight': 71, - 'upwards_trend_ema_short_death_cross_sell_weight': 53, - 'upwards_trend_macd_sell_weight': 54, - 'upwards_trend_rsi_sell_weight': 72, - 'upwards_trend_sma_long_death_cross_sell_weight': 81, - 'upwards_trend_sma_short_death_cross_sell_weight': 61, - 'upwards_trend_vwap_cross_sell_weight': 99 + '.trade_sells_when_downwards': True, + '.trade_sells_when_sideways': True, + '.trade_sells_when_upwards': False, + '_downwards_trend_total_sell_signal_needed': 91, + '_sideways_trend_total_sell_signal_needed': 79, + '_upwards_trend_total_sell_signal_needed': 90, + 'downwards_trend_adx_strong_down_sell_weight': 42, + 'downwards_trend_bollinger_bands_sell_weight': 84, + 'downwards_trend_ema_long_death_cross_sell_weight': 85, + 'downwards_trend_ema_short_death_cross_sell_weight': 75, + 'downwards_trend_macd_sell_weight': 12, + 'downwards_trend_rsi_sell_weight': 0, + 'downwards_trend_sma_long_death_cross_sell_weight': 12, + 'downwards_trend_sma_short_death_cross_sell_weight': 100, + 'downwards_trend_vwap_cross_sell_weight': 83, + 'sideways_trend_adx_strong_down_sell_weight': 19, + 'sideways_trend_bollinger_bands_sell_weight': 85, + 'sideways_trend_ema_long_death_cross_sell_weight': 45, + 'sideways_trend_ema_short_death_cross_sell_weight': 96, + 'sideways_trend_macd_sell_weight': 92, + 'sideways_trend_rsi_sell_weight': 13, + 'sideways_trend_sma_long_death_cross_sell_weight': 100, + 'sideways_trend_sma_short_death_cross_sell_weight': 34, + 'sideways_trend_vwap_cross_sell_weight': 13, + 'upwards_trend_adx_strong_down_sell_weight': 22, + 'upwards_trend_bollinger_bands_sell_weight': 95, + 'upwards_trend_ema_long_death_cross_sell_weight': 79, + 'upwards_trend_ema_short_death_cross_sell_weight': 20, + 'upwards_trend_macd_sell_weight': 56, + 'upwards_trend_rsi_sell_weight': 82, + 'upwards_trend_sma_long_death_cross_sell_weight': 41, + 'upwards_trend_sma_short_death_cross_sell_weight': 53, + 'upwards_trend_vwap_cross_sell_weight': 91 } - # Legacy parameters, no need to modify these by hand anymore, thanks @s0undt3ch! + # Legacy parameters, no need to modify these by hand anymore, thanks @C9H13NO3-dev! # Now you can easily copy/paste the results from hyperopt in the 2 arrays above trend = { 'downwards': { @@ -245,21 +245,21 @@ class MoniGoManiHyperOpted(IStrategy): # Minimal ROI designed for the strategy. # This attribute will be overridden if the config file contains "minimal_roi". minimal_roi = { - "0": 0.29026, - "231": 0.19968, - "500": 0.0587, - "1246": 0 + "0": 0.30588, + "142": 0.20322, + "847": 0.06578, + "1218": 0 } # Optimal stoploss designed for the strategy. # This attribute will be overridden if the config file contains "stoploss". - stoploss = -0.13225 + stoploss = -0.24019 # Trailing stop: trailing_stop = True - trailing_stop_positive = 0.01083 - trailing_stop_positive_offset = 0.02839 - trailing_only_offset_is_reached = True + trailing_stop_positive = 0.01184 + trailing_stop_positive_offset = 0.03793 + trailing_only_offset_is_reached = False # Optimal timeframe for the strategy. timeframe = '1h'