### Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....

#1 Selling Amibroker Plugin featuring:

Neural Networks
And Much More ....
Find Out More Here

### Rotation Factor for Amibroker (AFL) mohitjohar about 5 years ago Amibroker (AFL)

Rating:
Tags:
amibroker

R Factor is a sentimental indicator used in Market Profile to Indicate who is control (Buyers/Sellers) in the market for the day. If the r factor prints positive values every day then it mean buyers are in control in the market. Negative Values indicates sellers are in control. Same principle can be applied to investing as well.

### Indicator / Formula

```_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();```

1.

Can we customize it for Intraday?

2.

Chart does not appear and nothing seems to happen.Plz check. Thanks.

3.
````_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();````
4.

original author and source link – https://www.marketcalls.in/amibroker/rotation-factor-amibroker-afl-code.html

5.

yuvi – I’m confused, what are you saying? Your post just repeats the original formula, no added value.

6.

the code writen above for intraday. To use it in daily chart, change

day() with
month()