var slopeN(vars Data, int Period)
{
var SX = 0, SY = 0, SXY = 0, SXX = 0;
int i;
for(i = 0; i < Period; i++) {
SX += i;
SY += Data[i];
SXY += i*Data[i];
SXX += i*i;
}
var Nom = Period*SXY - SX*SY;
var Denom = Period*SXX - SX*SX;
if(Denom == 0.) return 0.;
return Nom / Denom;
}
function run()
{
set(PARAMETERS);
BarPeriod = 15;
StartDate = 20220101;
asset("EUR/USD");
vars Price = series(priceClose());
var sma = SMA(Price, 20);
var rsi = RSI(Price, 14);
var slopeVal = slopeN(Price, 10);
var trend = sign(slopeVal);
var risk = slider(1, 5000, 1000, 10000, "Risk", "Risk setting");
var atr = ATR(14);
var stopLevel = clamp(atr*2, 10, 50);
var normRSI = clamp(rsi/100, 0, 1);
var tradeVol = clamp(10000 / fix0(atr), 1, 5);
if(crossOver(Price, sma) && normRSI < 0.7)
enterLong();
plot("RSI", normRSI, NEW, RED);
}