Repository: freqtrade/freqtrade

Issue:
Hyperopt "*" documentation missing
##  Describe your environment

  * Operating system: linux
  * Python Version: 3.8 (`python -V`)
  * Branch: Develop
  * Last Commit ID: _____ (`git log --format="%H" -n 1`)
  
## Step 3: Describe the problem:

Hyperopt seems to be missing some documentation on the output

```
|      * |  29/100 |      203 |       -0.23% |  -14.14131522 EUR  (-47.06%) |        975.4 m |     1.63287 |
|      * |  30/100 |      341 |       -0.06% |   -6.45652649 EUR  (-21.49%) |        813.3 m |     1.01234 |
|        |  31/100 |       98 |       -0.15% |   -4.43386576 EUR  (-14.76%) |      1,006.4 m |     0.87129 |
|        |  32/100 |      269 |       -0.27% |  -22.11507233 EUR  (-73.60%) |        911.6 m |     2.43913 |
|        |  33/100 |       84 |        0.44% |   11.06498872 EUR   (36.82%) |      1,115.2 m |    -2.67429 |
|        |  34/100 |       20 |        1.05% |    6.33521284 EUR   (21.08%) |        724.0 m |     -5.0948 |
|        |  35/100 |      156 |        0.32% |   15.20299179 EUR   (50.60%) |        983.3 m |    -2.14092 |
|        |  36/100 |       82 |        0.40% |    9.81315661 EUR   (32.66%) |        984.0 m |    -2.06038 |
|        |  37/100 |        1 |        7.01% |    2.10689675 EUR    (7.01%) |        895.0 m |          20 |
|        |  38/100 |      190 |        0.01% |    0.37267920 EUR    (1.24%) |      1,062.6 m |     0.38178 |
|        |  39/100 |      216 |        0.03% |    2.19318845 EUR    (7.30%) |        927.2 m |     0.14849 |
|        |  40/100 |       38 |        0.45% |    5.13091201 EUR   (17.08%) |        880.0 m |    -2.50992 |
|        |  41/100 |        6 |        0.95% |    1.70493724 EUR    (5.67%) |        876.7 m |    -2.21451 |
|        |  42/100 |        2 |       -2.01% |   -1.20769484 EUR   (-4.02%) |        567.5 m |     1.69743 |
|   Best |  43/100 |       16 |        2.12% |   10.18053277 EUR   (33.88%) |        967.2 m |    -13.6318 |


```

What's the difference between `*` and non-star in the first column?
I can understand best, but the * is not clear (and i struggle to find it in the documentation)


Hyperopt "*" documentation missing
##  Describe your environment

  * Operating system: linux
  * Python Version: 3.8 (`python -V`)
  * Branch: Develop
  * Last Commit ID: _____ (`git log --format="%H" -n 1`)
  
## Step 3: Describe the problem:

Hyperopt seems to be missing some documentation on the output

```
|      * |  29/100 |      203 |       -0.23% |  -14.14131522 EUR  (-47.06%) |        975.4 m |     1.63287 |
|      * |  30/100 |      341 |       -0.06% |   -6.45652649 EUR  (-21.49%) |        813.3 m |     1.01234 |
|        |  31/100 |       98 |       -0.15% |   -4.43386576 EUR  (-14.76%) |      1,006.4 m |     0.87129 |
|        |  32/100 |      269 |       -0.27% |  -22.11507233 EUR  (-73.60%) |        911.6 m |     2.43913 |
|        |  33/100 |       84 |        0.44% |   11.06498872 EUR   (36.82%) |      1,115.2 m |    -2.67429 |
|        |  34/100 |       20 |        1.05% |    6.33521284 EUR   (21.08%) |        724.0 m |     -5.0948 |
|        |  35/100 |      156 |        0.32% |   15.20299179 EUR   (50.60%) |        983.3 m |    -2.14092 |
|        |  36/100 |       82 |        0.40% |    9.81315661 EUR   (32.66%) |        984.0 m |    -2.06038 |
|        |  37/100 |        1 |        7.01% |    2.10689675 EUR    (7.01%) |        895.0 m |          20 |
|        |  38/100 |      190 |        0.01% |    0.37267920 EUR    (1.24%) |      1,062.6 m |     0.38178 |
|        |  39/100 |      216 |        0.03% |    2.19318845 EUR    (7.30%) |        927.2 m |     0.14849 |
|        |  40/100 |       38 |        0.45% |    5.13091201 EUR   (17.08%) |        880.0 m |    -2.50992 |
|        |  41/100 |        6 |        0.95% |    1.70493724 EUR    (5.67%) |        876.7 m |    -2.21451 |
|        |  42/100 |        2 |       -2.01% |   -1.20769484 EUR   (-4.02%) |        567.5 m |     1.69743 |
|   Best |  43/100 |       16 |        2.12% |   10.18053277 EUR   (33.88%) |        967.2 m |    -13.6318 |


```

What's the difference between `*` and non-star in the first column?
I can understand best, but the * is not clear (and i struggle to find it in the documentation)




Discussion:
> The search for optimal parameters starts with a few (currently 30) random combinations in the hyperspace of parameters, random Hyperopt epochs. These random epochs are marked with a leading asterisk sign at the Hyperopt output.

-- maybe 'at the first column' should be added here to reflect new tabular output

Do not close it though anyway, I'll refine the hyperopt doc a bit as a PR which addresses this issue
> Do not close it though anyway, I'll refine the hyperopt doc a bit as a PR which addresses this issue

that's what i was hoping for ;) 
> The search for optimal parameters starts with a few (currently 30) random combinations in the hyperspace of parameters, random Hyperopt epochs. These random epochs are marked with a leading asterisk sign at the Hyperopt output.

-- maybe 'at the first column' should be added here to reflect new tabular output

Do not close it though anyway, I'll refine the hyperopt doc a bit as a PR which addresses this issue
> Do not close it though anyway, I'll refine the hyperopt doc a bit as a PR which addresses this issue

that's what i was hoping for ;) 

Resolving patch:
diff --git a/freqtrade/optimize/hyperopt.py b/freqtrade/optimize/hyperopt.py
--- a/freqtrade/optimize/hyperopt.py
+++ b/freqtrade/optimize/hyperopt.py
@@ -304,8 +304,9 @@ def get_result_table(config: dict, results: list, total_epochs: int, highlight_b
         trials.columns = ['Best', 'Epoch', 'Trades', 'Avg profit', 'Total profit',
                           'Profit', 'Avg duration', 'Objective', 'is_initial_point', 'is_best']
         trials['is_profit'] = False
-        trials.loc[trials['is_initial_point'], 'Best'] = '*'
+        trials.loc[trials['is_initial_point'], 'Best'] = '*     '
         trials.loc[trials['is_best'], 'Best'] = 'Best'
+        trials.loc[trials['is_initial_point'] & trials['is_best'], 'Best'] = '* Best'
         trials.loc[trials['Total profit'] > 0, 'is_profit'] = True
         trials['Trades'] = trials['Trades'].astype(str)
 
@@ -396,6 +397,7 @@ def export_csv_file(config: dict, results: list, total_epochs: int, highlight_be
         trials['is_profit'] = False
         trials.loc[trials['is_initial_point'], 'Best'] = '*'
         trials.loc[trials['is_best'], 'Best'] = 'Best'
+        trials.loc[trials['is_initial_point'] & trials['is_best'], 'Best'] = '* Best'
         trials.loc[trials['Total profit'] > 0, 'is_profit'] = True
         trials['Epoch'] = trials['Epoch'].astype(str)
         trials['Trades'] = trials['Trades'].astype(str)


Test patch: