第17篇:想加仓、减仓?Freqtrade仓位调整机制一网打尽在实际交易中,灵活调整仓位、实现多次分批买入卖出是提升收益和控制风险的重要手段。Freqtrade支持动态仓位调整和多次入场机制,帮助策略实现加仓、减仓等进阶操作。本篇详细介绍相关参数及示例。🚀想学量化交易?👉点击访问
在实际交易中,灵活调整仓位、实现多次分批买入卖出是提升收益和控制风险的重要手段。Freqtrade 支持动态仓位调整和多次入场机制,帮助策略实现加仓、减仓等进阶操作。本篇详细介绍相关参数及示例。
👉 点击访问:https://www.itrade.icu 这里有 Freqtrade 基础教程、策略实战、指标解析 等丰富内容,助你轻松掌握量化交易技巧!
ignore_roi_if_entry_signal
控制当策略已持仓并再次发出买入信号时,是否忽略 minimal_roi
的止盈规则。启用后,策略在出现新入场信号时将忽略当前的 ROI 止盈设置,从而可能延长持仓时间。默认值为False
。
当该参数设置为 True
时:
当该参数设置为 False
(默认值)时:
ignore_roi_if_entry_signal = True
使用场景:
graph TD
A[当前持仓中] --> B{ROI 达到?}
B -->|是| C{exit_signal = 1?}
C -->|是| D{exit_profit_only?}
D -->|是| E{当前是否盈利?}
E -->|是| F[✅ 平仓]
E -->|否| G[❌ 不平仓]
D -->|否| F
C -->|否| H{是否使用 ROI 自动平仓?}
H -->|是| F
H -->|否| G
position_adjustment_enable
控制是否启用自定义仓位调整功能。
position_adjustment_enable = True
def adjust_trade_position(self, trade, current_time, current_rate, current_profit, **kwargs) -> Optional[float]:
"""自定义加仓"""
# 此处代码 无限加仓
if current_profit > 0.10: # 上涨10% 加仓
# 加仓 10 USDT
return 10.0
return None
def adjust_trade_position(self, trade, current_time, current_rate, current_profit, **kwargs) -> Optional[float]:
"""自定义减仓"""
if current_profit < -0.03:
# 减仓 50%(负值表示减仓)
current_stake = trade.stake_amount
return -current_stake * 0.5
return None
adjust_trade_position()
配合使用max_entry_position_adjustment = 3
该函数用于实现仓位的具体调整逻辑,比如判断当前持仓大小,决定是否加仓或减仓。
def adjust_trade_position(self, trade, current_time, current_rate, current_profit, **kwargs) -> float:
"""
返回值是调整后的仓位比例(0~1),比如 0.5 表示调整为50%仓位。
示例逻辑:
- 初始开仓为 30% 仓位
- 每次满足加仓信号时,增加 20%
- 最大仓位不超过 100%
"""
current_position = trade.amount / trade.stake_amount if trade.stake_amount else 0
# 假设有一个自定义信号判断是否加仓
if self.should_add_position(trade, current_time):
new_position = min(current_position + 0.2, 1.0) # 加仓20%,最高100%
return new_position
else:
return current_position # 不调整
参数名 | 功能描述 | 推荐默认值 / 说明 |
---|---|---|
ignore_roi_if_entry_signal |
忽略 ROI 限制,优先响应开仓信号 | True 方便多次加仓 |
position_adjustment_enable |
启用仓位动态调整功能 | True 开启后需实现调整函数 |
max_entry_position_adjustment |
每笔交易最大加仓次数限制 | 3 具体根据策略风险管理调整 |
adjust_trade_position() |
自定义仓位调整逻辑函数 | 需实现并返回目标仓位比例 |
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!