news 2026/6/23 17:49:43

第32篇:不是信号就下单?99% 的量化亏在这里!教你用一招拒绝亏损买入,Freqtrade自动量化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第32篇:不是信号就下单?99% 的量化亏在这里!教你用一招拒绝亏损买入,Freqtrade自动量化

第32篇:不是信号就下单?99% 的量化亏在这里!教你用一招拒绝亏损买入,Freqtrade自动量化

在量化策略中,生成买入或卖出信号只是交易的第一步,真正执行交易还需要再经过多重检验。
Freqtrade 框架中提供了两个关键函数:

  • confirm_trade_entry
  • confirm_trade_exit

它们负责在策略判定买卖信号后,做“最终确认”,决定是否真的执行这笔交易。相当于“交易的安全阀”,防止因为信号误判、行情异常或仓位风险带来损失。


🚀 想学量化交易?

👉点击访问:https://itrade.icu
这里有Freqtrade 基础教程策略源码指标解析等丰富内容,助你轻松掌握量化交易技巧!

📈 1. confirm_trade_entry:买入信号的终极过滤器

功能

confirm_trade_entry是在策略产生买入信号后,实际执行买单前调用的函数。
它接收当前交易环境信息,返回是否确认下单。

这个函数主要用途:

  • 风险控制:比如防止高价买入、控制最大持仓数量。
  • 信号再验证:用更严格的条件确认买入合理性。
  • 动态策略调整:结合资金状况或行情,动态拒绝买入。

参数详解

defconfirm_trade_entry(self,pair:str,trade:Trade,order_type:str,amount:float,price:float,current_time:datetime,**kwargs)->bool:""" pair: 交易对名称,如 BTC/USDT trade: 当前交易对象,包含开仓价格、状态等 order_type: 订单类型,limit 或 market amount: 拟买入数量 price: 拟买入价格 current_time: 当前时间 kwargs: 其他参数 返回:True 允许买入,False 拒绝买入 """

📉 2. confirm_trade_exit:卖出信号的最后关卡

功能

confirm_trade_exit是策略生成卖出信号后,实际执行卖单前的二次确认。

主要用于:

  • 避免盲目止损:如只允许盈利时卖出,防止亏损被锁定。
  • 过滤异常行情:例如突发跳水时,暂停卖出。
  • 资金管理:如限制卖出时间窗口,避免盘中频繁出入。

参数详解

defconfirm_trade_exit(self,pair:str,trade:Trade,order_type:str,amount:float,price:float,current_time:datetime,**kwargs)->bool:""" 参数同 confirm_trade_entry 返回:True 允许卖出,False 拒绝卖出 """

📊 3. 代码案例:从理论到实战

3.1 限价买入:防止高价追涨

defconfirm_trade_entry(self,pair,trade,order_type,amount,price,current_time,**kwargs)->bool:# ma20 = self.dp.get_indicator(pair, 'sma', timeframe='1h', length=20).iloc[-1]ifprice>ma20*1.5:self.log(f"拒绝买入{pair},买价{price}高于均线1.5倍{ma20*1.5}")returnFalsereturnTrue

解析:此策略限制买入价格不得超过20小时均线的1.5倍,避免追高。


3.2 只在盈利时卖出:防止亏损止损

defconfirm_trade_exit(self,pair,trade,order_type,amount,price,current_time,**kwargs)->bool:ifprice<=trade.open_rate:self.log(f"拒绝卖出{pair},卖价{price}不高于开仓价{trade.open_rate}")returnFalsereturnTrue

解析:只有当当前价格高于开仓价时,才允许卖出,避免亏损卖出。


3.3 最大持仓数限制:控制风险暴露

defconfirm_trade_entry(self,pair,trade,order_type,amount,price,current_time,**kwargs)->bool:open_trades=len(self.wallets.get_trades_open())max_positions=3ifopen_trades>=max_positions:self.log(f"拒绝买入{pair},已持仓{open_trades}超过最大允许{max_positions}")returnFalsereturnTrue

解析:限制同时持仓最多3个币种,防止过度分散或爆仓风险。


⚙️ 4. 使用建议与注意事项

  • 结合多维数据:可以结合波动率、成交量、资金占用等指标做综合判断。
  • 日志详尽:在拒绝交易时务必记录详细日志,方便调试和后期优化。
  • 实时性要求:函数调用频繁,务必保持高效,避免策略延迟。
  • 谨慎返回 False:过度拒绝交易会影响策略表现,建议保留一定宽松度。

🚀 5. 总结

confirm_trade_entryconfirm_trade_exit是 Freqtrade 策略中不可或缺的“安全卫士”。

通过它们,可以让策略在信号发出后“再三斟酌”,过滤掉不合时宜的买卖操作,显著提高交易的安全性和稳定性。

灵活应用这些函数,你的策略将更具实战韧性,助力长线盈利。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 13:49:17

Smithbox游戏修改全攻略:从新手到专家的8个关键步骤

Smithbox游戏修改全攻略&#xff1a;从新手到专家的8个关键步骤 【免费下载链接】Smithbox Smithbox is a modding tool for Elden Ring, Armored Core VI, Sekiro, Dark Souls 3, Dark Souls 2, Dark Souls, Bloodborne and Demons Souls. 项目地址: https://gitcode.com/gh…

作者头像 李华
网站建设 2026/6/23 17:49:36

Ribo-seq

核糖体印记测序&#xff08;Ribo - seq&#xff0c;Ribosome profiling sequencing&#xff09;是一种通过捕获核糖体保护的约30nt RNA片段来研究基因翻译动态的高通量技术&#xff0c;该技术填补了转录组与蛋白质组间的空白&#xff0c;广泛应用于研究转录后调控、翻译调控机制…

作者头像 李华
网站建设 2026/6/23 12:31:22

Archivematica:从零开始掌握开源数字档案管理系统

Archivematica&#xff1a;从零开始掌握开源数字档案管理系统 【免费下载链接】archivematica Free and open-source digital preservation system designed to maintain standards-based, long-term access to collections of digital objects. 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/6/23 8:04:50

如何快速掌握NukeSurvivalToolkit:视觉特效制作终极实战指南

如何快速掌握NukeSurvivalToolkit&#xff1a;视觉特效制作终极实战指南 【免费下载链接】NukeSurvivalToolkit_publicRelease public version of the nuke survival toolkit 项目地址: https://gitcode.com/gh_mirrors/nu/NukeSurvivalToolkit_publicRelease 还在为Nuk…

作者头像 李华
网站建设 2026/6/23 0:20:55

【YOLO11-MM 多模态目标检测】跨模态注意力 (CMA)高效特征融合、抛弃传统Concat特征融合,涨点起飞、解决复杂场景

摘要 本文提出了一种改进的YOLO11-MM多模态目标检测框架&#xff0c;通过引入轻量级跨模态注意力融合(CAM)模块&#xff0c;实现了红外与可见光特征的高效融合。该模块采用通道级注意力机制&#xff0c;仅需一个可学习参数即可完成跨模态特征对齐&#xff0c;显著提升了FLIR数…

作者头像 李华
网站建设 2026/6/23 9:08:30

Python脚本语言的四大优势:为何它高效又友好?

Python作为一种脚本语言&#xff0c;其优势在于显著降低了编程的入门门槛和日常任务的执行成本。它语法清晰直观&#xff0c;拥有极其丰富的标准库和第三方生态&#xff0c;这使得开发者能够将精力更多地集中在解决实际问题本身&#xff0c;而非复杂的语法规则或底层实现上。无…

作者头像 李华