免费期货量化软件策略:学习如何基于牛市力量设计交易系统

牛市力量定义

在本主题中, 赫兹期货量化将详细辨别牛市力量指标,来理解其背后的主要概念。 牛市力量指标与我们在上一篇文章《学习如何依据熊市力量设计交易系统》中提到的熊市力量相反。 牛市力量是由亚历山大·埃尔德(Alexander Elder)开发的,它衡量市场的看涨程度,也可以观察多头变得疲软,来示意空头是否参与了游戏。 它是一个振荡器指标,围绕零轴上下起伏。 因此,该指标也让我们认识到驱动市场走势的最重要因素,这就是需求和供给。

赫兹期货量化是如何手工计算这个指标,那就是我们要辨别以下步骤:

  • 获取最高值(特定时间段内的最大值)。

  • 获取指数移动平均值 EMA。

  • 获取最高点和指数移动平均线之间的差值。

牛市力量 = 高点值 - EMA

多头控制市场时,他们大多数时候都会不断将市场推向更高的价位。 故此,我们用公式中的高点值来计算牛市力量,因为我们需要衡量这些多头,然后我们将得到这个高点和 EMA 之间的差值,从而获得一个振荡器指标,该值围绕我们之前提到的零轴振荡,当我们发现牛市力量值接近零轴,并变得低于前值时,我们可得到多头变疲软的迹象。

此指标与另外的趋势指标一同配合使用更佳,因为它将提供更有效的洞察力,就像我们将在本文中提到的策略之所为一样。 这个概念很有帮助,也是技术分析的特色之一,因为我们能够利用众多概念来获得更多见解,并从不同的角度观察金融产品,在我们制定决策时给予更重的份量。

如今,赫兹期货量化不需要手工计算这个指标,因为它已在 赫兹期货量化交易终端中内置,我们需要做的就是点击插入 --> 指标 --> 振荡器 --> 牛市力量,将其插入图表之中。 我们也可浏览下图看到这一点:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

选择指标后,我们会看到其以下参数窗口:

编辑

添加图片注释,不超过 140 字(可选)

1 - 确定将在计算中采用的周期。

2 - 确定牛市力量柱线的颜色。

3 - 确定牛市力量柱线的宽度。

确定这些参数,并按“确定”后,我们会见到指标插入到图表中,如下所示:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

正如我们在上一张图表中下部一样,我们将指标附加到图表上,其柱线围绕零轴振荡,就像我们提到的一样,若数值高于零轴时,这意味着多头控场,且当它接近并变得低于零轴时,这意味着它们变得疲软。 当多头变疲软时,我们可以看到空头入场参与游戏,并不断将价格推向低位来控制市场,或者至少,市场由于多头、空头之间的胶着而处于平衡。

牛市力量策略

在这一部分中,赫兹期货量化将学习如何在简单的策略里运用牛市力量,这些策略则根据该指标的基本概念使用。 以下是这些策略及其条件。 我需要在此确认,这些以教学为主要宗旨的策略是为了理解指标背后的主要概念,以及我们该如何运用它,因此您必须在实盘账户上使用它们之前全面测试,从而确保您的交易能因其受益。

  • 策略一: 牛市力量走势

根据该策略,赫兹期货量化需要根据当期和前期牛市力量值的位置来得到信号。 如果当期值大于前期值,这将是牛市力量指标上升的信号。 反之亦然,如果当期值低于前期值,这将是牛市力量下降的信号。

简言之,它将与以下相同:

当期牛市力量 > 前期牛市力量 --> 牛市力量正在上升 当期牛市力量 < 前期牛市力量 --> 牛市力量正在下降

  • 策略二:牛市力量 - 强劲或背离

基于该策略,赫兹期货量化需要评估四个值来获得一个信号,通知我们是否存在强劲走势或背离,这些值是当期高点、前期高点、牛市力量、和前前牛市力量。 如果当期高点高于前期高点,当期牛市力量值高于前期,我们视其为强劲走势的信号。 若是另一种情况下,如果当期高点高于前期高点,而当期牛市力量值低于前期值,我们视其为看跌背离的信号。

简言之,它将与以下相同:

当期高点 > 前期高点,且当期牛市力量 > 前期牛市力量 --> 强势走势 当期高点 < 前期高点,且当期牛市力量 > 前期牛市力量 --> 看跌背离

  • 策略三: 牛市力量信号

根据该策略,赫兹期货量化需要一个可用于获取买入和卖出信号的信号,我们将根据该策略评估四个值来做到这一点。 这四个值是当期牛市力量、零轴、当期收盘价、和当期指数移动平均线。 如果当期牛市力量低于零轴,当期收盘价低于指数移动平均线,我们视其为卖出信号。 如果当期牛市力量大于零轴,当期收盘价大于指数移动平均线,则这是买入信号。

简言之,它将与以下相同:

当期牛市力量 < 零轴,且当期收盘价 < EMA --> 卖出 当期牛市力量 > 零轴,且当期收盘价 > EMA --> 买入

牛市力量策略蓝图

在本主题中,赫兹期货量化将为每个提到的策略设计一个分步蓝图,来帮助我们规划思路,并轻松、顺畅地创建我们的交易系统。

  • 策略一: 牛市力量走势

赫兹期货量化需要计算机检查每次跳价时的两个数值,这些值在创建之后就会确定,它们是当期牛市力量和前期牛市力量。 我们要求程序检查这些数值,来了解每一个的位置。 如果当期牛市力量值大于前期,我们要求程序或智能系统在图表上的注释里返回以下信号,每个值占据单独一行:

  • 牛市力量正在上升

  • 牛市力量值

  • 牛市力量前期值

