Chaikin Money Flow (CMF)

Overview

Developed by Marc Chaikin, Chaikin Money Flow measures the amount of Money Flow Volume over a specific period. Money Flow Volume forms the basis for the Accumulation Distribution Line. Instead of a cumulative total of Money Flow Volume, Chaikin Money Flow simply sums Money Flow Volume for a specific look-back period, typically 20 or 21 days. The resulting indicator fluctuates above/below the zero line just like an oscillator. Chartists weigh the balance of buying or selling pressure with the absolute level of Chaikin Money Flow. Chartists can also look for crosses above or below the zero line to identify changes on money flow.

Mathematical description of the indicator please see at: Mathematical Description of Technical Indicators

to top

Adding indicator

To add any indicator to the chart, you need to use Data Provider with the fields required by the indicator. When such Data Provider is ready - you can add indicator to the chart.

Preparing Data Provider

Chaikin Money Flow indicator needs Data Provider with High, Low, Close and Volume fields.

Sample XML/JSON of Data Provider, which can be used to create Chaikin Money Flow indicator:

XML/JSON Syntax
Plain code
03     <data_provider data_set="dataSet1" id="dpMsft">
04       <fields>
05         <field type="High" column="2" approximation_type="High" />
06         <field type="Low" column="3" approximation_type="Low" />
07         <field type="Close" column="4" approximation_type="Close" />
08         <field type="Volume" column="5" approximation_type="Sum" />
09       </fields>
10     </data_provider>
01{
03    {
04      dataSet: "dataSet1",
05      id: "dpMsft",
06      fields: [
07        {
08          type: "High",
09          column: 2,
10          approximationType: "High"
11        },
12        {
13          type: "Low",
14          column: 3,
15          approximationType: "Low"
16        },
17        {
18          type: "Close",
19          column: 4,
20          approximationType: "Close"
21        },
22        {
23          type: "Volume",
24          column: 5,
25          approximationType: "Sum"
26        }
27      ]
28    }
29  ]
30}

to top

Indicator Declaration

As soon as Data Provider is ready you can add an indicator to a chart.

Chaikin Money Flow indicator is usually shown on the chart below the chart with data (stock data). So we should declare it in another chart. Learn more about charts and layout in Chart Layout article.

XML/JSON for Chaikin Money Flow declaration, note that there are two charts defined - one is used to show the stock data, and another one contains technical indicator:

XML/JSON Syntax
Plain code
01 <?xml version="1.0" encoding="UTF-8"?>
02 <stock xmlns="http://anychart.com/products/stock/schemas/1.9.0/schema.xsd">
03   <settings>
04     <charts>
05       <chart>
06         <series_list>
07           <series type="Line" data_provider="dpMsft" />
08         </series_list>
09       </chart>
10       <chart>
11         <technical_indicators>
12           <technical_indicator type="CMF" data_provider="dpMsft" />
13         </technical_indicators>
14       </chart>
15     </charts>
16   </settings>
17 </stock>
01{
02  settings: {
03    charts: [
04      {
05        seriesList: [
06          {
07            type: "Line",
08            dataProvider: "dpMsft"
09          }
10        ]
11      },
12      {
13        technicalIndicators: [
14          {
15            type: "CMF",
16            dataProvider: "dpMsft"
17          }
18        ]
19      }
20    ]
21  }
22}

After all things mentioned above are done, you can create a chart with Chaikin Money Flow indicator, see basic Live Sample with it below:

Live Sample:  Technical Indicators - Adding Chaikin Money Flow Indicator

to top

Indicator parameters

Chaikin Money Flow has one type-specific parameter - period. This parameter is set in <cmf_indicator> node, where all settings for Chaikin Money Flow indicator are set.

XML for setting Chaikin Money Flow parameters:

XML/JSON Syntax
Plain code
01{
02  type: "CMF",
03  dataProvider: "dpMsft",
04  cmfIndicator: {
05    period: 60
06  }
07}

As you can see you just need to set period attribute in <cmf_indicator> node, it accepts any integer greater than 1.

Live sample below shows smoothed CMF(60) indicator:

Live Sample:  Technical Indicators - Chaikin Money Flow Parameters

to top

Visualization

To visualize and tune visualization of technical indicators AnyChart Stock Component uses the same methods as for the data series.

By default Chaikin Money Flow is shown as series of Line type, but you can use almost any of available series types to show it on the chart - Spline, Area or Stick, for example.

Chaikin Money Flow indicator settings are contained in <cmf_indicator> node, also in this node you can put <series> subnode - this node defines how exactly indicator is displayed on the chart. This node is identical to <series> node used to describe data series, so you can do with indicator anything you can do with series.

Sample XML for changing indicator visualization:

XML/JSON Syntax
Plain code
01 <chart>
03     <technical_indicator type="CMF" data_provider="dpMsft">
04       <cmf_indicator>
05         <series type="Spline" color="#469833">
06           <name><![CDATA[CMF(20)]]></name>
07           <line_series thickness="2" />
08         </series>
09       </cmf_indicator>
10     </technical_indicator>
12 </chart>
01{
03    {
04      type: "CMF",
05      dataProvider: "dpMsft",
06      cmfIndicator: {
07        series: {
08          type: "Spline",
09          color: "#469833",
10          name: "CMF(20)",
11          lineSeries: {
12            thickness: 2
13          }
14        }
15      }
16    }
17  ]
18}

Live sample below shows settings shown above:

Live Sample:  Technical Indicators - Chaikin Money Flow Visualization Settings

to top