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 FileLoad StreamBase Sample.

  • Type macd to narrow the list of options.

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

  • Click OK.

StreamBase Studio creates a project for the sample.

Running MACD.sbapp in StreamBase Studio

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

  2. Open the src/main/eventflow folder.

  3. Open the package folder (most samples contain a single package folder. Open the top-level package folder if your sample contains more than one folder).

  4. Open the named application file and click the Run button. This opens the SB Test/Debug perspective and starts the application.

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

    If red marks do not resolve themselves in a moment, select the project and right-click MavenUpdate Project from the context menu.

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

  6. When done, press F9 or click the Stop Running Application 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 StreamBase 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.