> ## Content Index
> Fetch the complete content index at: https://blog.algorover.ai/llms.txt
> Use this file to discover other available public pages before exploring further.

# 双均线策略怎么交易？金叉死叉与 ATR 止损图解
- URL: https://blog.algorover.ai/zh/action-zone-ema-atr-reversal-explained-zh/
- Published: 2026-11-13T09:31:22.000Z
- Updated: 2026-11-13T09:31:22.000Z
- Description: EMA 出现死叉，策略为什么还拿着多单？沿着一笔持仓，看懂双均线交叉、最短持仓规则和 ATR 移动止损怎样共同决定退出。
- Author: AlgoRover Team
- Tags: Strategy Analysis, #zh-cn

看量化策略的交易记录时，你可能碰到过这样的情况：快均线已经向下穿过慢均线，程序手里的多单却还没平。过了一阵，它又在没有新交叉的时候开了空单。

这套双均线策略把 EMA 交叉、最短持仓和 ATR 退出放在一起判断，所以死叉后可能继续持有。那没有新的死叉，又凭什么开空单？沿着持仓期间的规则往下看，就能把这两笔操作接起来。

这次拿 **Action Zone ATR 反向订单**做个案例。它观察 HYPE 永续合约的一小时 K 线，用两条 EMA 判断方向，用 ATR 安排退出距离，还给反手加了一段等待时间。我们沿着一笔多单往下看：它怎么进来，为什么暂时不换方向，又会在什么情况下离开。

## 双均线策略里的快慢 EMA，为什么反应速度不同？

**EMA 是指数移动平均线（Exponential Moving Average），把连续的收盘价按不同分量合在一起，连成一条更平滑的线：越近的价格占的分量越大，越早的价格影响越小。** 每根 K 线收盘后，它都会把新收盘价与上一根的 EMA 合起来，算出新的线位，所以能保留前面行情的影响。

这个案例用的是 **2 周期和 21 周期 EMA，每个周期是一根一小时 K 线**。周期决定新价格占多大分量：2 周期 EMA 每次给新收盘价约 66.7% 的权重，21 周期约为 9.1%，其余分量留给上一根 EMA。历史价格的影响就这样逐步减小，“21 周期”也不代表只把最近 21 个价格取平均。

可以把两条 EMA 想成同一条路上的两辆车：快线像一辆油门灵敏的小车，价格一变，它就很快作出反应；慢线像一辆匀速巡航的大车，对眼前的颠簸反应较缓，还带着前面一段路的惯性。

常听到的**金叉，就是快线从慢线下方向上穿过去；死叉，就是快线从慢线上方向下穿过去**。沿用刚才两辆车的画面：小车从后面追上大车、超过去的那一刻，就是金叉；小车慢下来、被大车反超回去，就是死叉。车的前后对应图上线的上下，看的是两条线谁在上面发生了切换。

下面只放大展示交叉附近的 **9 根 K 线**。两条 EMA 已经接着图外更早的行情计算，本例先用 60 根收盘价为 100 的假设 K 线准备指标，再画出后面这 9 根，因此图一开始就能看到完整的慢线。

金叉与死叉：在同一段K线上看两次穿越

快 EMA · 2 周期慢 EMA · 21 周期

9698100102123456789金叉 · 第7根：快线上穿死叉 · 第9根：快线下穿AlgoRover9698100102123456789金叉 · 第7根：快线上穿死叉 · 第9根：快线下穿AlgoRover

假设一小时行情，局部展示9根；图前另有60根用于准备EMA。2与21是EMA周期参数。第7根收盘确认金叉，第9根确认死叉，箭头指向交叉点。

拿这段假设行情看：前面几小时价格走低，蓝色的快线也跟着落到橙色慢线下面。到了第 7 根，价格收在 101，快 EMA 升到约 100.23，慢 EMA 约为 99.55，快线就从慢线下方穿了过去，形成金叉。再看第 9 根，价格收在 99，快线又落回慢线下方，形成死叉。

在这套规则里，金叉给出做多信号；快线从上方落到慢线或以下时，给出做空信号。这里向下切换的判断把两线相等也算进去。**第一次开仓看的是刚发生的切换**。快线已经在上面待了很久，空仓时也不会只因为这个排列就补一笔多单。

