What is Pretty Good Oscillator

The “Pretty Good Oscillator” (PGO) by Mark Johnson measures the distance of the current close from its simple moving average of period average, expressed in terms of an average true range (see Average True Range) over a similar period. For instance, a PGO value of +2.5 would mean the current close is 2.5 average days’ range above the SMA. Johnson’s approach was to use it as a breakout system for longer-term trades. If the PGO rises above 3.0, then go long, or below -3.0, then go short, and in both cases exit on returning to zero (which is a close back at the SMA).

PGO Indicator

The Pretty Good Oscillator is an Oscillator indicator, and it measures the distance between the present close and its N-day simple moving average. It is also possible to catch divergences with the Pretty Good Oscillator, and they occur when the indicator and price do not move in the same direction.

How to calculate the PGO Indicator

Formula:- PGO = (close – sma(data, period)) / atr(data, period)

Why Use The PGO Indicator

The PGO indicates buying and selling signals. It takes the closing price, moving average price of the specific period, and ATR value of the specific period to calculate this indicator. This is a price-based indicator, and changing the price will change the Indicator movement. 

How to Use The PGO Indicator

Bullish Scenario:- Since it is an oscillator, the increase in PGO value indicates that the price is moving up, i.e. the market is bullish for the particular asset. PGO value can be taken into account, and the limits for buying and selling can be done accordingly.

Bearish Scenario:- Since it is an oscillator, the decrease in PGO value indicates that the price is moving down, i.e. the market is bearish for the particular asset.

Building The PGO Strategy in Mudrex


BUY:- PGO crossesup 2 with signal period of 14 days.

SELL:- PGO crossesdown (-2) with signal period of 14 days

TIME FRAME:- 90min

Creating on Mudrex:- 

We will use 2 PGO indicator blocks. One for selling and One for buying.

For buying, we will use the following settings:-

For selling, we will use the following settings:-

Final Strategy:-


Running on Binance Futures: BTC/USDT with tick interval of 90min yielded an overall profit of 272.41%


Connect on our Discord: https://discord.gg/huZz3qP