学习如何基于 MFI 设计交易系统

如果您阅读了本系列的其它文章,您会发现,它的主题编排与前面提到的每个新策略相同,有关于指标的新信息和一些新代码,以此来尝试学习有关交易和 MQL5 编码的新概念。 我们将学习什么是 MFI 指标,它衡量什么,以及如何手工计算,从而了解其背后的主要概念。 然后,我们将看到计算 MFI 指标的示例。 当然,这些只是基础。 考虑到它背后的基本概念,我们需要学习一个更重要的主题,即如何在简单的策略中运用它。 之后,我们将为每个提到的策略设计一个分步蓝图,以便帮助我们据其设计一款交易系统。 最有趣的话题是发掘我们如何利用 MQL5 为这些策略创建一个交易系统,以便在 MetaTrader 5 交易平台中运用它们。

为了能够依据您的高胜算交易策略创建您自己的交易系统,我建议您自行完成全部编码。 不要只满足于阅读理解,而是要尽可能应用您所阅读的内容,自己编写每一行代码。 最好去搜索函数和编程的概念,从而深入了解它们,因为这将帮助您掌握更多。 不要忘记,任何成功的程序员最重要的技能之一就是除了实践之外,还知道如何有效地搜索,因为这两件事在任何学习或开发环节中都非常重要。

此外,在运用任何策略之前,您都必须对其进行测试,特别是如果其主要目的只是出于教学。 没有适合所有人的策略。 故此,对我有用的东西对您可能用处不大。

贯穿本文,我们将以 MetaQuotes(MQL5)语言在 MetaTrader 5 的内置 MetaEditor 中编写策略代码。 如果您想知道如何下载并使用 MetaEditor,请阅读上一篇文章中的在 MetaEditor 里编写 MQL5 代码主题。

免责声明:所有信息“按原样”提供仅用于教学目的,并非出于交易目的或建议。 这些信息不能保证任何结果。 如果您选择在您的任何交易账户上使用这些材料,您将自行承担风险,您是唯一的责任人。 

现在,我们览阅我们的主题,直接学习一种新的工具,从而增加交易百宝箱中的工具数量。

MFI 定义

在本节中,我们将详细讲述资金流动性指数(MFI)指标,并查看该指标背后的概念,该指标是基于交易量的指标之一。 我们将了解它是什么,加上它测量的是什么,然后我们将通过分析一个示例来学习如何手工计算它。

如前一篇文章所述,交易量是交易中的一个重要因素。 充分的成交量分析令我们在交易中占据前沿,因为市场中有许多层面能影响到它。 您了解的层面越多,您就可以制定出更好的决策,因为获得的知识会增加证据的权重,从而引导您朝着特定的方向做出特定的决策。

如果我们有一项资产经历了巨量买卖,相比交易量较低的资产,显然该资产的重要性更高。 在金融市场中,交易量是一段时间内所交易股票或合约的数量。 当价格在上涨趋势中突破阻力位,或在下跌趋势中突破支撑位时,看到伴随高额成交量是最好的,因为这是走势强度的重要标志之一。 最好是,在上升趋势期间,成交量伴随走势上扬同时放大,调整期间联动下降;以及在下跌趋势期间,成交量伴随走势下挫降低,调整期间联动放大。 如果我们看到成交量伴随趋势变化,这是确认当前趋势的重要标志之一。

资金流动性指数(MFI)指标由 Gene Quong 和 Avrum Soudack 创建。 这是一个基于成交量的指标,但它在计算中采用价格和成交量来衡量买卖压力。 它在 0 和 100 之间移动。 MFI 指标的提升意味着存在买入压力,反之亦然,MFI 的减少意味着存在卖出压力。 它也许能确认趋势方向,也可以发出逆转警告。 如果您想了解更多关于趋势的信息,可以阅读前面一篇文章中的趋势定义主题。

MFI 手工计算包括多个步骤:

  • 计算典型价格 (TP) = (最高价+最低价+收盘价)/3
  • 计算原始资金流动性 = 交易量 * TP
  • 判定 TP 的走势: 向上或向下。 如果当期 TP > 前期 TP = 向上;如果当期 TP < 前期 TP = 向下。
  • 计算 1+MF = 上升期间的原始 MF
  • 计算 1-MF = 下降期间的原始 MF
  • 计算 14 +MF = 14 周期的 (1+MF) 求和
  • 计算 14 -MF = 14 周期的 (1-MF) 求和
  • 计算 14 周期 MF 比率 = 14+MF / 14-MF
  • 计算 MFI = 100-100/(1+MF 比率)

如果我们有金融产品的以下数据,我们来看看应用它的计算示例:

天数最高价最低价收盘价交易量
155535412000
256545510000
361596015000
467646520000
563586010000
65852555000
76458607000
85247507500
95248488000
105048495000
114947486000
124847477500
135046489000
1452454710000
155546497000
165345477500
175143466000
185042445000
1950434515000

如果我们需要根据之前的数据计算 MFI 指标,我们需执行以下步骤:

计算典型价格 (TP) = (最高价+最低价+收盘价)/3

以下是计算后得到的 TP:

计算原始资金流动性 = 交易量 * TP

判定 TP 的走势: 向上或向下

计算 1+MF = 上升期间的原始 MF

计算 1-MF = 下降期间的原始 MF

计算 14 +MF = 14 周期的 (1+MF) 求和

计算 14 -MF = 14 周期的 (1-MF) 求和

计算 14 周期 MF 比率 = 14+MF / 14-MF

计算 MFI = 100-100/(1+MF 比率)

在之前的步骤中,我们手工计算了 MFI 指标,但现在我们不需要这样做。 既然我们已经掌握了指标背后的概念,我们就可用 MetaTrader 5 中的内置指标。 您所需做到的全部就是从可用指标中选择:

