@staticmethod
@lru_cache(maxsize=128)
- def get_stoploss_log_factor(trade_duration_candles: int) -> float:
- return 1 / math.log10(2.0 + 0.25 * trade_duration_candles)
+ def get_stoploss_factor(trade_duration_candles: int) -> float:
+ return 2.75 / (1.2675 + math.atan(0.25 * trade_duration_candles))
def get_stoploss_distance(
self,
current_rate
* (trade_natr / 100.0)
* self.get_label_natr_ratio_percent(trade.pair, natr_ratio_percent)
- * QuickAdapterV3.get_stoploss_log_factor(
- trade_duration_candles + int(round(trade.nr_of_successful_exits**1.25))
+ * QuickAdapterV3.get_stoploss_factor(
+ trade_duration_candles + int(round(trade.nr_of_successful_exits**1.5))
)
)
@staticmethod
@lru_cache(maxsize=128)
- def get_take_profit_log_factor(trade_duration_candles: int) -> float:
+ def get_take_profit_factor(trade_duration_candles: int) -> float:
return math.log10(9.75 + 0.25 * trade_duration_candles)
def get_take_profit_distance(
trade.open_rate
* (trade_natr / 100.0)
* self.get_label_natr_ratio_percent(trade.pair, natr_ratio_percent)
- * QuickAdapterV3.get_take_profit_log_factor(trade_duration_candles)
+ * QuickAdapterV3.get_take_profit_factor(trade_duration_candles)
)
def throttle_callback(
rate: float,
min_natr_ratio_percent: float = 0.00999,
max_natr_ratio_percent: float = 0.099,
- lookback_period: int = 0,
+ lookback_period: int = 1,
decay_ratio: float = 0.9,
) -> bool:
"""