// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN( "R Factor - Market Profile" );

RF = 0;
NewDay = day() != Ref( day(), -1 );

for( i = 1; i < BarCount; i++ )
{
    if( NewDay[i] == True )
    {
        BarsUp[i] = 0;
        BarsDown[i] = 0;
        RF[i] = 0;

    }

	//If Current Bar Makes HH and HL
    if( H[i] > H[i - 1] AND L[i] > L[i - 1] AND !NewDay[i] )
    {
        RF[i] = RF[i - 1] + 2;
    }

	//If Current Bar Makes LH and LL
    if( H[i] < H[i - 1] AND L[i] < L[i - 1] AND !NewDay[i] )
    {
        RF[i] = RF[i - 1] - 2;
    }

	//If Current Bar Makes HH and LL
    if( H[i] > H[i - 1] AND L[i] < L[i - 1] AND !NewDay[i] )
    {
        RF[i] = RF[i - 1];
    }

	//If Current Bar Makes LH and HL
    if( H[i] < H[i - 1] AND L[i] > L[i - 1] AND !NewDay[i] )
    {
        RF[i] = RF[i - 1];
    }

    if( H[i] == H[i - 1] AND L[i] > L[i - 1] AND !NewDay[i] )
    {
        RF[i] = RF[i - 1] + 1;
    }

    if( H[i] > H[i - 1] AND L[i] == L[i - 1] AND !NewDay[i] )
    {
        RF[i] = RF[i - 1] + 1;
    }

    if( H[i] < H[i - 1] AND L[i] == L[i - 1] AND !NewDay[i] )
    {
        RF[i] = RF[i - 1] - 1;
    }

    if( H[i] == H[i - 1] AND L[i] < L[i - 1] AND !NewDay[i] )
    {
        RF[i] = RF[i - 1] - 1;
    }

}

Plot( 0, "", colorred, styleline );
Plot( RF, "Rotational Factor", IIf( RF > 0, colorGreen, colorRed ), styleHistogram | stylethick );

_SECTION_END();