Conversion of SP Indicator useThinkScript community page
Forums › ProRealTime English forum › ProBuilder support › Conversion of SP Indicator useThinkScript community page
- This topic has 4 replies, 4 voices, and was last updated 1 week ago by
gp38super.
-
-
02/09/2025 at 3:02 AM #243630
#// Indicator for TOS
#// © Smoker024
#indicator(“SP Indicator”, overlay=true)
# Converted by Sam4Cok@Samer800 – 10/2024input showBands = yes;
input source = close;
input lookback = 60;
input multi = 0.2;def na = Double.NaN;
def exitLength = RoundUp(lookback / 4, 0);Script ma {
input src = close;
input len = 15;
def sqLen = Round(sqrt(len), 0);
def wma1 = wma(src, len);
def wma2 = wma(src, len / 2);
def ma = wma(2 * wma2 – wma1, sqLen);
plot out = ma;
}
def tr = TrueRange(high, close, low);
def BBMC = ma(source, lookback);
def rangema = ExpAverage(tr, lookback);
def upperk =BBMC + rangema * multi;
def lowerk = BBMC – rangema * multi;
def col = if source > upperk then 1 else if source < lowerk then -1 else 0;def ExitHigh = ma(high, exitLength);
def ExitLow = ma(low, exitLength);
def Hlv3 = if source > ExitHigh then 1 else if source < ExitLow then -1 else Hlv3[1];
def sslExit = if Hlv3 < 0 then ExitHigh else ExitLow;
def base_cross_Long = (close > sslExit) and (close[1] <= sslExit[1]);
def base_cross_Short = (sslExit > close) and (sslExit[1] <= close[1]);
def codiff = if base_cross_Long then 1 else if base_cross_Short then -1 else 0;plot ExitArrowUp = if codiff>0 then low else na;
plot ExitArrowDn = if codiff<0 then low else na;
plot maTrendLine = BBMC; # ‘MA Trendline’
plot limitUp = if showBands then upperk else na;
plot limitDn = if showBands then lowerk else na;maTrendLine.SetLineWeight(2);
maTrendLine.AssignValueColor(if col>0 then Color.CYAN else if col<0 then Color.MAGENTA else Color.GRAY);
limitUp.AssignValueColor(if col>0 then Color.CYAN else if col<0 then Color.MAGENTA else Color.GRAY);
limitDn.AssignValueColor(if col>0 then Color.CYAN else if col<0 then Color.MAGENTA else Color.GRAY);
ExitArrowUp.SetDefaultColor(Color.CYAN);
ExitArrowDn.SetDefaultColor(Color.MAGENTA);
ExitArrowUp.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
ExitArrowDn.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);Plots Up and Down arrows
Variable options:
02/09/2025 at 12:29 PM #243635Pine script code is here
02/11/2025 at 4:00 PM #243731Here it is:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071//---------------------------------------////PRC_SP Indicator//version = 1//11.02.2025//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//---------------------------------------//// inputs//---------------------------------------//src=closelen=60//---------------------------------------//// Moving Average and Bands//---------------------------------------//bbmc=average[max(1,round(sqrt(len))),2](average[max(1,round(len/2)),2](src)*2-average[len,2](src))rangema=average[len,1](tr)upperk=bbmc+rangema*0.2lowerk=bbmc-rangema*0.2//---------------------------------------//// Colors Definition//---------------------------------------//if close>upperk thenr=33g=150b=243elsif close<lowerk thenr=225g=64b=251elser=120g=123b=134endifdrawcandle(open,high,low,close)coloured(r,g,b)//---------------------------------------//// Signals//---------------------------------------//srcH=highlenH=15ExitHigh=average[max(1,round(sqrt(lenH))),2](average[max(1,round(lenH/2)),2](srcH)*2-average[lenH,2](srcH))srcL=lowlenL=15ExitLow=average[max(1,round(sqrt(lenL))),2](average[max(1,round(lenL/2)),2](srcL)*2-average[lenL,2](srcL))if close>ExitHigh thenHlv3=1elsif close<ExitLow thenHlv3=-1endifif Hlv3<0 thensslExit=ExitHighelsesslExit=ExitLowendifbaseCrossLong=close crosses over sslExitbaseCrossShort=close crosses under sslExitif baseCrossLong thencodiff=1drawarrowup(barindex,low-rangema*0.5)coloured(33,150,243)elsif baseCrossShort thencodiff=-1drawarrowdown(barindex,high+rangema*0.5)coloured(225,64,251)elsecodiff=1=undefinedendif//---------------------------------------//return bbmc coloured(r,g,b)style(line,2)1 user thanked author for this post.
02/11/2025 at 5:04 PM #243736I took the liberty of making a few changes to it, in order to make it little bit faster… at least i tried 🙂
SP Indicator1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374//---------------------------------------////PRC_SP Indicator//version = 1//11.02.2025//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//---------------------------------------//// inputs//---------------------------------------//src=closeonce len=60once sqrtlen = round(sqrt(len))//---------------------------------------//// Moving Average and Bands//---------------------------------------//bbmc=average[sqrtlen,2](average[round(len/2),2](src)*2-average[len,2](src))rangema=average[len,1](tr)upperk=bbmc+rangema*0.2lowerk=bbmc-rangema*0.2//---------------------------------------//// Colors Definition//---------------------------------------//if close>upperk thenr=33g=150b=243elsif close<lowerk thenr=225g=64b=251elser=120g=123b=134endifdrawcandle(open,high,low,close)coloured(r,g,b)//---------------------------------------//// Signals//---------------------------------------////srcH=highonce lenH = 15once sqrtlenH = round(sqrt(lenH))ExitHigh=average[sqrtlenH,2](average[round(lenH/2),2](high)*2-average[lenH,2](high))//srcL=lowonce lenL = 15once sqrtlenL = round(sqrt(lenL))ExitLow=average[sqrtlenL,2](average[round(lenL/2),2](low)*2-average[lenL,2](low))if close>ExitHigh thenHlv3=1elsif close<ExitLow thenHlv3=-1endifif Hlv3<0 thensslExit=ExitHighelsesslExit=ExitLowendifbaseCrossLong=close crosses over sslExitbaseCrossShort=close crosses under sslExitif baseCrossLong thencodiff=1drawarrowup(barindex,low-rangema*0.5)coloured(33,150,243)elsif baseCrossShort thencodiff=-1drawarrowdown(barindex,high+rangema*0.5)coloured(225,64,251)elsecodiff=1=undefinedendif//---------------------------------------//return bbmc coloured(r,g,b,100)style(line,5)02/13/2025 at 11:33 AM #243765 -
AuthorPosts
Find exclusive trading pro-tools on