ForexBestRobots.com比较 EA →
ZH

动量策略 · 策略

Stochastic 14/3/3外汇动量突破策略:固定区间与首个报价

以Stochastic首次进入强动量区为起点,固定此前五根K线区间,仅检验随后三根H1内的首次收盘突破,并明确成本与固定退出规则。

虚构H1蜡烛图、固定价格边界与计算得到的Stochastic K/D,展示动量突破的教学假设。
虚构H1蜡烛图、固定价格边界与计算得到的Stochastic K/D,展示动量突破的教学假设。

Stochastic处于高位,可能伴随价格走强,而不是预告反转。本研究模型检验的是:首次进入强动量区后,价格在期限内突破,能否构成值得评估的信号样本。指标起点、固定区间和首次突破属于不同时间节点。以下行情、报价及金额均为虚构。

1. 明确独立的动量突破假设

本模型研究强动量区的新进入事件及其后续价格突破。已有的Stochastic回调策略则等待指标从相反的极端区域恢复,入场对象不同。本模型不要求EMA趋势过滤、背离枢轴或新的K/D交叉。

使用EUR/USD H1 Bid OHLC,单一账户须空仓,且没有待处理或结果不明的请求。持续观察每次收盘;重启后跳过错过的起点。参数及阈值只是研究选择,不是优化结果,也不证明存在优势。

2. 固定Stochastic的准确算法

采用(n, s, d) = (14, 3, 3)、Low/High价格字段及零显示位移。本例1 pip = 0.0001; point = tick = 0.00001。对每根已收盘K线先算R[t] = 100 × (Close[t] − LL14[t]) / (HH14[t] − LL14[t]),再算K[t] = SMA3(R)[t]; D[t] = SMA3(K)[t]。区间为零时R不可用;任何含不可用输入的平滑窗口也不可用。

这里取原始比例的简单平均。MetaQuotes公开示例采用距离之和与区间之和的比值,结果可能不同;CSV中的比较列不参与本策略决策。原始值、K、D首次分别出现于k = 13, 15, 17。区域起点最早可在k = 17检验,因为它只需前一K和当前D,不需前一组D值。支撑计算的18根K线均须有效,且时间逐小时连续。

3. 建立唯一的新强动量区起点P

BUY要求K[P−1] ≤ 80 ∧ K[P] > 80 ∧ K[P] > D[P];SELL要求K[P−1] ≥ 20 ∧ K[P] < 20 ∧ K[P] < D[P]。持续处于极端区域不是新起点,当前值恰等于阈值也不成立。已有活动机会或持仓时忽略新起点。

在P固定U = max(High[P−5 … P−1]); L = min(Low[P−5 … P−1])及W = U − L; 8 ≤ W / pip ≤ 30,并要求L < Close[P] < U。参考区间不含P本身。若起点已收在区间外,直接拒绝,不能重新解释为后续突破。P整根K线还须严格位于计划止损边界以内。

图1。虚构H1 K线在P=40形成K上穿80;U/L仅使用P−5至P−1。首次外侧收盘q=41高于U一个pip。K/D采用声明的原始比例平均。
图1。虚构H1 K线在P=40形成K上穿80;U/L仅使用P−5至P−1。首次外侧收盘q=41高于U一个pip。K/D采用声明的原始比例平均。 在小屏幕上,请横向滚动图表,以便清楚阅读标签。

4. 三根内只处理首次突破

只有q ∈ {P+1, P+2, P+3}可能合格。检查价格前,若缺数据、小时序列中断、UTC收盘日期改变、触及止损边界或动量丢失,先取消。途中每根K线均须满足:BUY为K[q] > 80 ∧ K[q] > D[q],SELL为K[q] < 20 ∧ K[q] < D[q]。相等也取消。

BUY检查首次严格高于U的收盘,SELL检查首次严格低于L的收盘。实体须与方向一致,超出边界的幅度须为1 ≤ overshoot_pips ≤ 3。首次外侧收盘只要有一项失败,本轮机会即结束。恰在边界收盘仍算区间内。在P+3先检查有效突破,再判到期;后续K线不能补救首次弱突破,也不能延长期限。

