随机指标回答的是位置问题:一根K线的收盘价位于近期高低区间的什么位置?接近100的读数并不是下跌概率。解读交叉前,应先确定价格字段、平滑方法,以及K线是否已经收盘。本指南用可复算的虚构示例区分这些选择。
1. 定义价格序列与滚动窗口
采用High/Low价格字段时,计算包含当前已经收盘的K线,以及指定窗口内此前的K线。n = 14表示共14根,包含正在测量的这一根。该区间不是固定支撑或阻力带,而是随K线进入和移出而改变。
示例使用虚构的H1 Bid开高低收数据及时间顺序索引k = 0, 1, 2, …。收盘价是观测值,不是BUY可成交的开仓价。即使显示的周期参数一致,不同经纪商报价、K线时间边界或Close/Close价格字段也可能产生不同读数。
2. 将原始%K计算为位置比值
令L = min(Low, n)、H = max(High, n),未平滑值为R = 100 × (Close − L) / (H − L)。只要区间有效且宽度非零,收盘价就在该区间的最高与最低之间,因此比值处于0至100范围内。
独立的手算示例采用L = 1.1000; H = 1.1040; Close = 1.1030,得到R = 75。这表示收盘价位于从区间低点向上四分之三的位置,并不代表75 pips的动量,也不代表75%的反转概率。
3. 明确快速、慢速与完整随机指标的参数
一种常见构造是K = SMA(R, s)和D = SMA(K, d)。n为区间长度,s用于平滑原始%K,d将已显示的%K进一步平滑为%D。s = 1时,K等于原始比值。平滑可以减少小幅波动,但也可能推迟交叉或将多个交叉合并。
本指南将教学参数写为(n, s, d) = (14, 3, 3)。MetaTrader的iStochastic参数顺序则为(Kperiod, Dperiod, slowing)。测试记录应明确参数名称、价格字段和平均方法,仅用“快速”“慢速”“完整”等名称无法完整规定计算方式。
4. 核对平台如何实现平滑
TradingView公开说明中的%K是原始比值的平均数。MetaQuotes公布的MT4示例则使用K_MT = 100 × Σ(Close − L) / Σ(H − L)计算平滑主线,对s根K线求和,每根采用各自的滚动区间。这相当于按区间宽度加权,而不是对原始比值求普通算术平均。
所附小型示例采用n = 3; s = 3。在k = 2, 3, 4处,区间宽度分别为10, 20, 80 pips,原始读数为20, 80, 20。简单平均为40,求和后的比值却为100 × 34 / 110 = 30.909091。预期与终端完全一致之前,应核对实际安装的实现。
| k | 原始%K | K:SMA | K:求和比值 | D:SMA | D:求和比值 |
|---|---|---|---|---|---|
| 2 | 20.000000 | — | — | — | — |
| 3 | 80.000000 | — | — | — | — |
| 4 | 20.000000 | 40.000000 | 30.909091 | — | — |
| 5 | 80.000000 | 60.000000 | 53.333333 | — | — |
| 6 | 50.000000 | 50.000000 | 50.000000 | 50.000000 | 44.747475 |
| 7 | 90.000000 | 73.333333 | 73.333333 | 61.111111 | 58.888889 |
| 8 | 30.000000 | 56.666667 | 56.666667 | 60.000000 | 60.000000 |
5. 明确处理零宽度与缺失值
当H − L = 0时,窗口内所有价格相同,位置比值的分母未定义。参考CSV将该值留空。在本指南的两种教学平滑方法中,只要窗口内包含未定义的原始读数,结果也记为不可用。这是一项事先声明的研究约定。
平台可能使用其他替代规则,因此界面显示数字并不能证明平坦区间包含有效信息。不要用0或50填补缺失值来制造事件,也不要将缺口两边的观测视为相邻的已收盘K线。
6. 比较两条线前准备足够历史数据
使用从零开始的索引时,首个原始值出现在k = n − 1,首个平滑K出现在k = n + s − 2,首个D出现在k = n + s + d − 3,前提是所需区间均有效。这些是数据可用性规则,并不保证存在交易信号。
按本指南的14/3/3构造,首个值分别出现在k = 13, 15, 17。新K/D交叉需要相邻且均可用的两组数值,因此最早可能的判断索引为k = 18。首次可用的K高于D,并不等于刚刚观察到一次新交叉。
7. 结合背景将20/80理解为状态
K > 80和K < 20描述的是区域,表示平滑后收盘位置读数的高低,而不是要求开仓。区间交易仍需要预先定义价格边界;趋势交易仍需要独立描述价格结构。
进入上方区域与持续停留其中是不同事件。新向上突破阈值可写为K[t−1] ≤ 80 ∧ K[t] > 80。离开该区域又是另一个事件。应固定比较方式与等号约定,而不是看到下一根K线后再更换解释。
8. 理解趋势中极端读数为何可以持续
在虚构的上涨历史中,K高于80的可用读数连续出现69次。价格持续在不断上移的滚动区间上部附近收盘。若把每次读数都当作卖出信号,就会将描述性状态变成没有依据的反转规则。
这张图反驳的是仅凭超买便自动入场,并不证明在极端读数下买入能够盈利。反转仍可能发生,但指标区域本身无法确定时点、可执行价格、止损或离场。下跌趋势中持续偏低的读数也存在相同限制。
9. 区分新的K/D交叉与持续状态
对于相邻的已完成观测,向上交叉定义为K[t−1] ≤ D[t−1] ∧ K[t] > D[t],向下交叉定义为K[t−1] ≥ D[t−1] ∧ K[t] < D[t]。按这些定义,当前相等不构成交叉。应比较未四舍五入的数值,因为屏幕上看似相等的数字可能存在微小差异。
独立事件表包含相等、K持续高于D,以及一组缺失值。向上事件仅出现在k ∈ {2, 6},向下事件出现在k = 8。这些是用于检验逻辑条件的给定线值,并非编造的OHLC回测或订单历史。
10. 观察收盘价不变时的指标变化
在旧高点移出窗口的历史中,所有Bid收盘价均为1.10050。索引10的旧高点一直保留在14根窗口内,直到k = 23,并在k = 24移出。即使收盘价没有上涨,原始读数仍会发生5 → 50的变化。
平滑K随后依次变化为5 → 20 → 35 → 50。计算没有错误:旧极值移出后,分母改变了。这并不能证明出现新买盘压力。将指标拐头解释为加速之前,应核对滚动极值与价格本身。
11. 在共同有效区间内比较参数
缩短区间或减少平滑可能改变转折,但波动更活跃的线并不自动成为更好的信号。每次只改变一个选择:先固定n和d改变s,再固定s和d改变n。参数筛选不应使用留作评估的样本区间。
比较图在同一段震荡历史上使用(14, 1, 3), (14, 3, 3), (5, 3, 3), (21, 3, 3)。图从k = 24开始,此时所有对应的D序列均已可用。事件计数应覆盖相同观测,后续策略测试也应采用相同成本假设。
12. 区分背离、RSI与Stochastic RSI
随机指标将价格在滚动区间中的位置归一化。RSI比较平滑后的上涨与下跌变动。Stochastic RSI则对RSI值本身进行区间归一化,因此三者不能互换。同一价格的相关变换同时给出类似结果,也不自动构成独立确认。
背离比较还必须定义价格摆动及其可知时间。需要后续两根K线确认的拐点,在拐点自身那根K线上尚不可知。应记录每个摆动何时确认;指标不一致本身既不能提供及时入场,也不能防止趋势继续延伸。
13. 使用已收盘K线与正确报价侧
形成中的K线会改变Close、High、Low以及两条指标线。盘中可见的交叉可能在收盘前消失。自动化实现应区分当前未完成缓冲值shift = 0与最近已完成缓冲值shift = 1,并将两条线的读取同步到同一根K线。
例如在10:05 UTC,覆盖10:00–11:00 UTC的H1 K线尚未完成。最近完成的H1收盘边界为10:00 UTC。低周期决策不能使用该H1将来的最终收盘价。Bid计算也不会消除BUY开仓或SELL平仓时需要承担的Ask报价成本。
14. 将指标事件与交易成本分开
四个报价场景是独立假设,不是指标图生成的交易。每个场景采用Bid参考价毛变动±5 pips、点差1.2 pips、开仓与平仓不利滑点0.3 + 0.2 pips,以及往返佣金0.6 pips。点差已经体现在可执行报价侧中,不应重复扣除。
有利的BUY按1.10015成交,并按1.10048平仓:佣金前为3.3 pips,净值为2.7 pips。对称SELL场景的净值也为2.7 pips。不利场景为−7.3 pips。这些例子只说明成本算术,并未建立胜率、预期收益或可执行优势。
15. 解释信号之前先复算示例
第一个CSV包含253行虚构H1 OHLC,涵盖上涨、震荡、旧高点移出、完全平坦历史,以及独立的3根窗口小型示例。列中保留两种平滑方法、多组参数及可用性。空单元格表示不可用,而不是零。
第二个文件提供9组K/D观测,用于检查相等和缺失数据;第三个文件包含4个独立的假设报价场景。比较事件前应重算极值与平滑。n=3的小例不能与n=14主图混用,也不能把这些人为构造的历史当作市场实证。
16. 单独评估完整策略
可测试的策略还需要明确市场、周期、事件顺序、首个允许执行的报价、取消规则、仓位、止损、离场和成本。在衡量结果之前,应先规定过期信号、跳空和不可用观测的处理方式。指标指南不能替代这些决策。
评估实际实现时,应采用具有代表性的Bid/Ask历史数据、未参与筛选的评估样本和后续前向观察。除收益外,还应报告回撤、不利执行与参数敏感性。本指南的目的在于使读数可复现,而不是宣称存在普遍最优的参数或交叉。
常见问题
随机指标高于80是否应该卖出?
不是。它表示相对近期滚动区间处于高位,并可能在上涨期间持续。反转入场需要另外规定可测试的价格与执行规则。
14、3、3分别表示什么?
应明确参数名称。本指南中n=14为区间长度,s=3平滑K,d=3形成D。MetaTrader的参数顺序则为K周期、D周期、Slowing。
MetaTrader与TradingView为何可能不一致?
其公开构造可能分别采用比值的普通平均与求和后的比值。价格字段、经纪商数据、K线边界和平均方法也会影响结果。
已收盘K线上的交叉能否保证有效?
不能。收盘只确定该观测的信息时间,并不证明预测能力、可接受的成交价或策略盈利。
收盘价不变时,指标能否上升?
可以。旧高点移出窗口后,区间可能缩窄,位置比值随之升高。CSV在不提高收盘价的条件下复现了这一变化。
区间宽度为零时怎么办?
按明确的研究约定将其记为不可用,并单独核对平台的替代规则。不要默默填补未定义比值,把它变成交易信号。
来源与研究说明
两项一手资料记录TradingView和MetaQuotes MT4公开的指标构造。虚构历史、可用性规则、反例及假设报价均为原创教学计算。实际安装平台的行为仍需另行核对。
教学指南。采用虚构OHLC与独立假设报价,不包含历史回测、已观察订单、经测量的优势或结果保证。