趋势线回调策略不能只靠反弹后看起来合理的一条线。本H1规则先固定两个已确认的波段锚点,等待随后首次接近,再要求另一根已收盘K线确认。趋势线用于界定观察位置,并不保证支撑有效或交易盈利。
1. 明确本趋势延续形态要检验的假设
这里的假设是:已有方向的行情回到上升支撑线或下降阻力线后,可能沿原方向恢复运动。与旗形延续策略不同,本方法不要求三根K线组成的旗形,也不用旗杆幅度计算目标。它也不同于EMA回调,参考线来自两个价格拐点。所有判断使用普通Bid K线,不使用Heikin Ashi合成价格。
以下参数都是研究示例中的选择:H1、严格五根K线拐点、锚点间隔4–20根K线、ATR周期14、接近等待窗口6根K线,以及净收益风险比下限1.5。这些不是优化结果,也不构成优势证据。如果不熟悉波段术语,可先阅读市场结构指南。
2. 等到两个锚点都能够被确认
按时间先后为H1 K线编号。索引为i的波段低点,其Low必须严格低于此前两根及此后两根K线各自的Low。只有K线i+2收盘后,该低点才确认。波段高点则要求High严格高于这四根K线的High。相等的极值不符合此定义;尚未收盘的K线不能用来确认拐点。
BUY采用Q右侧第二根K线收盘时,最近两个已确认的波段低点P和Q。要求4 ≤ Q−P ≤ 20且Low(Q) > Low(P)。SELL采用最近两个已确认波段高点,要求High(Q) < High(P)。不能为了图形更好看而选用更早的组合。同一组锚点时间戳只允许启动一次判断流程。
将评估K线记为a = Q+2。它收盘时保存其ATR(14)数值A,并设b = 0.10 × A,向上取整至可交易价格跳动单位的整数倍。历史不足、ATR非正数或合约信息不可用时,放弃该机会。在MT4中,应在下一根K线首个tick读取偏移量为1的ATR;偏移量0的数值仍会变化。
3. 先满足扩展条件,再启动趋势线监控
BUY将P与Q之间、不含两端的最高High定义为Hpre。只有Close(a) > Hpre+b才启动监控。目标M固定为Q+1至a之间的最高High,包含a。SELL采用两锚点之间的最低Low,记为Lpre;要求Close(a) < Lpre−b,并将M固定为Q+1至a的最低Low。
每组锚点只在a评估一次。扩展条件失败就舍弃,而不是等后面的K线使其合格。锚点、A、b、M一起保存。流程进行中忽略新拐点,绝不能在亏损后重画趋势线来改变判定。同一品种已有持仓时,不启动新的流程。
4. 按价格投影,不按图形角度判断
BUY在K线k上的投影值为L(k) = Low(P) + (Low(Q)−Low(P)) × (k−P)/(Q−P)。SELL将两个Low替换为High。索引统计连续H1 K线,P到确认K线之间不得缺少任何整点时间戳。跨周末或其他缺失K线区间的机会直接跳过。
对整根K线k只使用这一个L(k)值进行判断。容差区域为[L(k)−b, L(k)+b]。不在K线内部检验价格与不断变化的斜线是否相交。缩放图表会改变可见角度,却不会改变价格方程。图上的线只是这些按K线索引计算的参考值的示意。
5. 只接受启动后的首次接近
依次检查已收盘的a+1至a+6。BUY中,Low高于L(k)+b时继续等待。Low低于L(k)−b,或等于、低于Low(Q)−b时,取消该流程。否则,首次进入区域的K线就是唯一候选T。不能把失败的首次触及替换成条件更好的第二次触及。
BUY要求High(T) > Low(T)、Close(T) > Open(T)、Close(T) > L(T)+b,且收盘位于振幅上方四分之一区间:Close(T) ≥ Low(T)+0.75×(High(T)−Low(T))。突破参考值设为B = High(T)+b,止损设为S = Low(T)−b。窗口内没有有效首次触及时,该流程到期失效。
6. 只给紧随其后的一根K线确认
只有下一根H1 K线C = T+1能够确认BUY。要求Close(C) > B、Close(C) > Open(C)及Low(C) > S。仅影线超过B、收盘恰好等于B,或晚一根K线才确认,都不合格。T不能同时充当其后独立的确认K线。
斜线只在接近阶段筛选位置;T之后,它不是跟随移动的失效线。此后采用固定B、S及唯一确认期限。不要在C上追加一次趋势线检查,也不要随着投影值升高而移动S。C失败就取消,不在B设置待成交的入场挂单。
7. 完整执行SELL规则
对于下降趋势线,High(k) < L(k)−b时继续等待。若High(k) > L(k)+b或High(k) ≥ High(Q)+b,取消流程。首次接近区域的T必须有正振幅,并满足Close(T) < Open(T)、Close(T) < L(T)−b及Close(T) ≤ Low(T)+0.25×(High(T)−Low(T))。
固定B = Low(T)−b与S = High(T)+b。紧接着的C要求Close(C) < B、Close(C) < Open(C)及High(C) < S。SELL入场使用Bid;保护止损S和目标M都是固定的Ask触发水平。点差扩大可能在Bid图尚未触及S时,就触发空头止损。绝不能只用Bid K线回测SELL平仓。
8. 检查首个可执行报价
C收盘后,检查15秒内首个可用报价,其时间距当前不得超过2秒。BUY使用Ask,SELL使用Bid,将此入场参考记为E。要求abs(E−Close(C)) ≤ b及Ask−Bid ≤ 0.15×A。首个报价不合格就放弃该流程,而不是等更便宜的报价。
BUY还要求Bid > B及S < Bid ≤ Ask < M。SELL要求Ask < B及M < Bid ≤ Ask < S。检查价格跳动单位、最小止损距离、交易量限制、保证金及交易权限。提交订单请求不代表成交。拒单后不重试本流程;超时且结果不确定时,先核对订单,再考虑任何后续请求。
9. 固定一种退出政策,另行设置风险预算
BUY以Bid触及S或M退出;SELL使用Ask。两个水平保持不变:本规则不扩大止损、不移至保本、不部分平仓,也不沿趋势线移动止损。若均未触发,则在入场后第六根H1收盘后的首个报价请求平仓。统计实际成交后的收盘次数,包含入场所在K线的收盘。跳空或系统中断时,止损与时间退出可能以更差价格成交。
根据正确的入场及退出报价侧,以账户货币估算每手损失和收益空间。包括双边佣金、明确的不利成交预留及适用隔夜利息。要求净收益空间为正,且net reward / planned loss ≥ 1.5。预先分配的金额风险预算除以每手计划损失,再按经纪商交易量步长向下取整。最小交易量仍超过预算就跳过,并检查相关持仓的总敞口。
10. 重建EURUSD合成示例
这是虚构的教学数据,不是历史交易或回测。所有时间均使用同一经纪商服务器时钟。P为K线0,Low为1.10000;Q为K线8,Low为1.10200。各点前后两根K线的低点都严格更高,中间没有其他满足定义的已确认低点。只有K线10于11:00收盘时,Q才变得可确认。
此时假设已保存ATR输入A = 0.00200,因此在五位小数的EURUSD价格网格上b = 0.00020。这段简短图表并未重新计算此前的ATR历史。Hpre = 1.10600时,Close(a) = 1.10720通过扩展检查;Q之后已完成K线的最高值将目标固定为M = 1.10850。趋势线每根H1上升0.00025。
K线11仍在其区域上方。索引12处的T采用L(12) = 1.10300,区域为1.10280–1.10320。表中是有效向上反弹:收盘超过1.10320及上方四分之一区间门槛1.103875。因此固定B = 1.10440与S = 1.10270。C未触及S,并收于B上方。
| K线 | 服务器时间区间 | 开盘 | 最高 | 最低 | 收盘 |
|---|---|---|---|---|---|
| 11 | 11:00–12:00 | 1.10720 | 1.10730 | 1.10330 | 1.10335 |
| 12 · T | 12:00–13:00 | 1.10335 | 1.10420 | 1.10290 | 1.10405 |
| 13 · C | 13:00–14:00 | 1.10405 | 1.10490 | 1.10350 | 1.10460 |
14:00:01时,首个新鲜报价为Bid 1.10462 / Ask 1.10474。点差1.2 pip,入场偏差1.4 pip,两项检查均通过。这里的入场仍是计划参考,并非宣称已经成交。图表到此结束,没有画出未来获利路径。
11. 计入执行成本后计算仓位
假设USD账户、1 pip = 0.00010、100,000EUR合约、每手每pip为$10。双边佣金每手$7,入场和平仓合计的不利成交预留为每手1pip。仅本例假设隔夜利息为零。Bid/Ask距离已包含点差,不应再加一次。
| 计划项目 | 计算 |
|---|---|
| 入场至止损距离 | (1.10474−1.10270)/0.00010 = 20.4 pips |
| 入场至目标距离 | (1.10850−1.10474)/0.00010 = 37.6 pips |
| 每手计划损失 | 20.4×$10 + $7 + $10 = $221 |
| 每手目标净额 | 37.6×$10 − $7 − $10 = $359 |
| 净收益风险比 | $359/$221 ≈ 1.6244 |
| 示例金额预算 | $10,000×0.5% = $50 |
| 交易量,步长0.01 | floor(($50/$221)/0.01)×0.01 = 0.22 lots |
| 计划风险/目标净额 | $48.62 / $78.98 |
目标净额是有条件的计算,不是预期利润,也不是最大亏损保证。每跳价值及货币换算因品种和账户货币而异。按实际成交重新计算,并记录超出计划的损失。若成交在14:00:01附近,六次收盘从15:00到20:00;若S和M均未触发,则在最后一次收盘后请求按时间退出。
12. 图形再好看,条件失败也要放弃
若T的Low为1.10270,便低于区域底部1.10280,应先取消,不能因随后反弹而放行。C收于1.10440也不合格,因为等于B。后来的上涨不能修补这两个判断。接近窗口过期后,不要因为价格最终到达趋势线而延长期限。
首个Ask若为1.10495,便高于确认收盘3.5 pip,超过2 pip的偏差上限。即便图形仍好看也应拒绝。另一个独立例子是固定目标仅为1.10700:按原报价,成本后比值为$209/$221 ≈ 0.9457,低于净比值要求。不能为了挽救形态而把目标移远。
13. 保存完整流程状态,而不是不断移动的图形
EA需要保存锚点时间戳和价格、拐点确认时间、固定ATR及按tick取整的容差、目标、首次触及状态、C的截止时间,以及是否已消耗本流程的标记。每根已收盘K线只处理一次。重启后保留流程,恢复前刷新历史并核对活动订单。不要将MT4倒序时序的偏移量与本文按时间正序的索引混淆。
记录每个被拒绝流程的原因、首个报价及其时间差、请求结果、实际成交、费用和平仓信息。测试前固定日历规则;一种示例排除条件是,两种货币任一方的预定高影响新闻前后30分钟不入场,距展期时点15分钟以内也不入场。时刻信息不可用就跳过。即使价格形态合格,经纪商止损限制仍可能阻止提交请求。
14. 检验几何规则、时序与失败情形
按顺序重放拐点变得可用的时刻。纳入所有首次触及、破线、超时、报价缺失和拒单。在开发数据上比较相近的拐点宽度、锚点间距和容差,然后固定规则,再做样本外和模拟账户前向测试。改变反弹或退出条件,就是另一个模型。数据和执行检查可参考MT4回测指南。
用Bid和Ask历史还原可执行平仓,SELL尤其如此。若只有OHLC,而一根K线同时触及止损和目标,便无法确定先后顺序:应采用预先声明的保守处理,或透明地剔除这类结果。跨时期评估成本、回撤、敞口和敏感性,不要只展示挑选出来的盈利图。本文不提供实测胜率、回报或验证结果。
15. 完成最后的入场清单
两个拐点均确认;采用最近合格组合;a上扩展通过;锚点和目标固定;没有缺失小时K线;窗口内首次接近有效;恰好下一根C确认;首个新鲜报价合格;止损和目标可执行;净收益风险比达标;交易量向下取整;保证金、日历和总风险已检查。任一强制条件失败都不提交订单。仓位计算与组合风险应独立于视觉形态进行审查。
16. 趋势线回调常见问题
第三次触及能证明趋势线可靠吗?
不能。两个锚点定义参考,随后首次接近只是检验假设。触及及收盘确认都可能失败。可靠性需要在已声明的数据、成本和测试条件下通过实测结果评估。
Q所在K线刚收盘时,能立即标记Q吗?
按本拐点定义不能。Q需要随后两根已收盘K线才能确认。提前使用就引入了当时尚不可得的信息。若等待导致错过反弹,该流程就不可用。
出现新的波段点后,应移动趋势线吗?
流程进行中不能移动。保持原锚点和期限。新组合只能在其自身Q确认事件发生时获得资格,而且此前流程必须已结束,该品种也没有持仓。忙于旧流程期间错过的确认,不能事后补用。
为什么不能用趋势线的可见角度作为规则?
缩放和坐标轴比例会改变外观。方程改用价格和K线索引,因此同一组已保存数据总能算出同一投影参考,不必主观判断斜线看起来是否陡峭。
为什么空头止损会早于Bid图触及水平而触发?
SELL持仓以Ask平仓。点差扩大可能让Ask升到固定止损,而Bid仍在其下方。仅有历史Bid K线无法正确还原该执行过程。
本方法是在描述目录中某款外汇机器人的逻辑吗?
不是。这是独立的教学规则。EA实际条件、合约条款、原始报告和公开监控需要另行审查;本文不声称任何目录产品实现了本方法。
17. 技术参考与局限
MetaQuotes在MQL4交易要求中说明订单采用的报价侧及经纪商止损限制。本文的拐点选择、容差、期限和风险门槛是作者定义的示例,不是经MetaQuotes认证的规则。图形使用合成数据,不包含已实现交易结果。