图2。独立弱突破行情的首次外侧收盘仅高于U 0.5 pip,因此拒绝。后续两pips突破不能重用已经结束的起点。
图2。独立弱突破行情的首次外侧收盘仅高于U 0.5 pip,因此拒绝。后续两pips突破不能重用已经结束的起点。 在小屏幕上,请横向滚动图表,以便清楚阅读标签。

5. 从原始区间固定保护价

采用BUY: SL = L − 1 pip; TP = U + 2 × W与SELL: SL = U + 1 pip; TP = L − 2 × W。这些价位在P时已知,此后保持不变。起点及每根等待K线均须满足:BUY最低价严格高于SL,SELL最高价严格低于SL。一旦触及,先取消,再谈突破资格。

两组行情均为Bid OHLC。BUY的SL/TP按Bid判断;SELL的SL/TP是从固定Bid区间数值推导的Ask阈值,并非实测Ask摆动极值。价格须符合实际最小跳动,保护方式须受支持。不能为放行不利报价而扩大止损或移动目标。区间投射距离不等于实际净风险的两倍。

图3。BUY保护在P即固定:Bid止损1.09990,目标1.10600。计划入场1.10222是q时点的成本预留,并非P时已知价格。
图3。BUY保护在P即固定:Bid止损1.09990,目标1.10600。计划入场1.10222是q时点的成本预留,并非P时已知价格。 在小屏幕上,请横向滚动图表,以便清楚阅读标签。

6. 区分首个报价与发送期限

q可用后,恰好处理观察到的首个双边报价。Bid/Ask须为正且顺序正常,发送时有记录的报价年龄须为0 ≤ age_seconds ≤ 2,请求须严格早于q.close_UTC + 20 seconds。预检期间报价必须不变,否则取消。到期前没有首个报价,也不入场。

仅允许在08:00 ≤ t_UTC < 16:00发送。本例q覆盖09:00–10:00 UTC,首报价在10:00:02,请求在10:00:03,假定成交在10:00:04。10:00:20 UTC发送已太晚。发送前再次检查时间,并用相容的时钟计算报价年龄。这些秒数约束尚未发送的请求,不是经纪商挂单的到期字段。

图4。独立时间案例:+2秒首报价、+3秒请求可能合格;+20秒请求失败。观察及时不等于可延迟发送。
图4。独立时间案例:+2秒首报价、+3秒请求可能合格;+20秒请求失败。观察及时不等于可延迟发送。 在小屏幕上,请横向滚动图表,以便清楚阅读标签。

7. 检查可执行报价侧及完整成本

点差不超过1.2 pips;BUY的Bid须严格高于U,SELL的Ask须严格低于L,相关退出侧报价须严格位于SL与TP之间。计划BUY E* = Ask + 0.2 pip; SELL E* = Bid − 0.2 pip,从q.close到E*的有向距离须落在含端点的0 … 2 pips。E*是计算仓位时的预留价格,不是可直接执行的请求价格。

从E*计算正的止损与目标距离。将往返佣金、未来退出预留及融资预留加到计划损失,并从收益扣除,要求G_net / L_net ≥ 1.5。本例使用commission = 0.6 pip; exit reserve = 0.4 pip; financing reserve = 0。适用成本、合约、保护或保证金不明则拒绝。点差及入场预留已计入E*,不能重复扣减。

8. 复算BUY起点与首次突破

在P = 40,前一K为75,当前K为85,D约73.888889。固定区间为L = 1.10000; U = 1.10200; W = 20 pips,P收于1.10180,仍在内部。首次外侧收盘是q = 41; Close[q] = 1.10210,高于U一个pip,且实体向上。K约88.768116,D为82.922705。

保护价保持Bid SL = 1.09990; Bid TP = 1.10600。首报价为Bid 1.10210 / Ask 1.10220,计划E*为1.10222。毛风险23.2 pips,毛收益37.8。计入合计一个pip的成本预留后得到L_net = 24.2 pips; G_net = 36.8 pips,比值为36.8 / 24.2 ≈ 1.520661。经纪商许可和实际执行另作假定。

