ForexBestRobots.com比较 EA →
ZH

外汇剥头皮 · 交易策略

M5外汇剥头皮策略:MACD首次转向与固定ATR出场

基于已收盘M5 K线的研究模型:MACD首次动能转向、仅一根确认线、固定ATR出场,以及明确的净风险条件。

M5 MACD动能转向,配合固定ATR保护与目标。虚构研究模型。
M5 MACD动能转向,配合固定ATR保护与目标。虚构研究模型。

放弃入场后,动能仍可能再次改善。本模型不会因此允许重试。每个严格同号的MACD区段只使用一次首次转向、一次下一根K线确认和一次首个报价判断。虚构示例用于解释执行机制,不代表已证实的交易优势。

1. 本策略研究什么

研究假设是:既有方向性走势中的首次动能恢复,是否值得检验。它与MACD零轴交叉入场不同,因为主值及其与信号线的差已经同号。不设EMA趋势过滤、零轴入场、摊平或后续重试。这是一份研究规范,不是可直接运行的EA,也不是已证明盈利的系统。

仅使用按计划连续排列的M5已收盘数据。教学品种为虚构EURUSD:pip=0.0001; point=tick=0.00001。全部分析OHLC均为Bid。真实SELL保护还需要配对的Ask历史。缺失K线、指标不可用、敞口未知或状态未核对时,禁止新入场。不能用下一根可获得的K线替代缺失的计划确认线。

2. 测试前先定义MACD和ATR

按收盘价计算M=EMA12(Close)−EMA26(Close); SIGNAL=SMA9(M); D=M−SIGNAL。本MT4定义中的信号线采用简单移动平均。MT4常见MACD柱状图展示的是主值M;D是单独的MACD减信号线,也称OsMA,并非第三个独立确认。示例两条EMA都用首个收盘价初始化;跨平台比较前须核对种子值和预热过程。

在Bid K线上定义TR=max(High−Low,abs(High−PreviousClose),abs(Low−PreviousClose)); ATR14_SMA=mean(last 14 TR)。本文特意采用简单平均ATR,不采用Wilder平滑。名称ATR(14)不能保证计算相同。CSV从索引13开始给出ATR,首个前收盘值取首个收盘价。偏移0仍在形成中:S收盘时为偏移1,C收盘后S变为偏移2。应保存K线时间戳,而不是不断变化的偏移编号。

区分MACD主值、SMA信号与派生差D,并明确定义ATR14_SMA。
区分MACD主值、SMA信号与派生差D,并明确定义ATR14_SMA。 小屏幕上可横向滚动图表,以便清楚阅读标注。

3. 每个严格区段只有一次机会

满足M>0 AND D>0时为BUY区段,满足M<0 AND D<0时为SELL区段。条件由假变真时开始,一旦不成立便结束。零值不属于任一严格区段。机会消耗后,只有新区段才能产生新机会;交易时段开始不会重置区段状态。

从区段真实起点开始跟踪,包括入场时段外的K线。首次结构性转向立即标记为已消耗,即使实体、ATR、时间、确认、报价或风险条件失败也不恢复。重启时须核对敞口并重放区段状态,但不补发历史订单。若无法确认是否消耗,应暂停新入场,不能假定区段尚未使用。

4. 用四个已收盘读数选择S

令U=abs(D)。首个形态S要求U[s−3]>U[s−2]>U[s−1]>0 AND U[s]>U[s−1],且四根K线全部属于当前严格区段。即三个依次变小的读数,也就是两次下降,随后一次上升。相等不通过。比较完整精度值,不以图表四舍五入标签判断。

BUY示例中,07:45 / 07:50 / 07:55 / 08:00 UTC各收盘时的D以pip计为0.0688148631 / 0.0638322058 / 0.0592009819 / 0.0903521327。主值M始终为正。最后一根是S:它选出候选并消耗区段,但不会发送订单。SELL构造反转符号,因此仍使用相同的绝对值形态。

三个依次降低的正D读数后首次上升,选出S。M始终为正,无须零轴入场。
三个依次降低的正D读数后首次上升,选出S。M始终为正,无须零轴入场。 小屏幕上可横向滚动图表,以便清楚阅读标注。
UTC时间主值信号差值
07:453.31996914183.25115427870.0688148631
07:503.33320386983.26937166400.0638322058
07:553.34547376933.28627278740.0592009819
08:003.39673396103.30638182830.0903521327

