Thanks again for sharing your Chart setup and the RSI Momentum indicator. I added an EMA plot to it with a length of 7 and have seen nice entries when the EMA crosses over the 50 and I exit when the EMA leaves the shaded area (Purple or Red). I have to remember how to send screen shots so I can show you on the charts. I added these two lines of code:http://tos.mx/cNO3irL my tos trading chart share link
Join useThinkScript to post your question to a community of 21,000+ developers and traders.
declare lower;
input audioalert = yes;
input length = 3;
input over_Bought = 70;
input over_Sold = 30;
input price = hlc3;
input averageType = AverageType.WILDERS;
input showBreakoutSignals = no;
#Calculate 3-bar RSI
def NetChgAvg = MovingAverage(averageType, price - price[1], length);
def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;
plot RSI = 50 * (ChgRatio + 1);
rsi.setLineWeight(1);
RSI.SetDefaultColor(Color.GRAY);
plot RSIAvg = MovingAverage(AverageType.Exponential, RSI, 7);
rsiavg.setDefaultColor(color.BLACK);
plot OverSold = over_Sold;
oversold.setDefaultColor(color.dark_red);
plot OverBought = over_Bought;
overbought.setDefaultColor(color.blue);
plot UpSignal = if RSI crosses above OverSold then OverSold else Double.NaN;
plot DownSignal = if RSI crosses below OverBought then OverBought else Double.NaN;
plot mid = 50;
mid.SetLineWeight(2);
mid.setDefaultColor(createcolor(150,50,0));
UpSignal.SetHiding(!showBreakoutSignals);
DownSignal.SetHiding(!showBreakoutSignals);
UpSignal.SetDefaultColor(Color.blue);
UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
upSignal.setLineWeight(3);
DownSignal.SetDefaultColor(Color.dark_red);
downSignal.setLineWeight(3);
DownSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
AddCloud(RSIavg, OverBought, Color.BLUE, Color.LIGHT_GRAY);
AddCloud(OverSold, RSIavg, Color.dark_RED, Color.LIGHT_GRAY);
AddCloud(RSIavg, mid, Color.BLUE, Color.LIGHT_GRAY);
AddCloud(mid, RSIavg, Color.dark_RED, Color.LIGHT_GRAY);
##Assembled by TheBewb using existing Mobius Squeeze Momentum coding and "squeeze" concept made popular by John Carter.
# mods/additions by Tidan
declare lower;
input price = close;
input length = 20;
input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;
input averageType = AverageType.SIMPLE;
input displace = 0;
def sDev = StDev(data = price[-displace], length = length);
def MidLineBB = MovingAverage(averageType, data = price[-displace], length = length);
def LowerBandBB = MidLineBB + Num_Dev_Dn * sDev;
def UpperBandBB = MidLineBB + Num_Dev_up * sDev;
input factorhigh = 1.0;
input factormid = 1.5;
input factorlow = 2.0;
input trueRangeAverageType = AverageType.SIMPLE;
def shifthigh = factorhigh * MovingAverage(trueRangeAverageType, TrueRange(high, close, low), length);
def shiftMid = factormid * MovingAverage(trueRangeAverageType, TrueRange(high, close, low), length);
def shiftlow = factorlow * MovingAverage(trueRangeAverageType, TrueRange(high, close, low), length);
def average = MovingAverage(averageType, price, length);
def Avg = average[-displace];
def UpperBandKCLow = average[-displace] + shiftlow[-displace];
def LowerBandKCLow = average[-displace] - shiftlow[-displace];
def UpperBandKCMid = average[-displace] + shiftMid[-displace];
def LowerBandKCMid = average[-displace] - shiftMid[-displace];
def UpperBandKCHigh = average[-displace] + shifthigh[-displace];
def LowerBandKCHigh = average[-displace] - shifthigh[-displace];
def K = (Highest(high, length) + Lowest(low, length)) /
2 + ExpAverage(close, length);
def momo = Inertia(price - K / 2, length);
def pos = momo>= 0;
def neg = momo< 0;
def up = momo >= momo[1];
def dn = momo < momo[1];
def presqueeze = LowerBandBB > LowerBandKCLow and UpperBandBB < UpperBandKCLow;
def originalSqueeze = LowerBandBB > LowerBandKCMid and UpperBandBB < UpperBandKCMid;
def ExtrSqueeze = LowerBandBB > LowerBandKCHigh and UpperBandBB < UpperBandKCHigh;
def PosUp = pos and up;
def PosDn = pos and dn;
def NegDn = neg and dn;
def NegUp = neg and up;
# Momentum plot component
input showMomentumPlot = yes;
input momentumLength = 12;
input momentumPrice = close;
plot MomentumPlot = if showMomentumPlot then momentumPrice - momentumPrice[momentumLength] else double.nan;
#plot momentumZeroLine = 0;
MomentumPlot.SetDefaultColor(color.light_gray);
#momentumZeroLine.SetDefaultColor(color.magenta);
plot squeezeline = if close then 0 else double.nan;
squeezeline.SetPaintingStrategy(PaintingStrategy.POINTS);
squeezeline.setLineWeight(3);
squeezeline.AssignValueColor(if ExtrSqueeze then Color.dark_red else if originalSqueeze then Color.red else if presqueeze then Color.yellow else Color.green);
plot momentum = momo;
momentum.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
momentum.setLineWeight(3);
#momentum.AssignValueColor( if PosUp then Color.green else if PosDn then Color.dark_green else if NegDn then Color.dark_orange else if NegUp then Color.yellow else Color.YELLOW);
momentum.AssignValueColor( if PosUp then Color.cyan else if PosDn then Color.blue else if NegDn then Color.red else if NegUp then Color.yellow else Color.gray);
# end of code
You still watching Connor? He's changed, seems very tired of doing the broadcasts in the am, starting an hour later now. I emailed a question abt specifically how he takes entries and his response was beyond genericI don't believe I've posted any of my Bollinger/Keltner/squeeze scripts here.
And yes I often watch Connors live feed in the mornings.
Ive never seen him take a trade, just talk where to get in and out. Do you know how he does it based of the Std Dev strategy? Is he literally taking entry at whatever devs he marks out and setting stop (1/2 of whatever the price diff is btwn the devs he marks up)?Yes and I'm a premium member on his Discord. On the bright side he is alot more active over there now.
Yes and I'm a premium member on his Discord. On the bright side he is alot more active over there now.You still watching Connor? He's changed, seems very tired of doing the broadcasts in the am, starting an hour later now. I emailed a question abt specifically how he takes entries and his response was beyond generic
Thread starter | Similar threads | Forum | Replies | Date |
---|---|---|---|---|
J | Gap between Keltner Channels/Bollinger Bands in scanner | Questions | 8 | |
A | Bollinger bands and Keltner bands for ThinkorSwim | Questions | 33 | |
D | Bollinger Band Squeeze Scan | Questions | 3 | |
R | RSI-EMA-Bollinger Signal? | Questions | 1 | |
D | Bollinger Band Opening Watchlist Alert? | Questions | 1 |
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.