MACD Sample

About This Sample

Moving Average Convergence Divergence (MACD) is a momentum indicator that follows trends and shows the relationship between two moving averages of prices. This sample calculates the MACD by subtracting the 26-day Exponential Moving Average (EMA) from a 12-day EMA. A 9-day EMA of MACD, called the signal, is then computed.

The aggregate function exp_moving_avg emits Null until the aggregate operator receives enough tuples to compute the first moving average. The filter operators filter out tuples that contains Null.

The application also includes an Excel spreadsheet that displays the MACD and signal values. The MACD and signal lines are plotted automatically.

Importing This Sample into StreamBase Studio

In StreamBase Studio, import this sample with the following steps:

  • From the top-level menu, click File>Import Samples and Community Content.

  • Enter macd to narrow the list of options.

  • Select Calculate Moving Average Convergence Divergence from the Applications category.

  • Click Import Now.

StreamBase Studio creates a project for the sample.

Running This Sample in StreamBase Studio

  1. In the Project Explorer view, open the sample you just loaded.

    If you see red marks on a project folder, wait a moment for the project to load its features.

    If the red marks do not resolve themselves after a minute, select the project, right-click, and select Maven>Update Project from the context menu.

  2. Open the src/main/eventflow/packageName folder.

  3. Open the MACD.sbapp file and click the Run button. This opens the SB Test/Debug perspective and starts the module.

  4. Select the Feed Simulations view. In that view, select the feed simulation file MACD.sbfs and click Run.

  5. When done, press F9 or click the Terminate EventFlow Fragment button.

This Sample's Files

The MACD sample application consists of:


EventFlow application


Feed simulation file


Feed simulation data file


A Microsoft Excel file that you can use in conjunction with the Spotfire Streaming Adapter for Microsoft Excel. See the Adapters Guide for more information on this external adapter

Sample Location

When you load the sample into StreamBase® Studio, Studio copies the sample project's files to your Studio workspace, which is normally part of your home directory, with full access rights.


Load this sample in StreamBase® Studio, and thereafter use the Studio workspace copy of the sample to run and test it, even when running from the command prompt.

Using the workspace copy of the sample avoids permission problems. The default workspace location for this sample is:


See Default Installation Directories for the default location of studio-workspace on your system.