快线和慢线看的是同一组收盘价：一条贴得近，一条变化缓。两条线的位置切换，就是这套策略开始判断方向的地方。

## EMA 死叉后为什么不平仓？先看最短持仓规则

假设向上的交叉已经出现，策略提交市价买单，多单随后成交。接下来它会数持仓期间经过了多少根一小时 K 线。

这里有个容易看漏的细节：配置写着最短持仓 **8 根**，反向处理实际要等到计数**大于 8**才启用。正常每小时处理一次时，要到开仓后的第 9 次持仓检查，反向交叉才可能让它平多。

**等待期间，ATR 退出检查一直在。** 前 8 次检查里，即使出现向下的交叉，程序也可能继续拿着多单；如果最低价碰到了退出线，它仍会发出平仓请求。

打个比方，这段等待像给新司机设一段“实习期”：车照开、刹车照踩，变道先缓一缓。对应到这套规则里，刹车是 ATR 退出，全程有效；被限制的只有变道，也就是反向处理。

早早出现、后来又消失的交叉，也不会自动排队等到第 9 次再执行。到时候要看当次信号，以及策略留下的反手状态。

接着刚才那段行情往后看：开仓后的第 2 次检查，快线向下穿过慢线，策略继续等；随后快线又回到上方。到了第 9 次检查，快线再次向下穿过，这次已经允许反向处理，程序才请求平多。这段假设行情中，等待期间没有碰到 ATR 退出线。

从开仓到第9次检查 · 同一段假设行情

快 EMA · 2 周期慢 EMA · 21 周期

9799101103开仓123456789第2次：交叉，继续等第9次：请求平多AlgoRover9799101103开仓123456789第2次：交叉，继续等第9次：请求平多AlgoRover

浅色区域覆盖第1—8次持仓检查。本例期间没有触发ATR退出，第2次交叉继续等，第9次再次交叉才请求平多。

这段等待给了短暂反复一点空间。代价也很具体：方向真的变了，它可能继续等待，直到允许反向处理，或先由 ATR 条件触发退出。读交易记录时，把“反向信号”和“退出条件”分开看，就能理解那笔迟迟没平的多单。

## ATR 移动止损怎么算？退出线离价格多远？

**ATR 是平均真实波幅（Average True Range），用来描述价格最近通常晃动多大。** 这里取 **14 根一小时 K 线**，先看每根的真实波幅，再做平滑。

真实波幅会比较三段距离：本根最高价到最低价、最高价到上一根收盘价、最低价到上一根收盘价，取其中最大的一段。这样，上一小时收盘和这一小时价格之间的跳动也会被算进去。

例如上一根收在 100，这根最高 104、最低 101，三段距离分别是 3、4、1，真实波幅取 4。之后把每根的结果平滑，才得到 ATR。**ATR 为 2，表示价格单位上的波动尺度为 2；它本身没有固定的百分比单位。**

真实波幅：把前收盘与当前K线放在一起看

前收 100当前K线最高104最低101高−低3高−前收4低−前收1AlgoRover前收 100当前K线最高104最低101高−低3高−前收4低−前收1AlgoRover

假设价格。三段距离中取最大值 4；ATR 再对每根真实波幅做平滑。

有了这把随行情变化的尺子，策略再安排退出线。多单刚开时，初始退出线设在“快 EMA − 2 × ATR”；普通持仓检查时，再计算“快 EMA − 4 × ATR”，与已有退出线比较，取较高的那个。

普通更新像收紧一根保护绳：价格向上走，绳子跟着收；价格回落，绳子留在原处。下滑到绳子绷紧的位置，就到了退出的位置——对应的交易动作是触线后请求平仓。

下面换一段假设的一小时行情。多单开始时，退出线约在 99.02；随着价格逐步上行，普通候选线超过已有线，退出线也一步步提高到 103.83。价格随后回落，线仍留在 103.83；最后一根最低到了 103.35，碰线后程序请求平多。

K线回落时，退出线在哪里 · 假设一小时行情

快 EMA · 2 周期多单退出线