9. 拒绝首次弱突破,不借用下一根K线

独立的弱突破行情使用相同起点和固定区间。首次外侧收盘为1.10205,只高于U 0.5 pip。K仍在高位区域,实体也向上,但未达到至少一个pip的要求,因此本轮机会立即结束。

下一根收于1.10220,突破两pips,但不能修复前面的失败。K持续高于80不产生新起点。只有以后独立的新阈值穿越、新有效参考区间及空仓账户同时满足,才能开始另一轮。拒绝是模型规则,并不证明后续行情无法交易。

10. 分开看待独立的报价备选情景

被接纳的BUY报价通过比值门槛。独立备选的计划入场若为E* = 1.10224,则36.6 / 24.4 = 1.5,等号通过。若为E* = 1.10225,净收益36.5 pips、计划损失24.5,得到36.5 / 24.5 ≈ 1.489796;即便点差和入场距离合格,也要拒绝。

另一个独立情景的首个点差为1.3 pips,即使比值合格也失败。各行是不同的首次观察假设,不是一串可挑选更好价格的后续报价。坏报价、到期或明确拒绝后,不重试同一突破。任何结果不明的请求,都要在允许新机会前先核对。

方向计划E*固定SL固定TP净损失pips净收益pips净比率
BUY1.102221.099901.1060024.236.81.520661
BUY1.102251.099901.1060024.536.51.489796
SELL1.097871.100101.0940023.337.71.618026
图5。独立BUY备选:净比值1.520661及恰好1.5通过,1.489796失败。固定止损与目标始终不变。
图5。独立BUY备选:净比值1.520661及恰好1.5通过,1.489796失败。固定止损与目标始终不变。 在小屏幕上,请横向滚动图表,以便清楚阅读标签。

11. 镜像SELL,同时单独检查Ask

按price_sell = 2.20000 − price_buy反射BUY价格。其起点K低于20,q收于1.09790,低于固定下沿1.09800。保护价为Ask SL = 1.10010; Ask TP = 1.09400。独立报价Bid 1.09790 / Ask 1.09800虽然净比值合格,却因Ask恰在边界而被拒绝。

可接纳的SELL备选为Bid = 1.09789; Ask = 1.09799; E* = 1.09787。计划损失23.3 pips、收益37.7,得到37.7 / 23.3 ≈ 1.618026。Bid行情镜像并不意味着BUY/SELL成本相同,也不能证明Ask触及SELL退出价。可执行侧行情须单独记录。

图6。镜像SELL Bid K线,计划入场1.09787,Ask退出价1.10010 / 1.09400。Ask还须严格低于固定下沿。
图6。镜像SELL Bid K线,计划入场1.09787,Ask退出价1.10010 / 1.09400。Ask还须严格低于固定下沿。 在小屏幕上,请横向滚动图表,以便清楚阅读标签。

12. 确认成交并处理未知请求

最多发送一次市价入场请求前,检查实际tick、手数步长、可用保证金、保护限制及账户状态。使用当前允许的报价侧,不能用虚构E*预留价替代。突破合格和数值计划获准,都还不是确认订单。

确认订单号、实际成交、数量和保护。超时可能掩盖已经成交的订单,因此应核对而非重发。若成交违反原计划或保护失败,停止新入场,确认真实持仓,并在不扩大原止损的前提下寻求可执行平仓。全部成本均须计入;预留及预算不能保证真实损失上限。

13. 从完整计划损失向下取整仓位

假设USD账户、每手EUR 100000合约、每手每pip USD 10、预算USD 25、步长0.01手。BUY计划损失24.2 pips即每手USD 242:floor((25 / 242) / 0.01) × 0.01 = 0.10 lot。计划金额损失为USD 24.20,目标条件收益为USD 36.80。

SELL损失23.3 pips也允许0.10 lot,计划损失USD 23.30,目标条件收益USD 37.70。实际合约、账户货币折算及保证金须另行核验。若最小手数也超预算,则跳过。该金额只是示例,并非建议风险额度。

