Each indicator can be added with the method Controller.addIndicator to an existing Controller. It returns the new instance of Indicator.
const indicator = controller.addIndicator('TEMA');
Similar to data loaders, the identifiers used to create indicators may also contain parameters. For example, "SMA(14)" will yield a simple moving average of the last 14 values. These parameters may be modified after the initial creation. For example, the following two examples result in the same indicator:
// specify parameter at creation
const indicator = controller.addIndicator('SMA(14)');
// specify parameter after creation
const indicator = controller.addIndicator('SMA');
indicator.set('period', 14);
To see which indicators are available, import plugins
from your bundle, and filter for clazzType
indicator
.
import { plugins } from '@stock3/charting-bundle-chartbreaker';
const indicators = Object.entries(plugins).filter(([pluginName, clazzDescriptor]) => clazzDescriptor.clazzType === 'indicator');
// [indicatorName, clazzDescriptor][]