尝试使用一次函数, 不再使用反正切函数
This commit is contained in:
parent
b0173e9a09
commit
7aa5697d72
@ -37,6 +37,7 @@
|
||||
"exit_bb_upper_deviation": 0.98,
|
||||
"exit_volume_multiplier": 1.5,
|
||||
"roi_param_a": -0.0001,
|
||||
"roi_param_k": 50,
|
||||
"roi_param_t": 0.06,
|
||||
"rsi_overbought": 55
|
||||
},
|
||||
|
||||
@ -106,9 +106,10 @@ class FreqaiPrimer(IStrategy):
|
||||
add_position_callback = DecimalParameter(0.03, 0.06, decimals=3, default=0.047, optimize=True, load=True, space='buy') # 加仓回调百分比
|
||||
stake_divisor = IntParameter(2, 4, default=2, optimize=False, load=True, space='buy') # 加仓金额分母
|
||||
|
||||
# 线性ROI参数 - 用于线性函数: y = (a * x) + t
|
||||
# 线性ROI参数 - 用于线性函数: y = (a * (x + k)) + t
|
||||
roi_param_a = DecimalParameter(-0.0002, -0.00005, decimals=5, default=-0.0001, optimize=True, load=True, space='sell') # 系数a
|
||||
roi_param_t = DecimalParameter(0.04, 0.08, decimals=3, default=0.06, optimize=True, load=True, space='sell') # 常数项t
|
||||
roi_param_k = IntParameter(20, 150, default=50, optimize=True, load=True, space='sell') # 偏移量k
|
||||
roi_param_t = DecimalParameter(0.02, 0.18, decimals=3, default=0.06, optimize=True, load=True, space='sell') # 常数项t
|
||||
# 出场条件阈值参数
|
||||
exit_bb_upper_deviation = DecimalParameter(0.98, 1.02, decimals=2, default=1.0, optimize=True, load=True, space='sell')
|
||||
exit_volume_multiplier = DecimalParameter(1.5, 3.0, decimals=1, default=2.0, optimize=True, load=True, space='sell')
|
||||
@ -556,11 +557,12 @@ class FreqaiPrimer(IStrategy):
|
||||
if trade_age_minutes < 0:
|
||||
trade_age_minutes = 0
|
||||
|
||||
# 使用可优化的线性函数: y = (a * x) + t
|
||||
# 使用可优化的线性函数: y = (a * (x + k)) + t
|
||||
a = self.roi_param_a.value # 系数a (可优化参数)
|
||||
k = self.roi_param_k.value # 偏移量k (可优化参数)
|
||||
t = self.roi_param_t.value # 常数项t (可优化参数)
|
||||
|
||||
dynamic_roi_threshold = (a * trade_age_minutes) + t
|
||||
dynamic_roi_threshold = (a * (trade_age_minutes + k)) + t
|
||||
# 确保ROI阈值不小于0
|
||||
if dynamic_roi_threshold < 0:
|
||||
dynamic_roi_threshold = 0.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user