诚信为本
量力而为
当前位置:峰汇在线 ea编程知识 正文

DeMarker(DeM)指标与 iDeMarker() 函数简介

DeMarker(DeM)指标,又称为汤马士·德马克指标,是由汤马士·德马克(Thomas DeMark)发明的一种震荡指标。DeMarker指标主要用于评估市场的过度买入或过度卖出状态,以预测价格反转的可能性。其数值范围通常在0到1之间,常用的阈值为0.3和0.7。当DeMarker指标值超过0.7时,市场被认为处于过度买入状态,交易者可以考虑卖出。当DeMarker指标值低于0.3时,市场被认为处于过度卖出状态,交易者可以考虑买入。当DeMarker指标值从高于0.7跌至0.7以下时,表示可能出现顶部反转,交易者可以考虑卖出。当DeMarker指标值从低于0.3上升至0.3以上时,表示可能出现底部反转,交易者可以考虑买入。顶背离:当价格创新高点,而DeMarker指标未能创新高点时,存在顶部背离,交易者可以考虑卖出。 底背离:当价格创新低点,而DeMarker指标未能创新低点时,存在底部背离,交易者可以考虑买入。

DeMarker(DeM)指标

一、DeMarker指标的算法

DeMarker指标的计算方法如下:

  1. 计算当前周期(N)内最高价与前一周期最高价之差:DeMax = Max(High – High[1], 0)
  2. 计算当前周期(N)内最低价与前一周期最低价之差:DeMin = Max(Low[1] – Low, 0)
  3. 计算DeMax的N周期移动平均值:SMA_DeMax = SMA(DeMax, N)
  4. 计算DeMin的N周期移动平均值:SMA_DeMin = SMA(DeMin, N)
  5. 计算DeMarker值:DeM = SMA_DeMax / (SMA_DeMax + SMA_DeMin)

二、iDeMarker()函数介绍

在MT4平台中,可以使用内置的iDeMarker()函数来计算DeMarker指标。该函数的原型如下:

double iDeMarker
( 
 string symbol, // 交易品种
 int timeframe, // 时间周期
 int period, // 计算周期 
 int shift // 偏移值
 );

参数说明:

  • symbol:交易品种,如”EURUSD”,”GBPUSD”等。若使用当前品种,则输入NULL。
  • timeframe:时间周期,如PERIOD_M1、PERIOD_M5、PERIOD_H1等。
  • period:计算周期,即N值,通常设置为14。
  • shift:偏移值,用于获取历史数据。如shift=0表示当前周期,shift=1表示前一周期。

iDeMarker()函数的返回值是计算得到的DeMarker指标值。

三、iDeMarker()函数用法示例

以下是一个简单的MQL4脚本,用于计算EURUSD货币对在H1周期上的DeMarker指标值:

// 需要在策略中包含以下头文件
#include <TechnicalIndicators.mqh>

void OnStart()
{
   string symbol = "EURUSD";
   int timeframe = PERIOD_H1;
   int period = 14;
   int shift = 0;

   double dem_value = iDeMarker(symbol, timeframe, period, shift);
   Print("DeMarker值: ", dem_value);
}

通过此示例,您可以了解如何在MT4中使用iDeMarker()函数计算DeMarker指标值,并根据需求进行相应的交易策略设计。

综上所述,DeMarker指标是一种有用的技术分析工具,可以帮助交易者判断市场的过度买入或过度卖出状态。通过使用MT4平台上的iDeMarker()函数,交易者可以方便地计算DeMarker指标值,并结合其他技术分析指标来设计自己的交易策略。然而,需要注意的是,任何技术指标都无法100%预测市场行为,因此在实际操作中应结合多种技术指标和风险管理方法。

版权所有转载请注明标题及链接:峰汇在线 » DeMarker(DeM)指标与 iDeMarker() 函数简介