Hi Friends,
Can anybody help me to convert below formula to AFL-
/* RSI with Exponential Moving Average */
var rsi_period = Param(1);
var ema_period = Param(2);
var close = Close();
var chg = CreateArray(close.length);
chg[0] = 0.0;
var i = 0;
for(i=1;i<close.length;i++)
{
chg = close - close[i-1];
}
var adv = CreateArray(close.length);
adv[0] = 0.0;
for(i=1;i<close.length;i++)
{
if (chg > 0)
adv = chg;
else
adv = 0.0;
}
var dec = CreateArray(close.length);
dec[0] = 0.0;
for(i=1;i<close.length;i++)
{
if (chg < 0)
dec = -(chg);
else
dec = 0.0;
}
var avggain = ExpAvg(adv,rsi_period);
var avgloss = ExpAvg(dec,rsi_period);
var rs = CreateArray(close.length);
var rsi = CreateArray(close.length);
for(i=0;i<close.length;i++)
{
if (avggain == 0.0 && avgloss == 0.0)
rs = 0.0;
else
{
if (avgloss != 0.0)
rs = avggain/avgloss;
else
rs = -999;
}
}
for(i=0;i<close.length;i++)
{
if (rs == -999)
rsi = 100;
else
{
if (rs == 0.0)
rsi = 0.0;
else
rsi = 100-(100/(1+rs));
}
}
var rsiema = ExpAvg(rsi,ema_period);
AddGraph(rsi,rsi_period+1);
AddGraph(rsiema,rsi_period+1+ema_period);
AddHorizLine(70);
AddHorizLine(30);
I wish to select below values for -
RSI - 13
EMA - 8
Thanking you in anticipation.
Regards,
Pankaj
Can anybody help me to convert below formula to AFL-
/* RSI with Exponential Moving Average */
var rsi_period = Param(1);
var ema_period = Param(2);
var close = Close();
var chg = CreateArray(close.length);
chg[0] = 0.0;
var i = 0;
for(i=1;i<close.length;i++)
{
chg = close - close[i-1];
}
var adv = CreateArray(close.length);
adv[0] = 0.0;
for(i=1;i<close.length;i++)
{
if (chg > 0)
adv = chg;
else
adv = 0.0;
}
var dec = CreateArray(close.length);
dec[0] = 0.0;
for(i=1;i<close.length;i++)
{
if (chg < 0)
dec = -(chg);
else
dec = 0.0;
}
var avggain = ExpAvg(adv,rsi_period);
var avgloss = ExpAvg(dec,rsi_period);
var rs = CreateArray(close.length);
var rsi = CreateArray(close.length);
for(i=0;i<close.length;i++)
{
if (avggain == 0.0 && avgloss == 0.0)
rs = 0.0;
else
{
if (avgloss != 0.0)
rs = avggain/avgloss;
else
rs = -999;
}
}
for(i=0;i<close.length;i++)
{
if (rs == -999)
rsi = 100;
else
{
if (rs == 0.0)
rsi = 0.0;
else
rsi = 100-(100/(1+rs));
}
}
var rsiema = ExpAvg(rsi,ema_period);
AddGraph(rsi,rsi_period+1);
AddGraph(rsiema,rsi_period+1+ema_period);
AddHorizLine(70);
AddHorizLine(30);
I wish to select below values for -
RSI - 13
EMA - 8
Thanking you in anticipation.
Regards,
Pankaj