图7。在假设USD 25预算及该合约下,0.10手的BUY计划损失USD 24.20,SELL为USD 23.30。两者是独立备选,保证金另查。
图7。在假设USD 25预算及该合约下,0.10手的BUY计划损失USD 24.20,SELL为USD 23.30。两者是独立备选,保证金另查。 在小屏幕上,请横向滚动图表,以便清楚阅读标签。

14. 先定义退出,再解释条件损益

SL/TP保持固定。入场后,只要已收盘K线不再满足方向动量条件,就在首个可执行报价尝试退出;所需数据不可用也触发核对与退出尝试。另设q.close_UTC + 4 h独立时间退出,本例为14:00 UTC。计时从突破收盘开始,不从较晚成交开始。退出未确认时保护仍有效。

假定BUY成交1.10222、0.10手,在已说明预留下,独立目标及止损情景分别为USD +36.80和USD −24.20。另一个时间情景假设没有更早退出:Bid 1.10450、退出成交1.10446、佣金0.6 pip,得到21.8 net pips = USD 21.80。若一根OHLC同时覆盖两保护边界而无报价先后记录,应记为未解决。持仓或请求尚未核清时识别的信号不能用于立即反向开仓。

图8。独立假定BUY退出,均为0.10手:目标USD +36.80,止损USD −24.20,时间报价USD +21.80。只是条件算术,不是实测结果。
图8。独立假定BUY退出,均为0.10手:目标USD +36.80,止损USD −24.20,时间报价USD +21.80。只是条件算术,不是实测结果。 在小屏幕上,请横向滚动图表,以便清楚阅读标签。

15. 复算三个文件,不虚构回测

第一个CSV含三组虚构H1行情,共240行:BUY、镜像SELL及首次弱突破拒绝。K/D由声明的完整OHLC计算。合计比值列仅作比较。所选起点的过程只是信号演示,不是连续账户模拟。

其余文件包含七个独立报价计划及五个条件退出。在精确有理数比较后,CSV显示才保留12位小数。只用每个事件当时已知信息复算,并保留失败、缺失观察和未确认成交。不能从这些构造情景推导实际交易、胜率或实测收益。

下载三组虚构H1行情、计算Stochastic及所选起点过程(CSV)

下载七个独立首报价计划与准入条件(CSV)

下载五个条件退出与金额结果(CSV)

16. 用未使用数据和成本检验假设

评估前固定数据规则、参数、事件顺序及执行假设。统计全部合格起点与已结束机会。测试震荡、快速反转、首次弱突破、时间缺口、成本上升、融资估计不明及执行不确定性,不能只选漂亮例子。

使用有代表性的历史Bid/Ask记录、未参与筛选的评估样本和前向观察。比较邻近参数,但不能把事后最佳参数当作证据。指南解释指标,本文补充一种明确的突破假设。可复算仅证明内部一致,不证明预测价值。

常见问题

Stochastic已经高于80,为什么还考虑BUY?

本假设把首次进入高位区视为可能走强,随后仍要求期限内的价格突破。它不声称高指标读数能使入场盈利。

必须出现新的K/D交叉吗?

不必。BUY要求K>D,SELL要求K

更强的第二次突破能替代首次弱突破吗?

不能。首次区间外收盘即处理本轮机会,实体或幅度不合格也已结束,后续K线不能补救。

相同14/3/3输入总与MetaTrader一致吗?

不一定。这里取原始位置比例的平均;合计比值平滑、不同数据源或价格字段都可能改变K/D。须核验实际安装版本。

Bid已破下沿,SELL为什么仍可能失败?

Ask也必须严格低于固定下沿。只有Bid不能证明可执行Ask条件,更不能证明SELL已退出。

金额结果是实测业绩吗?

不是。它们是虚构K线和假定报价、成本、成交下的独立条件计算。真实损失可能超过预留。

来源与研究说明

TradingView说明原始比例平均算法;MetaQuotes公开示例说明合计比值平滑。起点、固定区间、首次突破期限、成本门槛及虚构案例均为独立研究选择。两项参考资料均未验证本策略业绩。

教学研究假设。采用虚构OHLC、独立报价计划及条件退出,不包含实测交易业绩、连续账户回测、已测优势或保证。