98101104107开仓481214退出线随价格抬高，回落后保留103.8399.02最后一根最低价 103.35：触线，请求平多AlgoRover98101104107开仓481214退出线随价格抬高，回落后保留103.8399.02最后一根最低价 103.35：触线，请求平多AlgoRover

橙线由99.02逐步提高到103.83，最后一根最低价碰线。图示为完整K线结束后发出平仓请求。

还有一条单独的处理：允许反向管理以后，如果**上一根最高价高于当前快 EMA 加 2 倍 ATR**，多单退出线会先重设到上一根最低价，再和普通候选线比较。这个重设动作可能改变之前的线位，因此看完整段持仓，仍需把这一分支算进去。

做空时方向镜像过来：初始线在快 EMA 上方 2 倍 ATR，普通候选线在上方 4 倍 ATR，普通更新取较低值；满足下方越界条件时，先参考上一根最高价重设。多单检查当前最低价是否碰线，空单检查当前最高价是否碰线。

这里的“碰线”由程序收到完整 K 线后检查，随后请求平仓。真正成交还要经过下单与撮合，跳价、滑点和处理延迟都会影响成交位置。

## 平掉多单，为什么还可能接着开空单？

名字里的“反向订单”，就藏在持仓状态里。

持仓检查超过 8 次后，策略会给多单设置一个待反手做空的标记；如果刚才说的上方越界条件成立，就清掉这个标记。之后出现反向交叉，可以请求平多；ATR 条件也可以先让它离场。

当旧仓已经平掉，订单也处理完了，程序才会在后续空仓检查里，结合新交叉和留下的反手标记决定下一笔方向。**所以，下一笔空单可能来自之前保留的标记，当时可以没有新的向下交叉。** 如果同时出现了新的做多交叉，这套规则会优先处理做多。

这个标记像一张留在订单旁的便签：“旧仓处理完，再检查做空。”它记录了待处理的方向；后续检查仍可能改写或清掉它，实际开仓也要等订单与资金条件通过。

这就把开头的两个疑问接上了：前面那笔多单可能还在等待反向处理；后面那笔空单，可能是在接着执行已经留下的反手状态。平仓请求和下一笔开仓之间，还隔着成交、订单状态和下一次检查。

另有一个时间出口：持仓计数达到 **168 次**时，程序会请求平仓并清掉反手标记。正常一小时一根、没有跳过检查时，对应约七天。持仓中不会因为又出现同方向信号就继续加仓。

## 双均线策略适合什么行情？

前面的设计依赖一件事：**方向发生变化以后，价格还能沿着新方向走一段。** 下面的判断来自规则本身，具体表现仍要看相同费用与数据条件下的记录。

- **✅ 单边趋势延续：这套规则的主场。** 交叉后价格持续上涨或下跌，方向信号与后续持仓过程一致，ATR 退出线有机会随着行情推进。
- **⚠️ 宽幅波动、方向持续推进：关键看回撤。** 一小时里有回撤，几小时后仍向同一方向走，与每小时完全折返是两种走势。回撤先碰到退出线，这笔持仓就会请求退出。
- **❌ 窄幅震荡、频繁折返：最伤这类规则。** 2 根 EMA 跟得很紧，快慢关系容易反复切换；等待期只延后部分反向处理，交叉入场和 ATR 退出仍可能接连发生，费用也会累积。
- **❌ 上冲后迅速回落，或下跌后迅速反弹：方向刚切换就被打断。** 新交叉刚给出方向，行情又退回原处；退出距离、等待计数和实际成交共同决定代价。
- **⚠️ 突然跳价、流动性变薄：警惕执行风险。** 完整 K 线结束后才检查并请求退出，图上的线位与成交位置之间可能出现明显距离。

它赚的是交叉之后趋势延续的钱——持续趋势是它的粮仓，频繁折返是它的天敌。换成 BTC、15 分钟 K 线或其他交易所，都要重新检查时间尺度、合约条件与费用。

## 双均线和 ATR 参数怎么设置，会改变哪些交易动作？

如果想研究它为什么等得久、退出线为什么离价格远，先看下面几个数字就够了。它们是当前案例的设置，表里的改动只是用来比较规则。

