full-control-of-order-logic
本文为 https://www.itrade.icu 量化交易实验室出品。访问获取更多福利
访问获取更多福利
📘 智能挂单策略,让你的资金利用率提升 50%+
在量化交易中,挂单价格和挂单超时是决定交易效率和风险管理的关键因素。 Freqtrade 机器人提供了多种自定义挂单控制的钩子函数,帮助你精细化控制买卖价格和挂单生命周期,避免因挂单吃亏或资金被无效占用导致的机会损失。
本文将围绕三个函数详细展开:
custom_entry_price:自定义买入挂单价格,避免挂单被瞬间吃掉或成本过高。check_entry_timeout:判断买入挂单是否超时,及时取消未成交挂单,释放资金。check_exit_timeout:判断卖出挂单是否超时,防止卖单长时间无效挂单。
1. 自定义买入挂单价格 —— custom_entry_price
custom_entry_price在 Freqtrade 中,默认买入价格由交易所市价或策略默认限价决定,但在实际交易中,精准控制挂单价格非常重要。
如果挂单价格设置过于保守,可能导致买单无法快速成交,错失良机;价格过高,则会增加买入成本。
custom_entry_price 函数允许你在限价买入时,自定义挂单价格,实现策略更灵活的买入逻辑。
使用场景举例
激进策略:使用市价或接近市价价格,保证挂单迅速成交。
保守策略:挂单价格稍微低于当前价格,追求更优买入成本。
混合策略:根据市场波动或其他信号动态调整挂单价格。
完整代码示例
小结
通过该方法,策略可以根据不同市场环境和资金管理需求灵活调整买入价格,有效避免挂单被瞬间吃掉或成交成本偏高。
2. 挂单超时处理:check_entry_timeout 与 check_exit_timeout
check_entry_timeout 与 check_exit_timeout限价单挂单过程中,最怕出现挂单“卡死”导致资金被占用,但订单却长时间无法成交。
这种情况不仅影响资金周转,还会错失更好交易机会。
Freqtrade 通过 check_entry_timeout 和 check_exit_timeout 两个函数,允许策略开发者自定义超时取消挂单的规则。
设计思路
高价币种(如 BTC/USDT),对资金占用敏感,挂单超过短时间未成交应及时取消。
中价币种(如 BNB、LTC),适度缩短挂单等待时间。
低价币种(如 SHIB、DOGE),价格低波动大,可允许更长时间挂单。
具体代码示例
进一步优化建议
可根据市场波动动态调整超时阈值
结合订单薄深度、成交量等指标,智能判断是否取消挂单
对不同策略或品种设定不同的超时规则
3. 注意事项:限价单配置与执行
需要注意的是,custom_entry_price 和挂单超时判断函数只有在你使用限价单时才会被调用。
如果你使用市价单或其他类型订单,这些函数不会生效。
如何启用限价单
在 config.json 配置文件中设置:
这样,Freqtrade 会在买卖时使用限价单,确保上述自定义逻辑生效。
总结
挂单价格和挂单时效管理是提高交易执行质量的关键。
通过
custom_entry_price,你可以根据市场状况和策略风格,自定义买入挂单价格,实现更合理的买入成本控制。利用
check_entry_timeout和check_exit_timeout,能够防止挂单长时间不成交,避免资金被无效占用,提高资金使用效率。结合限价单配置,这三者形成一个完整的挂单管理体系,为你的策略保驾护航。
实现精细的挂单管理,能有效避免挂单被瞬间吃掉、挂单长时间未成交或错失更优价格的尴尬,让交易更稳健、更高效!
Last updated