5. S质量与固定保护止损

S与C都须在[07:00,10:00) UTC内收盘。这是K线收盘时间,不是经纪商图表标签;应核对该日期的时区偏移。BUY的S收盘高于开盘,SELL低于开盘,并要求2<=ATR_S/pip<=8; TR(S)<=1.25×ATR_S。在S处冻结ATR_S。此时段仅为研究选择,不保证流动性或没有新闻。

BUY保护固定为S_bid=floor_tick(BidLow(S)−0.2 pip),SELL为S_ask=ceil_tick(AskHigh(S)+0.2 pip)。函数分别向下或向上取整至可交易tick。真实SELL需要配对Ask最高价;把当前点差加到历史Bid高点无法还原。示例固定0.8pip的Ask偏移仅属于虚构数据约定。

6. 只允许下一根计划K线确认

C恰好在S之后五分钟收盘。先检查失效:若BUY: BidLow(C)<=S_bid; SELL: AskHigh(C)>=S_ask就取消,即便C后来收盘超过入场阈值也不例外。再要求同一严格区段、时段有效及TR(C)<=1.5×ATR_S。价格必须满足BUY: BidClose(C)>BidHigh(S)+0.1 pip; SELL: BidClose(C)<BidLow(S)−0.1 pip。相等、C缺失或C失败均消耗机会。

有效C收盘时,冻结BUY: T_bid=floor_tick(BidClose(C)+2×ATR_S); SELL: T_ask=ceil_tick(AskClose(C)−2×ATR_S)。目标使用S保存的ATR及正确的出场报价侧,不是固定R倍数。随后MACD、ATR、点差或价格变化都不移动水平。不在S极值处放挂单,也没有第二根确认线。

方向止损目标
BUY1.100611.10196
SELL1.101471.10012

7. 一次首个报价与一次初始请求

使用C计划收盘后首次观察、用于处理C的该品种报价。若该次观察时C的完整数据不可用,就消耗候选。要求正价格、Ask不低于Bid、spread<=1.0 pip; abs(Bid_ref−BidClose(C))<=0.5 pip,且本品种报价自本地接收后的年龄<=250 ms。这里测量的是接收后的经过时间,并非声称MT4服务器时间戳能测量网络延迟。

最多发送一次初始市价请求,截止C+1 second,包含边界;截止前无报价则失效。首个报价失败,不能换用后来更好的报价。发送前重新核查当前价格、报价年龄、成本、敞口、保证金、最小手数、权限及经纪商止损约束。S、T与首次计算的手数保持不变,按当前价格计算的风险仍须符合预算。接口不能随入场请求附上固定SL/TP就跳过,绝不扩大止损或边等待边调仓来修复失败。

8. BUY:从收盘K线到真实成交

S于08:00、C于08:05 UTC收盘。此处ATR_S=4.8 pips; S_bid=1.10061; T_bid=1.10196。首个报价到达于08:05:00.100; Bid/Ask=1.10100/1.10108。点差0.8pip,参考Bid等于C收盘价。把不利入场预留计入,按F_plan=Ask_ref+0.2 pip=1.10110规划,而非按图表Bid收盘价。

下文净风险计算得到L=5.8 pips; W=7.7 pips; W/L=1.327586; lots=0.43。带保护的请求在08:05:00.300发送,接收年龄200ms。虚构服务器在08:05:00.450以1.10109成交,在.500回报;这是不同事件。按确认成交价重算实际敞口,但手数在发送前已确定,不能事后改写。

虚构BUY:固定Bid止损与目标、首个Ask、计划成交价及实际执行。
虚构BUY:固定Bid止损与目标、首个Ask、计划成交价及实际执行。 小屏幕上可横向滚动图表,以便清楚阅读标注。

9. SELL:Ask水平与Bid入场

独立SELL分支反转Bid K线及指标符号。首个Bid/Ask同样是1.10100/1.10108,且ATR_S=4.8 pips; S_ask=1.10147; T_ask=1.10012。卖出按Bid入场,不利规划使用F_plan=Bid_ref−0.2 pip=1.10098。止损和目标是Ask出场水平,不能仅看Bid图表判断。

