Pharos
TATrend

TA.DEMA() - 双重指数移动平均线

Double Exponential Moving Average (DEMA) 双重指数移动平均线,通过两次EMA计算减少滞后。

返回趋势指标目录


语法

python
TA.DEMA(data)
TA.DEMA(data, timeperiod=30)

参数

参数类型说明默认值
dataarray价格数据(通常为收盘价)-
timeperiodint计算周期30

返回值

返回双重指数移动平均线数组。


计算方法

plaintext
DEMA = 2 × EMA - EMA(EMA)

其中:
EMA1 = EMA(Close, N)
EMA2 = EMA(EMA1, N)
DEMA = 2 × EMA1 - EMA2

这种计算方式使DEMA比EMA响应更快,滞后更少。


特点

  • 低滞后:比EMA滞后更少
  • 高灵敏:快速响应价格变化
  • 平滑性:保持良好的平滑效果
  • 趋势跟踪:适合快速趋势捕捉

基础示例

python
def main():
    records = exchange.GetRecords()
    if len(records) < 50:
        return
    
    closes = [r['Close'] for r in records]
    price = closes[-1]
    
    dema20 = TA.DEMA(closes, 20)
    dema50 = TA.DEMA(closes, 50)
    
    # 价格与DEMA位置关系
    if price > dema20[-1] and dema20[-1] > dema50[-1]:
        Log("强势多头")
    elif price < dema20[-1] and dema20[-1] < dema50[-1]:
        Log("强势空头")

高级应用

DEMA突破策略

python
def dema_breakout():
    records = exchange.GetRecords()
    closes = [r['Close'] for r in records]
    
    dema = TA.DEMA(closes, 20)
    atr = TA.ATR(records, 14)
    
    price = closes[-1]
    threshold = atr[-1] * 0.5
    
    # 向上突破DEMA
    if price > dema[-1] + threshold and closes[-2] <= dema[-2]:
        exchange.Buy(-1, 1)
        Log("突破DEMA做多")
    
    # 向下跌破DEMA
    elif price < dema[-1] - threshold and closes[-2] >= dema[-2]:
        exchange.Sell(-1, 1)
        Log("跌破DEMA做空")

DEMA趋势跟踪

python
def dema_trend_following():
    records = exchange.GetRecords()
    closes = [r['Close'] for r in records]
    
    dema_fast = TA.DEMA(closes, 10)
    dema_slow = TA.DEMA(closes, 30)
    
    # 快慢线交叉
    if dema_fast[-1] > dema_slow[-1] and dema_fast[-2] <= dema_slow[-2]:
        # 金叉 + 确认
        if dema_fast[-1] - dema_slow[-1] > closes[-1] * 0.001:
            exchange.Buy(-1, 0.8)
            Log("DEMA金叉做多")
    
    elif dema_fast[-1] < dema_slow[-1] and dema_fast[-2] >= dema_slow[-2]:
        # 死叉 + 确认
        if dema_slow[-1] - dema_fast[-1] > closes[-1] * 0.001:
            exchange.Sell(-1, 0.8)
            Log("DEMA死叉做空")

参数优化

市场短周期长周期说明
快速5-1020-30日内高频
中速10-2030-50短期波段
慢速20-3050-100中长期趋势

与其他MA对比

指标滞后性灵敏度噪音复杂度
SMA最高最低最少简单
EMA简单
DEMA中等
TEMA最低最高复杂

注意事项

  1. 灵敏度高可能产生更多假信号
  2. 建议结合ATR或ADX过滤
  3. 震荡市场中表现一般
  4. 趋势明确时效果最佳

相关指标

  • EMA - 指数移动平均线
  • TEMA - 三重指数移动平均线
  • KAMA - 考夫曼自适应移动平均线
  • T3 - T3移动平均线

返回趋势指标目录 | 返回 TA 指标总目录