描述
在技术交易中,回调买入是最常被提及但又最少被具体说明的规则。“等待价格从均线反弹”这句话背后隐藏着三个问题:触及均线多少才算成功?突破均线多少才算成功?跌破均线多少才算失败? 这套方案将这三个要素都明确地呈现出来,并且是不对称的。入场需要触及前一根K线,然后在当前K线再次触及,因此仅仅略高于均线的K线并非信号。出场则使用单独的、通常更宽的缓冲区,因为如果突破的幅度仅与入场容差相同,则会导致频繁的剧烈波动。在同一窗口之上叠加一个长期滤波器,当价格低于其长期均线时,该滤波器会抑制整个结构。 何时使用此功能 • 交易者必须回答“这次下跌是否值得买入,还是趋势已经结束?” • 你需要的是一个基于先前触及点的延续入场点,而不是一个通用的“价格高于平均水平”的过滤器,该过滤器会触发每一根K线。 • 你需要一个与入场规则明显不同的出场规则。 不适用于区间震荡的市场——长期过滤器将使结构保持沉默,这是预期的行为,但如果您没有预料到,它看起来像一个错误。 本包裹特意不包含以下内容 这是一个框架版本,并非经过优化的生产版本。具体来说: • 不设置仓位大小和止损距离。您搭配使用的ATR指标或百分比止损不包含在套餐内。• 不支持多品种扫描。每次交易仅限一个品种、一个时间周期和一个决策。• 不提供调整周期或缓冲区值。特别是窗口长度,它是该系列参数中最容易过度拟合的参数,因此作为输入参数提供。 • 代码中没有默认阈值。scripts/ma_rebound.py 会抛出 PARAM_INCOMPLETE 异常,而不是回退到一个数值。这种静默的默认值会让你误以为自己正在运行一个经过校准的系统,而实际上你运行的是别人的参数。 每一个决策边界都是一个输入。这就是整个合同。 决策合同 • 操作:条件 • 做多:长期筛选器已启用,且前一收盘价在均线的触及容差范围内,当前收盘价至少高于均线一个反弹缓冲值 • 退出:当前收盘价至少低于均线一个突破缓冲值 • 持平:其他所有情况,包括历史数据不足 响应还包含 ma、deviation 和 trend_up,以便调用者可以记录决策是如何做出的,而不是凭空猜测。 输出方案 { "action": "long", "price": 63180.5, "ma": 62840.1, "deviation": 0.00542, "trend_up": true, "reason": "rebound off the average: deviation 0.54% clears the 0.80% buffer" } 操作是唯一必须基于其进行分支的字段。原因字段仅供日志记录和代理向用户反馈,请勿解析。 运行它 python3 scripts/ma_rebound.py \ --params references/params-example.json \ --symbol BTC/USDT \ --interval 1h references/params-example.json 文件包含一些整数,显然是为了便于说明。它们的存在是为了确保命令能够一次性成功运行,并非因为它们本身是正确的。 进料位置状态: python3 scripts/ma_rebound.py --params my.json --state '{"avg_entry": 61250.5, "layers": 2}' 校准阈值 1. ma_period——回调周期。较短的窗口会使交易变成短线交易,触碰条件会频繁触发;较长的窗口则会使入场机会减少。先扫描一个粗略的网格,然后检查选定的值是位于平台期还是峰值。选择平台期的中间位置,切勿选择峰值。 2. 反弹缓冲区(rebound_buffer) - 多少证据才会被计入反弹。太小的话,每次价格下跌都会触发反弹;太大的话,你只能在价格波动结束后才能入场。 3. breakout_buffer - 退出容差。它特意比参考形态中的入场缓冲区更宽,因为退出操作是在单次收盘时进行评估的,而对称的缓冲区可以保证交易活跃度。 按时间顺序进行样本外验证:先对前约 70% 的柱状图进行校准,然后在不改变最后约 30% 柱状图参数的情况下,确认相同的参数。分别报告这两个数据块;将两者合并为一个数值会掩盖失败。 已知极限 • 当历史数据充足时,长周期过滤器会使用硬编码的 200 根 K 线进行比较。如果输入的 K 线数量不足,过滤器会自动放宽限制,因此请确保输入的历史数据足以覆盖您选择的周期以及过滤器窗口。• 触及条件仅在收盘价上进行评估。在同一根 K 线内突破均线并恢复的影线将不可见。• 不进行波动率调整:相同的缓冲值在平静和剧烈的市场环境下意义不同。• 信号基于最后收盘的 K 线进行评估。仍在形成的 K 线将被忽略,因此当前 K 线的决策不会重绘。 免责声明 这是一个用于研究和教育的决策框架。它并非投资建议、盈利声明或回测结果。加密货币衍生品可能损失超过本金。您需对您选择的参数以及您的执行人下的每一笔订单负责。