赫兹期货量化还需要考虑另一种场景。 如果当期牛市力量值低于前期值,我们要求智能系统返回一条注释,其中包含以下值,且每个值都在单独的行中:

  • 牛市力量正在下降

  • 牛市力量值

  • 牛市力量前期值。

以下是基于该策略的交易系统的简单蓝图:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • 策略二:牛市力量 - 强劲或背离

基于该策略,赫兹期货量化要求交易系统检查四个数值,它们是当期高点、前期高点、当期和前期牛市力量值。 之后,我们要求判定当期高值是否高于前期,同时当期牛市力量值高于前期,我们要求交易系统在图表上返回一条注释信号,包含以下数值,每个数值都在单独的行中:

  • 强劲走势

  • 当期高点值

  • 前期高点值

  • 当期牛市力量值

  • 前期牛市力量值

在另一种场景下,如果当期高值高于前期,同时当期牛市力量值低于前期,我们要求交易系统在图表上返回含有以下数值的注释信号:

  • 看跌背离

  • 当期高点值

  • 前期高点值

  • 当期牛市力量值

  • 前期牛市力量值

以下是直观地以简单形式绘制的蓝图,来帮助我们基于该策略创建交易系统。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

  • 策略三: 牛市力量信号

基于该策略,赫兹期货量化需要创建一个交易系统,在每次跳价时检查四个数值,它们是当期牛市力量、零轴、当期收盘价、和当期指数移动平均线。 我们需要判定当期牛市力量是否低于零轴,同时如果当期收盘价低于指数移动平均线,我们要求智能系统在图表上返回含有以下数值的注释信号,且每个数值都在单独的行中:

  • 卖出信号

  • 当期收盘价

  • 当期 EMA 值

  • 当期牛市力量值

在另一种情况下,如果当期牛市力量高于零轴,同时当期收盘价高于指数移动平均线,我们要求交易系统返回含有以下数值的注释信号:

  • 买入信号

  • 当期收盘价

  • 当期 EMA 值

  • 当期牛市力量值

以下是一个简单的分步蓝图,归纳我们的思路,并创建基于该策略的交易系统。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

牛市力量交易系统

在本主题中,赫兹期货量化将学习如何为每个拟议的策略创建交易系统,但我们将基于牛市力量创建一个简单的交易系统,以便在图表上返回注释信号,其中包含牛市力量的当期值,并以其作为所有策略的基础。

以下是创建该交易系统的代码。

第一步:我赫兹期货量化们将为 “bullpower” 创建一个 double 类型的数组:

 
 

double bullpowerArray[];

第二步:赫兹期货量化将调用 “ArraySetAsSeries” 函数为这个创建的数组设置排序,并返回一个布尔值。

 
 

ArraySetAsSeries(bullpowerArray,true);

第三步:赫兹期货量化为 “bullpowerDef” 创建一个整数型变量,我们调用 “iBullsPower” 函数定义牛市力量指标,并返回指标的句柄。 参数为:

symbol: 我们采用 (_Symbol) 对应当前应用的品种名称。

period: 我们采用 (_Period) 对应当前时间帧周期。

ma_period: 我们采用 13 作为移动均线周期。

 
 

int bullpowerDef = iBullsPower(_Symbol,_Period,13);

第四步: 赫兹期货量化调用 “CopyBuffer” 函数从牛市力量指标中获取数据,并填充已创建数组。 该函数参数:

indicator_handle: 这是指标句柄,我们将取用(bullpowerDef)里的值。

buffer_num: 指标缓冲区编号,我们将采用(0)。

start_pos: 数据起始位置,我们将采用(0)。

count: 要复制的数量,我们将采用(3)。

buffer[]: 所需复制的目标数组,我们将取用(bullpowerArray)。

 
 

CopyBuffer(bullpowerDef,0,0,3,bullpowerArray);

第五步:赫兹期货量化创建 “bullpowerVal” 变量之后,调用 “NormalizeDouble” 函数返回双精度类型值。 该函数参数:

value: 我们将取用(bullpowerArray[0]) 作为常规化数字。

digits: 我们将采用 (6) 作为小数点之后的数字长度。

 
 

double bullpowerVal = NormalizeDouble(bullpowerArray[0],6);

第六步:我赫兹期货量化们将调用 Comment 函数在图表上生成含有当前牛市力量值的注释:

 
 

Comment("Bull's Power Value is ",bullpowerVal);

以下是之前步骤的完整代码:

 
 

//+------------------------------------------------------------------+ //| Simple Bull's Power.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ void OnTick() { double bullpowerArray[]; ArraySetAsSeries(bullpowerArray,true); int bullpowerDef = iBullsPower(_Symbol,_Period,13); CopyBuffer(bullpowerDef,0,0,3,bullpowerArray); double bullpowerVal = NormalizeDouble(bullpowerArray[0],6); Comment("Bull's Power Value is ",bullpowerVal); } //+------------------------------------------------------------------+

再往后,赫兹期货量化编译此代码,并在导航器窗口中查看此代码的智能系统,如下所示:

编辑

添加图片注释,不超过 140 字(可选)

双击这个简单牛市力量,并在 赫兹期货量化终端上执行它,我们将看到它的窗口与以下内容相同:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

按下“确定”后,我们会发现智能系统附加到图表上,如下所示:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

正如赫兹期货量化在右上角的上一张图表中所见,智能系统已经加载到图表之中。 现在,我们已准备好在图表上接收更新含有当前牛市力量值的自动注释,且与以下测试示例相同:

编辑

添加图片注释,不超过 140 字(可选)

正如我们在左上角的上一张图表中所见,我们得到含有当期牛市力量值的注释。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部