uppercrust
New member
This is my favorite indicator and I have used it in Tradingview and eSignal but cannot find a TOS study anywhere. Does anyone have the script for this for TOS? Thank you
Join useThinkScript to post your question to a community of 21,000+ developers and traders.
DoubleSmoothedStochastic is standard in ToS
# version of Bressert double
# decides bar color
#lines are colorizzed
declare lower;
input N_Period = 8;
input R_Period = 13;
def Ln = Lowest(low, N_Period);
def Hn = Highest(high, N_Period);
def EMA_r = ExpAverage(close, R_period);
def Y = ((close - Ln)/(Hn - Ln)) * 100;
plot X = ExpAverage(Y, R_period);
x.SetPaintingStrategy(PaintingStrategy.LINE);
x.SetLineWeight(3);
x.AssignValueColor(if x < x[1] then Color.red else if x > x[1] then Color.green else Color.white);
x.SetDefaultColor(GetColor(8));
def Lxn = Lowest(x, n_period);
def Hxn = Highest(x, n_period);
def DSS = ((X - Lxn)/(Hxn - Lxn)) * 100;
plot DSSb = ExpAverage(Dss, R_period);
DSSb.SetPaintingStrategy(PaintingStrategy.LINE);
DSSb.SetLineWeight(2);
DSSb.AssignValueColor(if DSSb < DSSb[1] then Color.red else if DSSb > DSSb[1] then Color.green else Color.white);
plot DSSsignal = DSSb[1];
#DSSsignal.setdefaultcolor(color.MAGENTA); original
DSSsignal.SetPaintingStrategy(PaintingStrategy.LINE);
DSSsignal.SetLineWeight(2);
DSSsignal.AssignValueColor(if DSSsignal < DSSsignal[1] then Color.magenta else if DSSsignal > DSSsignal[1]
then Color.green else Color.white);
x.SetDefaultColor(GetColor(8));
plot FiftyLine =50;
fiftyLine.setdefaultColor(color.gray);
fiftyline.setlineweight(1);
plot Overbought = 80;
overbought.setdefaultColor(color.RED);
overbought.setlineweight(2);
plot Oversold = 20;
oversold.setdefaultColor(color.GREEN);
oversold.setlineweight(2);
#input PriceColor = No;
#assignPriceColor(pricecolor and
# if x > x[1] then Color.GREEN
# else if x < x[1] then Color.RED else Color.WHITE);
The Bressert BLine The Bressert BLine is an RSI based indicator designed to identify trading cycles in all time frames. It turns somewhat slower than the Bressert Double Stochastic, but has a higher accuracy in identifying trading cycle tops and bottoms. The Double Stoc Buy/Sell signal averages about 70% across all times frames; the BLine averages better than 80% across all time frames. At times the Bressert BLine will generate a Setup Bar/Entry signal at the same time as the Double Stoc. At other times, it will generate a Setup Entry signal following the Double Stoc, confirming the Double Stoc signal. | |
The BLine plots in the oscillator sub-graph of the chart. |
no but it does sound interesting
The Bressert BLine
The Bressert BLine is an RSI based indicator designed to identify trading cycles in all time frames. It turns somewhat slower than the Bressert Double Stochastic, but has a higher accuracy in identifying trading cycle tops and bottoms. The Double Stoc Buy/Sell signal averages about 70% across all times frames; the BLine averages better than 80% across all time frames.
At times the Bressert BLine will generate a Setup Bar/Entry signal at the same time as the Double Stoc. At other times, it will generate a Setup Entry signal following the Double Stoc, confirming the Double Stoc signal.The BLine plots in the oscillator sub-graph of the chart.
Anyone familiar with this?
I thought so also considering the signal accuracy for those that use stochasticsno but it does sound interesting
Caveman, would you be so kind as to comment on how do you use it?Rango,
My limited understanding is that there are two primary DSS's used - one by Blau and one by Bressert... The best explanation I can give you is these two links...
1. Cuz I hate typing... and am bad at it... and
2. All I know is that the Bressert one was recommended to me by a close friend who I trust and seems to know what he's talking about... I've been using it consistently - and can't tell if it's any better than the Blau model - give 'er a shot and see what you think...
Bressert: https://www.lizardindicators.com/in...llators/double-smoothed-stochastics-bressert/
Blau: https://www.lizardindicators.com/in...-indicators/double-smoothed-stochastics-blau/
Sorry I don't have a simple answer to your question... that's all I got! GL!
Caveman
@apdusp,
@codydog was nice enough to provide script for a line colorized version... you'll see multiple variations of this indicator on the internet...
1. I use this indicator as an additional verification in conjunction with the Aroon, ADX (Wilder), and TTM Squeeze...
2. I set mine up for n=8, and r=13 (mainly because I want to mirror what other intraday traders are seeing... and that seems to be the most widely used setup)
3. In simple terms I monitor the "X" line of this indicator - It doesn't just indicate overbought and oversold, but the colorized addition allows you to instantly see bullish/bearish indications... I find that when matched with avg volume +, it has made a fairly reliable trend indicator when combined with Aroon, and ADX (Wilder)
4. I find the DSSb and the DSSSignal to react mainly as attention getters as they are much more sensitive to initial trend movement... and for simplicity sake changed them both to a plot thickness of 1 and left X at 3...
Hope that helps - GL!
Caveman
@Caveman @codydog Thank you both for great code and share your knowledges. I have studied the movement of SPY today with this indication, in addition to 21, 55, 100, and 200 EMA along with bollinger band (Friday that is), I am using 15 min and 5 min. It does look extremely reliable.
What time frame do you use it for?
Is there a Scan for this?@uppercrust
You mean this?
Code:# version of Bressert double # decides bar color #lines are colorizzed declare lower; input N_Period = 8; input R_Period = 13; def Ln = Lowest(low, N_Period); def Hn = Highest(high, N_Period); def EMA_r = ExpAverage(close, R_period); def Y = ((close - Ln)/(Hn - Ln)) * 100; plot X = ExpAverage(Y, R_period); x.SetPaintingStrategy(PaintingStrategy.LINE); x.SetLineWeight(3); x.AssignValueColor(if x < x[1] then Color.red else if x > x[1] then Color.green else Color.white); x.SetDefaultColor(GetColor(8)); def Lxn = Lowest(x, n_period); def Hxn = Highest(x, n_period); def DSS = ((X - Lxn)/(Hxn - Lxn)) * 100; plot DSSb = ExpAverage(Dss, R_period); DSSb.SetPaintingStrategy(PaintingStrategy.LINE); DSSb.SetLineWeight(2); DSSb.AssignValueColor(if DSSb < DSSb[1] then Color.red else if DSSb > DSSb[1] then Color.green else Color.white); plot DSSsignal = DSSb[1]; #DSSsignal.setdefaultcolor(color.MAGENTA); original DSSsignal.SetPaintingStrategy(PaintingStrategy.LINE); DSSsignal.SetLineWeight(2); DSSsignal.AssignValueColor(if DSSsignal < DSSsignal[1] then Color.magenta else if DSSsignal > DSSsignal[1] then Color.green else Color.white); x.SetDefaultColor(GetColor(8)); plot FiftyLine =50; fiftyLine.setdefaultColor(color.gray); fiftyline.setlineweight(1); plot Overbought = 80; overbought.setdefaultColor(color.RED); overbought.setlineweight(2); plot Oversold = 20; oversold.setdefaultColor(color.GREEN); oversold.setlineweight(2); #input PriceColor = No; #assignPriceColor(pricecolor and # if x > x[1] then Color.GREEN # else if x < x[1] then Color.RED else Color.WHITE);
Uncommenting last few line throws an error. Did anyone run into this issue ?@uppercrust
You mean this?
Code:# version of Bressert double # decides bar color #lines are colorizzed declare lower; input N_Period = 8; input R_Period = 13; def Ln = Lowest(low, N_Period); def Hn = Highest(high, N_Period); def EMA_r = ExpAverage(close, R_period); def Y = ((close - Ln)/(Hn - Ln)) * 100; plot X = ExpAverage(Y, R_period); x.SetPaintingStrategy(PaintingStrategy.LINE); x.SetLineWeight(3); x.AssignValueColor(if x < x[1] then Color.red else if x > x[1] then Color.green else Color.white); x.SetDefaultColor(GetColor(8)); def Lxn = Lowest(x, n_period); def Hxn = Highest(x, n_period); def DSS = ((X - Lxn)/(Hxn - Lxn)) * 100; plot DSSb = ExpAverage(Dss, R_period); DSSb.SetPaintingStrategy(PaintingStrategy.LINE); DSSb.SetLineWeight(2); DSSb.AssignValueColor(if DSSb < DSSb[1] then Color.red else if DSSb > DSSb[1] then Color.green else Color.white); plot DSSsignal = DSSb[1]; #DSSsignal.setdefaultcolor(color.MAGENTA); original DSSsignal.SetPaintingStrategy(PaintingStrategy.LINE); DSSsignal.SetLineWeight(2); DSSsignal.AssignValueColor(if DSSsignal < DSSsignal[1] then Color.magenta else if DSSsignal > DSSsignal[1] then Color.green else Color.white); x.SetDefaultColor(GetColor(8)); plot FiftyLine =50; fiftyLine.setdefaultColor(color.gray); fiftyline.setlineweight(1); plot Overbought = 80; overbought.setdefaultColor(color.RED); overbought.setlineweight(2); plot Oversold = 20; oversold.setdefaultColor(color.GREEN); oversold.setlineweight(2); #input PriceColor = No; #assignPriceColor(pricecolor and # if x > x[1] then Color.GREEN # else if x < x[1] then Color.RED else Color.WHITE);
Start a new thread and receive assistance from our community.
useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.
We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.
If you are new, or just looking for guidance, here are some helpful links to get you started.