# Bullish Percent

Hello, is there a way to get bullish percent indices in Optuma? Is this through the breadth functionality? I use DTNIQ for data as well. Thanks.

Whilst we have Point & Figure charts, I don’t think our breadth calculator works with P&F scripts so we wouldn’t be able to create them. I’ll pass on to our development team to see if this is something we can do.

Have you looked at Gann Swings and Market Breadth? Here’s the % of SPX where the 3 bar Gann Swing is up, ie bullish:

D1 = GANNSWING(SWINGCOUNT=3, METHOD=Use Next Bar);
SWINGUP(D1)

Let me know what you think.

I may be oversimplifiying this but couldn’t we use something “like”:

```X1 = POINTFIGURESWING(BOXSIZE=2.0%, CALCUSING=High/Low, SHOWGRID=False, REVCOUNT=3);
X2 = SWINGUP(X1);
X2[] > X2[1]```

though the results are vastly incorrect when market breadth is built compared to BPI providors? Please assist.

Trying to get this somewhat closer to Bullish Percent Index is it possible to ignore the Gann swings counts and only focus on the breakouts? I think if we only count the breakouts on say a 3 or 4 bar Gann swing… this would be closer?

Breakout as defined here:
https://help.optuma.com/kb/faq.php?id=626​
Use Breakout: This option can only be used with a swing count greater than one. If the turning point of the previous swing is exceeded before the number of bars in the swing count has occurred this is called a ‘breakout’ and the new swing will be drawn. For example, with a two bar swing count, a down day occurs on the first day that has taken out the previous swing low. Normally this bar would not be considered in the calculation until the second down day, but by selecting the Use Breakout option the next swing is drawn on the first bar.​

An Upswing breakout for example would remain and be counted as a breakout as long as it exceeds prior breakout point.

Hi,

To identify only the codes that have a Gann Swing Up generated by the Breakout Rule, i’d use the following script:

```//Set Swing with Breakout
D1BRK = GANNSWING(SWINGCOUNT=3, METHOD=Use Outside Bar, USEBREAKOUT=True, USECLUSTERS=True, USEINSIDE=False);
//Set Swing without Breakout
D1= GANNSWING(SWINGCOUNT=3, METHOD=Use Outside Bar, USEBREAKOUT=False, USECLUSTERS=True, USEINSIDE=False);
//Find Up Swings for both setups
D2 = SWINGUP(D1) and CLOSE() > 0;
D3 = SWINGUP(D1BRK) and CLOSE() > 0;
//Show results only for codes where the Up Swing was generated by a Breakout
D2 == 0 and D3 == 1```

I’ve attached a workbook example linked to the ASX All Ords. For Mondays data (07-12-2020) of the 303 total Swing Ups found, only 14 were generated by the Breakout rule.

GSBreakoutOnly.owb (223 KB)