启动 MetaTrader 5 -->,单击插入选项卡 --> 指标 --> 交易量 --> 资金流动性指数

选择资金流动性指数后,将显示指标参数:

1. 期望的指标周期。

2. 交易量类型 (跳价或真实).

3. MFI 线颜色。

4. 线类型。

5. MFI 线宽度。

单击“确定”后,MFI 指标将被加载到图表:

MFI 策略

在本节中,我们将学习在辨别出 MFI 指标是什么、它衡量什么、以及它背后的主要概念之后,如何运用它。 现在,我们将学习一些可以运用的简单策略。

  • 策略一: MFI - OB 和 OS:

根据该策略,我们将识别超买(OB)和超卖(OS)区域。 当 MFI 接近 20 等级时,这将是一个超卖(OS)区域,当它接近 80 等级时,它将是超买(OB)区域。 超卖区域提升了潜在上涨的可能性,反之亦然,超卖区域则增加了潜在下跌的可能性。

如此,我们可以说: 

MFI <= 20 --> OS

MFI >= 80 --> OB

  • 策略二: MFI - 上行趋势 — 做多:

根据该策略,我们将等待 MFI 低于或等于 50,即看到买入信号被触发。 相应的等级 70 就是获利了结信号。 这一策略背后的理论依据是,大多数情况下,MFI 在上升趋势中位于 50 和 70 之间移动。

故此,

MFI <= 50 --> 做多信号

MFI >= 70 --> 获利了结信号

  • 策略三: MFI - 下行趋势 — 做空:

该策略将与前一策略(MFI -上升趋势 — 做多)相反,因为我们需要看到 MFI 高于或等于等级 50,即表示触发抛售信号,当 MFI 低于或等于等级 30 时,则发出获利了结信号。 这背后的理论依据是,在大多数情况下,MFI 在下跌趋势期间位于 50 至 30 等级间移动。

故此,

MFI >=50 --> 做空信号

MFI <= 30 --> 获利了结

  • 策略四: MFI - 上行趋势或背离:

根据这一策略,我们需要指标来确认当前的走势是否强劲。 我们可以通过比较当期和前期的 MFI 值,以及当期和前期的高点来看出这一点,并查看是否能确认当前走势强劲或存在背离。 那么,在上升趋势中,如果当期 MFI 大于前期 MFI,且当期高点大于前期高点,则表示当前走势强劲;但如果当期 MFI 小于前期 MFI,且当期高点高于前期高点,则表示存在看跌背离,因为该指标未能确认价格走势。 您可以调整数值的长度以便进行比较,这有助于理解概念。

故此,

当期 MFI > 前期 MFI 且当期高点 > 前期高点 --> 强势上扬

当期 MFI < 前期 MFI 且当期高点 > 前期高点 --> 看跌背离

  • 策略五: MFI - 下行趋势或背离:

该策略与前一个策略(MFI- 上升趋势或背离)相反,因为我们还需要该指标来确认当前走势是否强劲,或者通过仅比较两个值来确认是否存在简单形式的背离。 那么,如果当期 MFI 小于前期,并且当期低点小于前期,这意味着当前下行走势强劲,但如果当期 MFI 大于前期那个,且当期低点低于前期那个,则意味着存在看涨背离。

简而言之,

当期 MFI < 前期 MFI 且当期低点 < 前期低点 --> 强势下行

当期 MFI > 前期 MFI 且当期低点 < 前期低点 --> 看涨背离

MFI 策略蓝图

在本章节中,我们将为每种策略设计一个蓝图,来帮助我们为每一种策略创建一款交易系统,但首先,我们要设计一个简单的交易系统蓝图,作为所有提到的交易策略的基础。 此简单系统仅在图表上注释里显示 MFI 当期值。 因此,我们需要计算机检查每次跳价时的 MFI 值,然后将该值显示在图表上的注释里。 实现这一点的蓝图如下所示:

现在,我们将为每个策略设计一个蓝图,如下所示:

  • 策略一: MFI - OB 和 OS:

基于这一策略,我们需要向交易系统发出指令,以便检查每次跳价时的 MFI 值,并将该值与特定等级(20 和 80)进行比较,结果作为图表上的注释显示,并根据该比较结果决定或返回。 如果 MFI 小于或等于 20,它将返回超卖和当期 MFI 值,作为图表上的注释,并将每条注释放在单独的一行中。 如果 MFI 大于或等于 80,它将返回超买和当期 MFI 作为图表上的注释,每条注释都在单独的一行中。 如果 MFI 高于 20 且低于 80,则仅返回 MFI 当期值。 这样做的蓝图如下:

  • 策略二: MFI - 上行趋势 — 做多:

根据这一策略,我们也需要交易系统检查 MFI 值、50 和 70 等级,以便决定 MFI 是否小于或等于 50,如此它必须返回做多信号。 如果 MFI 大于或等于 70,它必须返回一个获利了结信号,以下是实现这一点的蓝图:

  • 策略三: MFI - 下行趋势 — 做空:

根据这一策略,我们需要交易程序根据 MFI、50 和 30 等级之间的比较向我们发出警报。 如果 MFI 大于或等于 50,则它必须返回做空信号,如果 MFI 小于或等于 30,则必须返回获利了结信号。 以下针对它的蓝图:

  • 策略四: MFI - 上行趋势或背离:

根据这一策略,我们需要设计一款交易系统,能够检查每次跳价时的四个数值(当期 MFI、前期 MFI、当期高点和前期高位),并决定将生成哪个信号。

当期 MFI > 前期 MFI 且当前高点 > 前期高点 --> 强势上扬信号

当期 MFI < 前期 MFI 且当期高点 > 前期高点 --> 看跌背离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值