| @@ -78,7 +78,7 @@ This function needs to return a floating point number (`float`). Smaller numbers | ||||
| To override a pre-defined space (`roi_space`, `generate_roi_table`, `stoploss_space`, `trailing_space`), define a nested class called Hyperopt and define the required spaces as follows: | ||||
|  | ||||
| ```python | ||||
| from freqtrade.optimize.space import Integer, SKDecimal | ||||
| from freqtrade.optimize.space import Categorical, Dimension, Integer, SKDecimal | ||||
|  | ||||
| class MyAwesomeStrategy(IStrategy): | ||||
|     class HyperOpt: | ||||
| @@ -96,6 +96,33 @@ class MyAwesomeStrategy(IStrategy): | ||||
|                 SKDecimal(0.01, 0.07, decimals=3, name='roi_p2'), | ||||
|                 SKDecimal(0.01, 0.20, decimals=3, name='roi_p3'), | ||||
|             ] | ||||
|  | ||||
|         def generate_roi_table(params: Dict) -> Dict[int, float]: | ||||
|  | ||||
|             roi_table = {} | ||||
|             roi_table[0] = params['roi_p1'] + params['roi_p2'] + params['roi_p3'] | ||||
|             roi_table[params['roi_t3']] = params['roi_p1'] + params['roi_p2'] | ||||
|             roi_table[params['roi_t3'] + params['roi_t2']] = params['roi_p1'] | ||||
|             roi_table[params['roi_t3'] + params['roi_t2'] + params['roi_t1']] = 0 | ||||
|  | ||||
|             return roi_table | ||||
|  | ||||
|         def trailing_space() -> List[Dimension]: | ||||
|             # All parameters here are mandatory, you can only modify their type or the range. | ||||
|             return [ | ||||
|                 # Fixed to true, if optimizing trailing_stop we assume to use trailing stop at all times. | ||||
|                 Categorical([True], name='trailing_stop'), | ||||
|  | ||||
|                 SKDecimal(0.01, 0.35, decimals=3, name='trailing_stop_positive'), | ||||
|                 # 'trailing_stop_positive_offset' should be greater than 'trailing_stop_positive', | ||||
|                 # so this intermediate parameter is used as the value of the difference between | ||||
|                 # them. The value of the 'trailing_stop_positive_offset' is constructed in the | ||||
|                 # generate_trailing_params() method. | ||||
|                 # This is similar to the hyperspace dimensions used for constructing the ROI tables. | ||||
|                 SKDecimal(0.001, 0.1, decimals=3, name='trailing_stop_positive_offset_p1'), | ||||
|  | ||||
|                 Categorical([True, False], name='trailing_only_offset_is_reached'), | ||||
|         ] | ||||
| ``` | ||||
|  | ||||
| !!! Note | ||||
|   | ||||
		Reference in New Issue
	
	Block a user