Double Exponential Moving Average (DEMA)

StratCraft indicator page for the DEMA fast moving average line.

Route: /indicators/dema/

What It Does

DEMA reduces lag compared with a standard EMA by combining two EMA passes into one output line. It is useful for smoother trend tracking with less delay.

Formula

DEMA = 2 * EMA(price) - EMA(EMA(price))

Parameters

  • period - default 30
  • _movav - default EMA

C++23 API

#include <nonabt/indicators/dema.hpp>
auto dema = std::make_unique<nonabt::DEMA>(data().close(), 30, "EMA");

Common Usage

  • Use DEMA for faster-moving trend filters.
  • Combine it with price crossovers or another slower average.
  • Good for systems that want less lag than SMA or EMA.

Practical Pattern

Buy when price reclaims DEMA and sell when price loses it, or combine DEMA with a slower moving average for crossover logic.