How it is calculated
Two rates of change in percent over the long and the short ROC length, each (price divided by the earlier price, minus 1) times 100 and 0 on an earlier price of 0, are added. The curve is a weighted moving average of that sum over the WMA length, the newest value weighing the length and the oldest 1. Coppock 1962 used monthly closes with 14 and 11 months and a WMA over 10.
Reference: Coppock 1962, Barron's
How to read it
Coppock's buy signal was the curve turning up while below zero; he defined no sell signal. Above zero the two rates of change are positive on balance. On short bars it becomes an ordinary smoothed momentum line with many turns, and the long lengths make it late by design.
In a strategy
A long term entry filter on monthly or weekly bars: buy when ctx.ind("coppock", length=10, long=14, short=11) is below zero and higher than a bar earlier.
Inputs
| Input | Type | Default | Range or choices |
|---|---|---|---|
WMA lengthlength | Whole number | 10 | min 1, max 5000 |
Long ROC lengthlong | Whole number | 14 | min 1, max 5000 |
Short ROC lengthshort | Whole number | 11 | min 1, max 5000 |
Sourcesource | Price | "close" | close, open, high, low, hl2, hlc3, ohlc4, hlcc4 |
What it draws
| Line | Drawn as |
|---|---|
| Coppock | Line |
Guide lines at 0.
Used in
No strategy template reads it yet.