| 参数及影响步骤         | 较小设置                 | 当前案例设置            | 较大设置                   |
| --------------- | -------------------- | ----------------- | ---------------------- |
| 快 EMA：价格更新与交叉   | 2 根已是本实现下限           | 2 根：新收盘价权重约 66.7% | 4 根：权重 40%，保留更多旧价格影响   |
| 慢 EMA：方向参照      | 10 根：新价格权重约 18.2%    | 21 根：约 9.1%       | 41 根：约 4.8%            |
| ATR：波幅更新        | 7 根：新波幅权重约 14.3%     | 14 根：约 7.1%       | 28 根：约 3.6%            |
| 普通 ATR 倍数：多单候选线 | 3 倍：候选线 99           | 4 倍：候选线 97        | 5 倍：候选线 95             |
| 等待计数：何时开始反向管理   | 4：第 5 次开始            | 8：第 9 次开始         | 12：第 13 次开始            |
| 最长持仓：时间出口       | 72 次持仓检查             | 168 次持仓检查         | 240 次持仓检查              |
| 下单比例：目标名义金额     | 50%：初始资金 1 万时目标 5000 | 95%：目标 9500       | 100%：目标 10000，仍须通过额度检查 |

表里的 ATR 候选线固定快 EMA 为 105、ATR 为 2，只比较普通倍数这一项；下单金额固定杠杆参数为 1。三档数值展示的是动作怎样变化。

快线与慢线的周期需要配着看，等待计数也要短于最长持仓计数，才能给反向管理留出时间。

资金安排也值得一起看：这套配置按初始资金的 95% 计算目标下单名义金额，使用 1 倍杠杆，并受当前权益、敞口上限和最小订单限制。**95% 说的是目标订单规模。** 如果研究更小的下单比例，同样的价格波动对应的持仓数量会减少；提高比例则会增加对可用额度的要求。

几个参数需要配着理解：把普通 ATR 倍数调大，只改变那条候选线，开仓时的 2 倍距离仍保留。快 EMA 一旦改动，交叉时点、初始退出线和越界判断也会一起变。想知道哪个改动在起作用，可以先固定其他条件，分别核对信号和退出节点。

这类“改一项，几处动作一起变”的问题，适合交给 **AlgoRover Live** 继续研究。它是一个用自然语言研究量化策略的 AI 助手：把想改的参数说清楚，让它先解释哪些动作会跟着变，再比较相同行情和费用条件下的记录。文末留了查找这个策略的入口。

## 看懂这套规则，对你有什么用？

**刚接触量化，可以从它分清三件事：** 交叉给出方向、等待计数约束反向管理、ATR 相关规则安排退出。以后看到“均线策略”，就能继续问：信号出现之后，它到底怎样处理已有仓位？

**考虑使用，可以把检查做得更具体：** 对照一笔订单，确认持仓检查次数、退出原因、实际成交价与费用。默认 95% 的目标下单比例也值得单独研究；理解机制后，还要核对自己准备承担的仓位和执行风险。

**想改造，可以一次研究一个变化：** 例如保持其他条件不变，把等待计数从 8 改成 4，比较哪些反向动作提前发生、是否更容易被短暂折返打断。只看最后收益，很容易漏掉这些过程差别。

## 双均线策略与 ATR 止损的常见问题

### 双均线策略中的 EMA 和 SMA 有什么区别？

