JRC Fractal Dimension

JRC Fractal Dimension was authored by Mark Jurik of Jurik Research. The JRCFD uses highest, lowest, maximums, minimums, logarithms, feedback and finally, a Simple Moving Average to fulfill its fractal dimension. The user may change the input (close), size, count, smooth period length and method (SMA). This indicator’s definition is further expressed in the condensed code given in the calculation below.

JRC Fractal Dim

How To Trade Using JRC Fractal Dimension

JRC Fractal Dimension may be used in conjunction with other indicators. No trading signals are given.

How To Access in MotiveWave

Go to the top menu, choose Study>Oscillators>JRC Fractal Dimension

or go to the top menu, choose Add Study, start typing in this study name until you see it appear in the list, click on the study name, click OK.

Important Disclaimer: The information provided on this page is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security. Please see our Risk Disclosure and Performance Disclaimer Statement.


//input = price, user defined, default is close
//size = user defined, default is 20
//count = user defined, default is 5
//smoothP = user defined, default is 5
//method = moving average (ma) = user defined, default is SMA
//prev = previous, index = current bar number
//log = natural logarithm

wind1 = (count - 1) * size;
wind2 = count * size;
nlog = Math.log(count);
highest = highest(index, size, high);
lowest = lowest(index, size, low);
priorC = price[index-size];
smallRange = Math.max(priorC, highest) - Math.min(priorC, lowest);
highest = highest(index, wind2, high);
lowest = lowest(index, wind2, low);
priorC = price[index-wind2];
bigRange = Math.max(priorC, highest) - Math.min(priorC, lowest);
prevSS = ifNull(smallRange, smallSum[index-1]);   //returns smallRange on first try
priorSR = smallRange[index-wind1];
smallSum = prevSS + smallRange - priorSR;
if(smallSum lessThan 0) return;
temp = Math.log(bigRange/(smallSum/wind1));
fd = 2 - (temp / nlog);
Plot: jrcfd = ma(method, index, smoothP, fd);