Skip to content

Commit eaf6abe

Browse files
committed
fix: DecimalParameter shouldn't have floating point errors
closes freqtrade#12152
1 parent b4796cb commit eaf6abe

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

freqtrade/strategy/parameters.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,6 @@ def get_space(self, name: str) -> "Real":
225225

226226
class DecimalParameter(NumericParameter):
227227
default: float
228-
value: float
229228

230229
def __init__(
231230
self,
@@ -259,6 +258,14 @@ def __init__(
259258
low=low, high=high, default=default, space=space, optimize=optimize, load=load, **kwargs
260259
)
261260

261+
@property
262+
def value(self) -> float:
263+
return self._value
264+
265+
@value.setter
266+
def value(self, new_value: float):
267+
self._value = round(new_value, self._decimals)
268+
262269
def get_space(self, name: str) -> "SKDecimal":
263270
"""
264271
Create optimization space.

0 commit comments

Comments
 (0)