SMA 是简单移动平均线，把窗口内的价格等权平均；EMA 给最近价格更高的权重，并逐步保留更早价格的影响。相同周期、相同收盘价下，两种均线的线位和交叉时点仍可能不同。这篇案例使用 EMA，换成 SMA 后需要重新核对信号。想看同一种 EMA 改周期后的实际比较，可以接着读[均线参数回测与版本比较实录](https://blog.algorover.ai/zh/ai-strategy-parameter-comparison-chat-zh/)。

### 金叉出现，就一定立刻买入吗？

空仓、指标准备好、订单状态允许并通过数量与额度检查后，才会提交买单。提交后的成交价格，还要看市场撮合。

### 最短持仓 8 根，是否代表前 8 小时不会退出？

可以接着“实习期”的比喻理解：变道先缓一缓，刹车一直能用。前 8 次持仓检查照常检查 ATR 退出；反向管理要等到第 9 次才开始。

### ATR 倍数调大，所有退出线都会变远吗？

普通候选线会随倍数改变。初始线使用固定的 2 倍 ATR，越界分支又会参考上一根极值；最终线位需要把它们一起看。

### ATR 移动止损和固定百分比止损有什么区别？

固定百分比止损按所选参考价的固定比例安排距离；ATR 止损把近期价格波动作为距离的一部分。在本例里，还要把快 EMA、初始 2 倍 ATR、普通 4 倍 ATR 和重设分支一起看。ATR 变大时，普通候选线会随之变化，已有退出线怎样更新仍由整套规则决定。若回测卖点好得出奇，可以继续核对[追踪止损的盘中路径与成交假设](https://blog.algorover.ai/zh/trailing-stop-backtest-too-good/)。

### 双均线策略用几小时周期、哪组 EMA 参数最好？

本例的 2/21 EMA 对应一小时 K 线，周期和参数共同决定观察尺度。把周期换成 15 分钟，即使仍填 2/21，覆盖的时间也变了。比较前先固定市场、数据区间、仓位和费用，再分别改变一个条件，同时查看收益、回撤、交易次数与退出记录。判断最优参数是否可靠，可以接着看[多组参数回测与过拟合](https://blog.algorover.ai/zh/many-parameters-one-profitable-backtest/)。

### 它会像动态 DCA 一样，跌了继续补仓吗？

持仓期间不会因为价格下跌或同方向交叉继续加仓。它处理的是持有、退出，以及后续可能的反手。想对照分批买入的规则，可以接着看[动态 DCA 策略图解](https://blog.algorover.ai/zh/dynamic-dca-relative-volume-guide-zh/)。

### 平仓以后没有新交叉，为什么还能开出空单？

先看上一笔多单有没有留下待反手做空标记。标记还在、旧仓与订单已处理完，并且额度检查通过时，后续空仓检查可以据此提交空单。越界处理和时间出口会清掉标记。

## 想对照一笔实际记录，可以从这里继续

现在再看交易记录，可以把交叉、持仓计数和退出线放到同一段行情里：当时有没有允许反向处理？是哪条退出条件先出现？下一笔方向有没有沿用反手标记？这样，图上的动作就有了可以核对的原因。

想把这几个问题带回具体策略，可以先通过 [Live 安装入口](https://www.algorover.ai/zh/live/?utm%5Fsource=edgepilot%5Fblog&utm%5Fmedium=article%5Fcta&utm%5Fcampaign=action-zone-ema-atr-reversal-explained-zh&utm%5Fcontent=try%5Ftool#install) 安装或复用 AlgoRover Live，再到策略广场查找 **Action Zone ATR 反向订单 0.3.3**。找到后，就能围绕它继续问 EMA 交叉、等待计数和 ATR 退出分别在做什么。

### 找到本文策略

复制提示词：安装 Live，找到本文策略复制

请添加插件市场 https://github.com/AlgoRover/algorover-hub，并安装 AlgoRover Live；如果已经安装，请直接使用。然后打开 Live Dashboard，在策略广场搜索“Action Zone ATR 反向订单”（Action Zone ATR Reverse Order，action-zone-atr-reverse-order），打开 0.3.3 版本的策略详情。不要启动模拟交易或实盘。

EMA 描述方向怎样变化，持仓计数决定反向处理何时开始，ATR 相关规则决定何时请求离场。把这三件事放回同一笔持仓里，才能读懂“交叉出现了，程序为什么还在等”。

图中价格为案例假设。文章用于科普，不构成投资建议；历史回测不代表未来表现，永续合约涉及杠杆、资金费率与成交风险。

指标说明：[移动平均线与 EMA 的计算](https://www.tradingview.com/support/solutions/43000502589-moving-averages/?ref=blog.algorover.ai)、[ATR 与真实波幅](https://www.tradingview.com/support/solutions/43000501823-average-true-range-atr/?ref=blog.algorover.ai)。