Bullish Percent Index for .NET
Author: Cone
Creation Date: 1/14/2009 3:28 PM
profile picture


BPI is a useful sentiment indicator based on market action. It represents the percentage of the DataSet symbols whose last Point and Figure signal was a "double-top buy". Extreme readings indicate significant market peaks and troughs.

The parameter defaults use the Log method with a 2.5% box size and 3 reversal boxes, which is a 7.5% P&F reversal. The log method is definitely the preferred P&F method for BPI since you're dealing with stocks that have widely varied price ranges.

I'll eventually add this code to the Programmming Guide in the Backtesting with ChartStyles.Trending > Column Class (Reference) > Point and Figure section.

Please log in to see this code.
profile picture


Hi Cone,

Excellent example!
It should be noted this BullishPercentIndex does not use the same calculation as the stockcharts.com $BPNYA symbol.

In the WL5.1 editor, I wish it would display the methods when I '.' the class object for the TPnF and related class, like the other indicators.

profile picture


does not use the same calculation
Considering I don't know what $BPNYA is, I'd assume it's is different than what you get with the code above. However, the "calculation" gives you the Bullish Percent Index as defined in "The Definitive Guide to Point and Figure" by Jeremy du Plessis.

There are several variables (linear vs. percentage, box size, number of boxes, etc.) that will give you different results too. Further note that the absolute correct way of keeping BPI is to keep track of it to use a dynamic index list that represents the actual index symbols over the historical period. Practically speaking, however, I don't think that's required.
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).