相同假设给出L=5.8 pips; W=7.7 pips; lots=0.43;实际虚构入场价为1.10099。在固定点差构造中,之后Ask目标1.10012对应Bid 1.10004。这种数值对称是为核对机制而设计,既不证明买卖实盘表现相同,也不说明真实点差恒定。

虚构SELL:配对Ask K线决定保护与出场,MACD仍按Bid收盘计算。
虚构SELL:配对Ask K线决定保护与出场,MACD仍按Bid收盘计算。 小屏幕上可横向滚动图表,以便清楚阅读标注。

10. 后续价格无法挽救的三种失败

无确认分支中,C的Bid收盘价为1.10086=1.10085+0.00001。恰好等于阈值,所以严格BUY突破失败。08:10更高的收盘已太迟。另一独立分支的首个Ask为1.10113,Bid为1.10100,点差1.3pip。.200时改善为0.8pip的报价不能替代被拒绝的首个报价。

过宽S分支有TR(S)=16 pips; ATR_S=5.7857142857 pips。ATR虽在2至8之间,S波幅仍超过ATR的1.25倍,因此S时已消耗机会。这些分支不发入场请求,没有交易手数或已实现盈亏。CSV中的诊断计算是反事实情境,并非交易。只有严格区段结束、新区段形成完整四根形态后,新的转向才可能合格。

C恰好等于严格价格阈值而失败。后续突破不会恢复已消耗区段。
C恰好等于严格价格阈值而失败。后续突破不会恢复已消耗区段。 小屏幕上可横向滚动图表,以便清楚阅读标注。

11. 净成本与入场前确定的手数

假设USD账户,标准手为EUR 100,000,并有pip_value=$10/lot; equity=$10,000; new_risk=0.25%=$25; aggregate_risk<=0.50%=$50。预留不利入场0.2pip、剩余出场滑点0.2pip、完整往返佣金0.7pip,佣金随手数线性变化,无最低收费或其他费用。入场预留已计入F_plan,剩余扣减为c=0.7+0.2=0.9 pip。不要重复计算点差。

BUY用L=(F_plan−S_bid)/pip+c; W=(T_bid−F_plan)/pip−c,SELL用L=(S_ask−F_plan)/pip+c; W=(F_plan−T_ask)/pip−c。L、W均须为正且W/L>=1.20。没有其他敞口时,lots=floor_step(min(25,50−existing_risk)/(L×10),0.01)=0.43,计划损失24.94USD、净目标33.11USD。总风险未知则禁止入场;仅同时持有一个自有仓位,不加仓、不对冲。预留用于计划,不保证成交,也不是实际费用。

方向损失,pip收益,pip净W/L手数计划风险,USD净目标,USD
BUY5.87.71.3275860.4324.9433.11
SELL5.87.71.3275860.4324.9433.11

12. 固定价格退出与时间限制

BUY在Bid<=S_bid OR Bid>=T_bid时全平,SELL在Ask>=S_ask OR Ask<=T_ask时全平。时间退出采用min(C+20 minutes,10:00 UTC)起的首个有效报价,从C计时而非成交时刻。发出另一平仓请求前,核对经纪商止损或目标是否已执行。不设移动止损、部分平仓、后续ATR重设目标或MACD退出。

到达目标的分支按真实入场与退出得到8.7−0.7=8.0 net pips; $34.40。未使用的滑点预留不计为实付费用。跳空分支从Bid 1.10120跳至1.10030,按可用价1.10030平仓,结果−8.6 net pips; −$36.98,超过25USD计划。时间分支在08:25:00.200收到首个到期报价,.350平仓成交,结果−1.1 net pips; −$4.73。跳空和延迟可能使损失超过计划止损。

报价跳空穿过固定Bid止损,可用退出价格造成的损失超过计划预算。
报价跳空穿过固定Bid止损,可用退出价格造成的损失超过计划预算。 小屏幕上可横向滚动图表,以便清楚阅读标注。
结果净pip净USD
BUY / 目标8.034.40
SELL / 目标8.034.40
BUY / 跳空-8.6-36.98
UTC时间 / 退出-1.1-4.73
一次请求 / 1288.034.40

