大家好!今天我们来聊聊iSpread,这是一款在MetaTrader 5平台上使用的点差指标,专为对冲交易而设计。通过这个指标,你可以基于两个选定的交易对创建出一个合成符号。
下面是这个指标的算法流程:

- 开始日期 - 选择构建合成符号的开始日期,避免使用不必要的旧历史数据。
- 符号 1/2 - 选择两个初始交易对。
接下来,我们需要准备输入数据。

- 操作 - 选择一种算术操作,将两个系列合并为一个。可用的操作有4种:- + / * 我一般使用差值和比值。虽然求和和乘积也可能有用,但我还没尝试过。如果有人有经验,欢迎分享!
- 符号反向 1/2 - 如果相关性为负,则反转所选系列。
- 符号指数 1/2 - 对所选系列进行指数运算。虽然我知道这个选项是必要的,但我自己不太使用,因为不太理解为啥需要这样做。我认为可以用来平衡两个系列的维度,但我一般用乘数来达到目的。如果我的理解没错,那这两种方法的优劣是什么呢?
- 符号乘数 1/2 - 将系列乘以某个数字。我用这个来平衡系列的维度。
- 对数 - 将结果系列转换为对数尺度。如果我使用对数,通常会用两个原始系列之间的差值来生成最终系列。如果不使用这个选项,就选择比值作为操作。一般来说,转换到这种尺度可以避免二次趋势的影响,但在短期内我并没有看到太大区别,所以经常选择比值。如果我理解错了,欢迎指正!
- 平滑周期 - 当所有操作完成后,在将两个系列合并为一个之前,有时使用简单的移动平均线对结果数据进行轻微平滑。我通常用指定周期的简单MA来平滑,这几乎不会造成失真,但可以去掉一些尖峰。如果你不想使用平滑,可以将该参数设置为0。在使用短周期去除趋势时(后面会提到选项),我通常不使用平滑。使用平滑不会造成大值时的数据损失,同时使最终系列更平滑,噪音更少。
这就是我们准备数据和创建合成符号所需做的所有工作。我们已经完成的步骤如下:
我们选择了EURUSD:

我们选择了GBPUSD:

这就是我们的合成符号:

最后一步是确定所需的偏差,以寻找入场点:

- 选择算法 - 使用简单MA或一阶差分去除结果系列的趋势。我知道两种方法(我更喜欢第二种)。第一种是从结果系列中去除所需周期(滞后)的MA,滞后期是基于投资期限选择的。MA是基于简单算法的。尚不清楚是否有必要使用指数移动平均,以及它们的区别。欢迎大家讨论。第二种方法是先对每个交易对进行一阶差分,然后在结果之间进行差分。当没有强烈走势时,两种方法的最终结果相似;而当出现强烈走势时,第一种方法会更快速地让合成结果回归到0,往往会出现误导。关于一阶差分,我使用的是Close[1]/Close[2],即“第一比率”,虽然我没听过这个术语。
- 算法周期 - 滞后,偏移。如果设置为0,合成符号将不会被修改。
- 显示水平 - 显示或隐藏偏差水平,穿越这些水平表示进入市场的决策。我通常在两个方向上使用三种水平:红色、黄色和绿色。
- 水平计算方法 - 我知道三种确定这些水平的方法。方法1(在0..1区间内进行归一化的偏移)- 去除趋势的合成符号在单位范围内进行归一化,随后偏移=-0.5,这样波动就围绕0进行。通常我使用这种方法,但请注意,在没有稳定极值的情况下,初始数据仍然会归一化,这些值不应被考虑。由于指标不会在更新极值后重绘过去的值,所以在图表上会显示如下:

但在经历了两三次良好的初始系列背离之后,你可以开始信任这些水平。随着数据的积累,归一化的极值不会丢失。
方法2(极值水平) - 仅仅跟踪绝对最大偏差,并将其分成3个水平以进入市场。
特征与归一化相同 - 不建议在未获得稳定极值之前相信这些水平。
使用这种方法时,我们会看到如下图像:

使用上述任一水平绘制方法的一个显著优点是,水平不会缩窄。但也有一个缺点 - 如果出现尖峰,后续的计算会受到其影响。为了解决这个问题,指标还有一个参数叫做水平系数(这是一个可以手动缩窄或扩展进入市场的水平的因子)。
方法3绘制水平的方式 - 标准偏差的计算。这种方法在指标中没有实现,因为它会导致水平缩窄,我认为这是不可接受的。结果,水平看起来像气泡,持续缩窄和扩展。不幸的是,我无法提供截图,因为我已经将这种计算方法从所有指标中移除。另一个缺点是,必须不断检查所有可用数据以正确计算所有内容。
P.S. 该指标已经从MetaTrader 4迁移,以验证一些想法,但也有一些需要注意的地方:
- 如果无法获取所有数据,指标会产生一些噪声。我找不到原因,这在MetaTrader 4中并不会发生;
- 指标可以在历史数据缺失的情况下使用之前的数据,但由于第一点,我将数据留空,这样我们可以清楚地看到数据缺失的位置。
- 如果出现奇怪的图形,请刷新图表,改变周期、交易对等。
- 我尝试在没有数据时使用计时器,但结果不理想,所以我删除了计时器。
- 我怀疑1-4是由于我对MQL5知识的不够深入造成的,因此非常欢迎大家的反馈。