Fibonacci Levels on Log Scale

Q:  When I tick ‘log’ in chart properties, I get different scale numbers for the Fibonacci levels than I do when using ‘price’ scale.  That I expected.   However, when I change the height of the log chart, the Fibonacci numbers change slightly.  Why?

A:  The Fibonacci tool on a log scale is based on graphical distance, such as 50% of the wave’s vertical height.  When on the log scale, we have to reverse engineer a price for the pixel that is in the middle of the wave.  There is not a pixel for every possible price. We have to use a formula to calculate prices based on the scale range and the number of pixels in the range.  When the chart’s height changes, the number of pixels in the range changes which changes the result that is returned.

Take this example, which is simple.  Say the price interval is 10, and there are 3 pixels on the screen for this interval, one at the top, one at the bottom, and one in the middle. 10 divides by 2 intervals nicely to give a midpoint price calculation of 5.  Now increase the height to use 4 pixels.  One at the top, one at the bottom, and 2 in the middle. Now 10 is divided by 3 intervals. The pixels return prices of 3.3333 and 6.667. But there is no pixel to read that happens to fall on 5.

For a regular price scale, the calculation is based solely on price and returns the exact value of $5 in this example.  But for log scale, the program finds the pixel nearest the 50% distance and reverse engineers the pixel’s price which in this case would be 3.333 or 6.667.

Now this example is an extreme case of nearly no resolution with just 3 or 4 pixels. In actual use a chart has dozens of pixels vertically and the log scale will have a pixel very near the intended price.  But there is likely no pixel that is exactly and conveniently on the division point.

In summary, on regular price scale the calculated levels are the exact price. On the log scale, the pixel for where the line is placed computes a price for the pixel position.