13. 请求结果不明与保护故障

超时不代表没有持仓。该分支在08:05:00.300只发送一次,服务器.450成交,08:05:01报告错误128,08:05:02才发现带保护仓位。暂停新入场,按标识、品种、方向及手数核对持仓、挂单和历史。订单备注不保证幂等,不能盲目重发入场。

若已确认的自有成交缺少正确固定保护,预定故障处理是在有效报价及权限允许时提交一次全量市价退出;若被拒绝或结果未知,则报警并核对。不能盲目重复平仓或触碰无关仓位。停止新入场不等于停止管理已有持仓,其报价、权限及核对检查继续。重启须恢复仓位归属和区段消耗状态。

14. 假设可能失效的环境

D的小幅上升也可能发生在弱漂移中,价格确认则可能接近行情衰竭。ATR目标可能在时间退出前无法到达。宽点差、可变佣金、稀疏报价、跳空和不足的Ask历史,可能使看似整洁的Bid图表无法交易。拒绝候选是明确结果,不是看到下一根K线后放宽阈值的理由。

基础规则没有自动新闻禁入。UTC时段并非新闻过滤器。新闻版必须在测试前声明完整的禁入、点差恢复与新鲜信号规则,并同时比较错失交易与成本,而非只看亏损。其他ATR平均方法、时段或阈值也须作为预先声明的独立变体,不能暗中修改。

15. 先复现机制,再衡量业绩

三个CSV含八个独立虚构分支的完整预热、订单事件及成本账本,共1,041根K线、2,386个事件。五个合格分支是替代情境,不是同时持仓或胜率样本。入场后,声明的每秒教学报价流及明确终点观测定义全部可用报价;分析用收盘标记不表示该瞬间有可执行报价。示例不含融资及额外费用。

重新计算EMA、SMA信号、D及明确ATR,重放消耗状态,按失效优先于确认、首个报价、净成本和时间顺序退出执行。测试相等边界、零及变号、时段外首次转向、缺失C、陈旧报价、期限、手数不足、重启、超时和跳空。业绩研究需要未使用时段、真实Bid/Ask执行数据及经纪商约束;虚构分支只能核对机制。

下载虚构M5 K线(CSV)

下载虚构订单事件(CSV)

下载虚构成本与结果(CSV)

16. 简明决策清单

先确认连续已收盘数据、真实严格区段及消耗状态。选择其首次四读数转向,验证S并冻结ATR与保护。只验证计划C,先处理失效,再冻结目标。首个报价仅处理一次,计算净收益风险比和固定手数,复核当前执行条件,在截止前最多发送一次带保护请求。

随后核对结果,用固定价位及时间限制管理确认仓位。拒绝后等待真正的新区段与新形态。记录被拒候选、成本及不确定结果。有限流程使假设可复现,但不证明正期望、保证亏损上限或适合实盘的参数。

常见问题

这又是一种MACD零轴交叉策略吗?

不是。主值及其与信号线的差必须已经严格同号。形态是区段内首次收缩后转向,再由下一根计划K线确认价格。

形态使用哪一种柱状图?

使用MACD减SMA信号的差D,也称OsMA,取其绝对值。MT4标准MACD柱状图显示主值M,混淆两者会改变策略。

能等点差缩小再入场吗?

不能。首个观测报价不合格即消耗候选。同区段内更好的报价、后续突破或转向都不能恢复机会。

任意周期14的ATR都可用吗?

只有计算一致才可以。本模型明定为14个Bid真实波幅的简单平均。Wilder平滑、不同初值或价格会生成不同序列。

0.25%预算能限制所有实际损失吗?

不能。它按已声明预留确定初始计划仓位。跳空、成交、延迟或保护故障可超限;虚构跳空损失36.98USD,而计划预算25USD。

CSV结果证明策略有效吗?

不能。它们是核对信号、执行及会计的独立虚构分支,不是市场观测、回测、投资组合或业绩估计。

来源与研究说明

官方资料解释指标定义和订单参数。形态、阈值、时段、风险限制及价格均是本文的研究假设,资料并未验证其盈利能力。

教育研究假设。价格与执行路径均属虚构,没有经验证的业绩或保证的损失上限。