You don't have very many choices for the scalping timeframes.Hey all, I have tried so many indicators, I have forgot more than I can remember. I would like to know what you guys use. Preferably a lower but upper will do. I am using it on low time frames 1m to 3m. Thanks in advance.
Join useThinkScript to post your question to a community of 21,000+ developers and traders.
As noted above, it's difficult to scalp with trend indicators. I use the following:Hey all, I have tried so many indicators, I have forgot more than I can remember. I would like to know what you guys use. Preferably a lower but upper will do. I am using it on low time frames 1m to 3m. Thanks in advance.
Thank you Trader Rader. I will check these out. At the moment, I trade SPX mainlyAs noted above, it's difficult to scalp with trend indicators. I use the following:
1- Williams ProGo for entry when institutions have retail traders trapped.
2- Hand drawn fibs to target various percentages of structure for exits and stops.
3- Saty pivots to assess whether price has moved enough to trigger an entry or has already moved too far for my risk tolerance.
4-Zscore colored candles.
6-Stacked EMAs on higher timeframe for trend direction so that lower timeframe trades are taken in same direction as higher timeframe trend.
Best wishes and happy trading![]()
MerryDay, when you sayYou don't have very many choices for the scalping timeframes.
Because most trend indicators use some sort of moving averages. Moving averages are a lagging indicator.
They are contra-indicated on 5min charts and below.
Many scalpers rely on the repainters. They are the fastest way to catch trends:
read more:
https://usethinkscript.com/threads/the-power-of-repainters-in-thinkorswim.16461/
I apologize! They are called Saty ATR Levels. That thread contains a link to Saty's web site where there are free scans, etc, if you are interested. For me, the trick was to figure out which higher timeframe aggregation (4 hours, daily, etc) I wanted. Also had to figure out how to stop the lines from printing across the chart to keep it nice and tidy-Is Saty's Pivots for sale or free? I have not seen that one.
Okay. I already have those. I use the one that allows me to use the scalp option.I apologize! They are called Saty ATR Levels. That thread contains a link to Saty's web site where there are free scans, etc, if you are interested. For me, the trick was to figure out which higher timeframe aggregation (4 hours, daily, etc) I wanted. Also had to figure out how to stop the lines from printing across the chart to keep it nice and tidy
Best wishes and happy trading!
MerryDay, when you say
"Moving averages are a lagging indicator.
They are contra-indicated on 5min charts and below." Does that mean when we think price is going to zig it zags. Just trying to learn so that I can plug up some more holes.
I am intrigued to look into this, but I don't know of a distinction between a volume based RSI vs. a regular RSI. Is there a particular indicator that plots volume based RSI, or is it a built in TOS study? I searched Google and didn't find any more information.I think one that’s overlooked is the 14Day volume based RSI overlapped with the 14 day regular price based RSI. To catch reversals after a liquidity sweep. Specially when both lines are in over bought or over sold territories and they cross.
I think one that’s overlooked is the 14Day volume based RSI overlapped with the 14 day regular price based RSI. To catch reversals after a liquidity sweep. Specially when both lines are in over bought or over sold territories and they cross.
# rsi_vol_price
#https://usethinkscript.com/threads/whats-the-best-scalping-trend-indicator-in-your-opinion.16487/#post-133314
#iMauiC 11/9 #9
# 14 Day volume based RSI overlapped with the 14 day regular price based RSI. To catch reversals after a liquidity sweep.
# Specially when both lines are in over bought or over sold territories and they cross.
# RSI
# TD Ameritrade IP Company, Inc. (c) 2007-2023
declare lower;
def na = double.nan;
def bn = barnumber();
#---------------------------
# RSI - price
input length = 14;
input over_Bought = 60;
input over_Sold = 40;
def price = close;
input averageType = AverageType.WILDERS;
input showBreakoutSignals = no;
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);
plot OverSold = over_Sold;
plot OverBought = over_Bought;
plot UpSignal = if RSI crosses above OverSold then OverSold else Double.NaN;
plot DownSignal = if RSI crosses below OverBought then OverBought else Double.NaN;
UpSignal.SetHiding(!showBreakoutSignals);
DownSignal.SetHiding(!showBreakoutSignals);
RSI.DefineColor("OverBought", GetColor(5));
RSI.DefineColor("Normal", GetColor(7));
RSI.DefineColor("OverSold", GetColor(1));
RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
OverSold.SetDefaultColor(GetColor(8));
OverBought.SetDefaultColor(GetColor(8));
UpSignal.SetDefaultColor(Color.UPTICK);
UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
DownSignal.SetDefaultColor(Color.DOWNTICK);
DownSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
#---------------------------
# RSI - volume
input vol_length = 14;
input vol_over_Bought = 60;
input vol_over_Sold = 48;
def vol_price = volume/1000;
input vol_averageType = AverageType.WILDERS;
input vol_showBreakoutSignals = no;
def vol_NetChgAvg = MovingAverage(vol_averageType, vol_price - vol_price[1], vol_length);
def vol_TotChgAvg = MovingAverage(vol_averageType, AbsValue(vol_price - vol_price[1]), vol_length);
def vol_ChgRatio = if vol_TotChgAvg != 0 then vol_NetChgAvg / vol_TotChgAvg else 0;
plot vol_RSI = 50 * (vol_ChgRatio + 1);
plot vol_OverSold = vol_over_Sold;
plot vol_OverBought = vol_over_Bought;
plot vol_UpSignal = if vol_RSI crosses above vol_OverSold then vol_OverSold else Double.NaN;
plot vol_DownSignal = if vol_RSI crosses below vol_OverBought then vol_OverBought else Double.NaN;
vol_UpSignal.SetHiding(!vol_showBreakoutSignals);
vol_DownSignal.SetHiding(!vol_showBreakoutSignals);
vol_RSI.DefineColor("OverBought", GetColor(5));
vol_RSI.DefineColor("Normal", GetColor(7));
vol_RSI.DefineColor("OverSold", GetColor(1));
vol_RSI.AssignValueColor(if vol_RSI > vol_over_Bought then vol_RSI.Color("OverBought") else if vol_RSI < vol_over_Sold then vol_RSI.Color("OverSold") else vol_RSI.Color("Normal"));
vol_OverSold.SetDefaultColor(GetColor(8));
vol_OverBought.SetDefaultColor(GetColor(8));
vol_UpSignal.SetDefaultColor(Color.UPTICK);
vol_UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
vol_DownSignal.SetDefaultColor(Color.DOWNTICK);
vol_DownSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
#---------------------------
def both_top = (RSI > over_Bought and vol_RSI > vol_over_Bought);
def both_bot = (RSI < over_Sold and vol_RSI < vol_over_Sold);
# num#1 > num#2 , then 1st color , else 2nd color
#addcloud(50, 20, color.green, color.red);
addcloud(if both_top then 100 else na, 70, color.red);
addcloud(if both_bot then 30 else na, 0, color.green);
input arrows = yes;
plot dwn_arrow = if both_top then max(rsi, vol_RSI) else na;
dwn_arrow.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
dwn_arrow.SetDefaultColor(Color.red);
dwn_arrow.setlineweight(3);
dwn_arrow.hidebubble();
plot up_arrow = if both_bot then min(rsi, vol_RSI) else na;
up_arrow.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
up_arrow.SetDefaultColor(Color.green);
up_arrow.setlineweight(3);
up_arrow.hidebubble();
#
Our codes are a quite different.here is something to experiment with
i copied the rsi code twice and set one up for price and the second one for volume.
when both rsi's are above their overbought levels, it draws a down arrow.
when both rsi's are below their oversold levels, it draws a up arrow.
to me , my signals seems hit or miss.
maybe i'm doing it wrong, but i've never seen reliable signals from a rsi.
Code:# rsi_vol_price #https://usethinkscript.com/threads/whats-the-best-scalping-trend-indicator-in-your-opinion.16487/#post-133314 #iMauiC 11/9 #9 # 14 Day volume based RSI overlapped with the 14 day regular price based RSI. To catch reversals after a liquidity sweep. # Specially when both lines are in over bought or over sold territories and they cross. # RSI # TD Ameritrade IP Company, Inc. (c) 2007-2023 declare lower; def na = double.nan; def bn = barnumber(); #--------------------------- # RSI - price input length = 14; input over_Bought = 60; input over_Sold = 40; def price = close; input averageType = AverageType.WILDERS; input showBreakoutSignals = no; 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); plot OverSold = over_Sold; plot OverBought = over_Bought; plot UpSignal = if RSI crosses above OverSold then OverSold else Double.NaN; plot DownSignal = if RSI crosses below OverBought then OverBought else Double.NaN; UpSignal.SetHiding(!showBreakoutSignals); DownSignal.SetHiding(!showBreakoutSignals); RSI.DefineColor("OverBought", GetColor(5)); RSI.DefineColor("Normal", GetColor(7)); RSI.DefineColor("OverSold", GetColor(1)); RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal")); OverSold.SetDefaultColor(GetColor(8)); OverBought.SetDefaultColor(GetColor(8)); UpSignal.SetDefaultColor(Color.UPTICK); UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP); DownSignal.SetDefaultColor(Color.DOWNTICK); DownSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN); #--------------------------- # RSI - volume input vol_length = 14; input vol_over_Bought = 60; input vol_over_Sold = 48; def vol_price = volume/1000; input vol_averageType = AverageType.WILDERS; input vol_showBreakoutSignals = no; def vol_NetChgAvg = MovingAverage(vol_averageType, vol_price - vol_price[1], vol_length); def vol_TotChgAvg = MovingAverage(vol_averageType, AbsValue(vol_price - vol_price[1]), vol_length); def vol_ChgRatio = if vol_TotChgAvg != 0 then vol_NetChgAvg / vol_TotChgAvg else 0; plot vol_RSI = 50 * (vol_ChgRatio + 1); plot vol_OverSold = vol_over_Sold; plot vol_OverBought = vol_over_Bought; plot vol_UpSignal = if vol_RSI crosses above vol_OverSold then vol_OverSold else Double.NaN; plot vol_DownSignal = if vol_RSI crosses below vol_OverBought then vol_OverBought else Double.NaN; vol_UpSignal.SetHiding(!vol_showBreakoutSignals); vol_DownSignal.SetHiding(!vol_showBreakoutSignals); vol_RSI.DefineColor("OverBought", GetColor(5)); vol_RSI.DefineColor("Normal", GetColor(7)); vol_RSI.DefineColor("OverSold", GetColor(1)); vol_RSI.AssignValueColor(if vol_RSI > vol_over_Bought then vol_RSI.Color("OverBought") else if vol_RSI < vol_over_Sold then vol_RSI.Color("OverSold") else vol_RSI.Color("Normal")); vol_OverSold.SetDefaultColor(GetColor(8)); vol_OverBought.SetDefaultColor(GetColor(8)); vol_UpSignal.SetDefaultColor(Color.UPTICK); vol_UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP); vol_DownSignal.SetDefaultColor(Color.DOWNTICK); vol_DownSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN); #--------------------------- def both_top = (RSI > over_Bought and vol_RSI > vol_over_Bought); def both_bot = (RSI < over_Sold and vol_RSI < vol_over_Sold); # num#1 > num#2 , then 1st color , else 2nd color #addcloud(50, 20, color.green, color.red); addcloud(if both_top then 100 else na, 70, color.red); addcloud(if both_bot then 30 else na, 0, color.green); input arrows = yes; plot dwn_arrow = if both_top then max(rsi, vol_RSI) else na; dwn_arrow.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN); dwn_arrow.SetDefaultColor(Color.red); dwn_arrow.setlineweight(3); dwn_arrow.hidebubble(); plot up_arrow = if both_bot then min(rsi, vol_RSI) else na; up_arrow.SetPaintingStrategy(PaintingStrategy.ARROW_UP); up_arrow.SetDefaultColor(Color.green); up_arrow.setlineweight(3); up_arrow.hidebubble(); #
declare lower;
# Define the input parameters
input length = 14;
input showBreakoutSignals = yes;
def overboughtLevel = 70;
def extremeoverboughtlevel = 80;
def oversoldLevel = 30;
def extremeoversoldlevel = 20;
def Zero = 0;
def hundred = 100;
def midlinelevel = 50;
def price = close;
def averageType = AverageType.WILDERS;
def showlabel = yes;
def AGG1 = AggregationPeriod.TWO_MIN;
def AGG2 = AggregationPeriod.FIVE_MIN;
def AGG3 = AggregationPeriod.TEN_MIN;
def AGG4 = AggregationPeriod.FIFTEEN_MIN;
def AGG5 = AggregationPeriod.THIRTY_MIN;
def AGG6 = AggregationPeriod.HOUR;
def AGG7 = AggregationPeriod.FOUR_HOURS;
def c1 = close(period = agg1);
def c2 = close(period = agg2);
def c3 = close(period = agg3);
def c4 = close(period = agg4);
def c5 = close(period = agg5);
def c6 = close(period = agg6);
def c7 = close(period = agg7);
######################## OS - OB - MID ################
# Plot the Overbought/Oversold levels
plot Midline = midlinelevel;
midline.SetDefaultColor(Color.gray);
midLine.SetLineWeight(1);
midLine.HideBubble();
midline.hidetitle();
# Plot the Overbought/Oversold levels
plot OverboughtLevelLine = overboughtLevel;
OverboughtLevelLine.SetDefaultColor(Color.magenta);
OverboughtLevelLine.SetLineWeight(1);
OverboughtLevelLine.HideBubble();
OverboughtLevelLine.hidetitle();
plot extremeOverboughtLevelLine = extremeoverboughtLevel;
extremeOverboughtLevelLine.SetDefaultColor(Color.magenta);
extremeOverboughtLevelLine.SetLineWeight(1);
extremeOverboughtLevelLine.HideBubble();
extremeOverboughtLevelLine.hidetitle();
plot OversoldLevelLine = oversoldLevel;
OversoldLevelLine.SetDefaultColor(Color.GREEN);
OversoldLevelLine.SetLineWeight(1);
OversoldLevelLine.HideBubble();
oversoldLevelLine.hidetitle();
plot extremeOversoldLevelLine = extremeoversoldLevel;
extremeOversoldLevelLine.SetDefaultColor(Color.green);
extremeOversoldLevelLine.SetLineWeight(1);
extremeOversoldLevelLine.HideBubble();
extremeoversoldLevelLine.hidetitle();
AddCloud(80, OverboughtLevelLine, Color.Gray, Color.CURRENT);
AddCloud(100, extremeOverboughtLevelLine, Color.pink, Color.CURRENT);
AddCloud(OversoldLevelLine, 20 , Color.Gray, Color.CURRENT);
AddCloud(extremeOversoldLevelLine, 0 , Color.Dark_green, Color.CURRENT);
##################### FIRST ########################################
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;
def RSI = 50 * (ChgRatio + 1);
# Calculate the Volume-Weighted RSI
def vwrsi = Sum(rsi * volume, length) / Sum(volume, length);
# Plot the VWRSI
plot VWRSIPlot = TEMA(vwrsi);
VWRSIPlot.SetDefaultColor(Color.light_gray);
VWRSIPlot.SetLineWeight(2);
VwRSIPlot.hidetitle();
def NetChgAvg1 = MovingAverage(averageType, price - price[1], length);
def TotChgAvg1 = MovingAverage(averageType, AbsValue(price - price[1]), length);
def ChgRatio1 = if TotChgAvg1 != 0 then NetChgAvg1 / TotChgAvg1 else 0;
def RSI1 = 50 * (ChgRatio1 + 1);
# Calculate the Price-Weighted RSI
plot RSI2 = TEMA(RSI1);
RSI2.AssignValueColor(if RSI2 > VWRSIPlot then color.cyan else if RSI2 < VwRSIPlot then color.red else color.current);
AddLabel(showlabel, " VRSI: " + Round(VWRSIPlot), if VWRSIPlot <= OversoldLevelLine then Color.uptick else if VWRSIPlot >= OverboughtLevelLine then color.downtick else Color.yellow);
AddLabel(showlabel, " RSI: " + Round(RSI2),if RSI2 <= OversoldLevelLine then Color.uptick else if RSI2 >= OverboughtLevelLine then color.downtick else Color.yellow);
#Def bull = RSI2 Crosses Above VWRSIPLOT;
#Def bear = RSI2 Crosses Below VWRSIPLOT;
#def bullish01 = bull <= OversoldLevelLine;
#def bearish01 = Bear >= OversoldLevelLine;
#DefineGlobalColor("Bullish", Color.GREEN);
#DefineGlobalColor("Sideways", Color.YELLOW);
#DefineGlobalColor("Bearish", Color.RED);
#AddLabel(yes, "10x:4H",if bullish01 then GlobalColor("Bullish") else if bearish01 then GlobalColor("Bearish") else GlobalColor("Sideways"));
###################################################################################################################
plot UpSignal = RSI2 Crosses Above VWRSIPLOT;
plot DownSignal = RSI2 Crosses Below VWRSIPLOT;
UpSignal.SetHiding(!showBreakoutSignals);
DownSignal.SetHiding(!showBreakoutSignals);
UpSignal.SetDefaultColor(Color.UPTICK);
UpSignal.SetPaintingStrategy(PaintingStrategy.boolean_POINTS);
DownSignal.SetDefaultColor(Color.DOWNTICK);
DownSignal.SetPaintingStrategy(PaintingStrategy.boolean_points);
######################################################
def startTime = 0400;
def endTime = 0929;
def startCounter = SecondsFromTime(startTime);
def endCounter = SecondsTillTime(endTime);
def targetPeriod = if startCounter >= 0 and endCounter >= 0 then 1 else 0;
def O = open;
def H = high;
def C = close;
def L = low;
def V = volume;
def Buying = V * (C - L) / (H - L);
def Selling = V * (H - C) / (H - L);
def Delt = buying - selling;
def Delta = Delt;
#Delta.AssignValueColor(if Delta > 0 then Color.GREEN else Color.RED);
#Delta.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
#Delta.hide();
def CumulativeVolumeDelta = sum(Delta,length);
#CumulativeVolumeDelta.AssignValueColor(if CumulativeVolumeDelta > 0 then Color.GREEN else Color.Dark_ORANGE);
#CumulativeVolumeDelta.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
rec volumeTotal = if targetPeriod and !targetPeriod[1] then delta else if targetPeriod then volumeTotal[1] + delta else volumeTotal[1];
AddLabel(yes, "Curr Delta: " + round (delta), if Delta > 0 then Color.dark_GREEN else Color.light_RED);
AddLabel(yes, "Curr CDVol: " + round (cumulativeVolumeDelta), if CumulativeVolumeDelta > 0 then Color.lime else Color.Dark_ORANGE);
AddLabel(yes, "Last Delta: " + round (delta[1]), color.white);
AddLabel(yes, "Last CDVol: " + round (cumulativevolumedelta[1]), color.white);
#AddLabel(yes, "Curr DeltaVol: " + volumetotal, if volumetotal > 0 then Color.lime else Color.Dark_ORANGE);
could i get a scan for this indicator, thank you , tried searching for conversion of study to scan , came up emptyhere is something to experiment with
i copied the rsi code twice and set one up for price and the second one for volume.
when both rsi's are above their overbought levels, it draws a down arrow.
when both rsi's are below their oversold levels, it draws a up arrow.
to me , my signals seems hit or miss.
maybe i'm doing it wrong, but i've never seen reliable signals from a rsi.
Code:# rsi_vol_price #https://usethinkscript.com/threads/whats-the-best-scalping-trend-indicator-in-your-opinion.16487/#post-133314 #iMauiC 11/9 #9 # 14 Day volume based RSI overlapped with the 14 day regular price based RSI. To catch reversals after a liquidity sweep. # Specially when both lines are in over bought or over sold territories and they cross. # RSI # TD Ameritrade IP Company, Inc. (c) 2007-2023 declare lower; def na = double.nan; def bn = barnumber(); #--------------------------- # RSI - price input length = 14; input over_Bought = 60; input over_Sold = 40; def price = close; input averageType = AverageType.WILDERS; input showBreakoutSignals = no; 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); plot OverSold = over_Sold; plot OverBought = over_Bought; plot UpSignal = if RSI crosses above OverSold then OverSold else Double.NaN; plot DownSignal = if RSI crosses below OverBought then OverBought else Double.NaN; UpSignal.SetHiding(!showBreakoutSignals); DownSignal.SetHiding(!showBreakoutSignals); RSI.DefineColor("OverBought", GetColor(5)); RSI.DefineColor("Normal", GetColor(7)); RSI.DefineColor("OverSold", GetColor(1)); RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal")); OverSold.SetDefaultColor(GetColor(8)); OverBought.SetDefaultColor(GetColor(8)); UpSignal.SetDefaultColor(Color.UPTICK); UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP); DownSignal.SetDefaultColor(Color.DOWNTICK); DownSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN); #--------------------------- # RSI - volume input vol_length = 14; input vol_over_Bought = 60; input vol_over_Sold = 48; def vol_price = volume/1000; input vol_averageType = AverageType.WILDERS; input vol_showBreakoutSignals = no; def vol_NetChgAvg = MovingAverage(vol_averageType, vol_price - vol_price[1], vol_length); def vol_TotChgAvg = MovingAverage(vol_averageType, AbsValue(vol_price - vol_price[1]), vol_length); def vol_ChgRatio = if vol_TotChgAvg != 0 then vol_NetChgAvg / vol_TotChgAvg else 0; plot vol_RSI = 50 * (vol_ChgRatio + 1); plot vol_OverSold = vol_over_Sold; plot vol_OverBought = vol_over_Bought; plot vol_UpSignal = if vol_RSI crosses above vol_OverSold then vol_OverSold else Double.NaN; plot vol_DownSignal = if vol_RSI crosses below vol_OverBought then vol_OverBought else Double.NaN; vol_UpSignal.SetHiding(!vol_showBreakoutSignals); vol_DownSignal.SetHiding(!vol_showBreakoutSignals); vol_RSI.DefineColor("OverBought", GetColor(5)); vol_RSI.DefineColor("Normal", GetColor(7)); vol_RSI.DefineColor("OverSold", GetColor(1)); vol_RSI.AssignValueColor(if vol_RSI > vol_over_Bought then vol_RSI.Color("OverBought") else if vol_RSI < vol_over_Sold then vol_RSI.Color("OverSold") else vol_RSI.Color("Normal")); vol_OverSold.SetDefaultColor(GetColor(8)); vol_OverBought.SetDefaultColor(GetColor(8)); vol_UpSignal.SetDefaultColor(Color.UPTICK); vol_UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP); vol_DownSignal.SetDefaultColor(Color.DOWNTICK); vol_DownSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN); #--------------------------- def both_top = (RSI > over_Bought and vol_RSI > vol_over_Bought); def both_bot = (RSI < over_Sold and vol_RSI < vol_over_Sold); # num#1 > num#2 , then 1st color , else 2nd color #addcloud(50, 20, color.green, color.red); addcloud(if both_top then 100 else na, 70, color.red); addcloud(if both_bot then 30 else na, 0, color.green); input arrows = yes; plot dwn_arrow = if both_top then max(rsi, vol_RSI) else na; dwn_arrow.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN); dwn_arrow.SetDefaultColor(Color.red); dwn_arrow.setlineweight(3); dwn_arrow.hidebubble(); plot up_arrow = if both_bot then min(rsi, vol_RSI) else na; up_arrow.SetPaintingStrategy(PaintingStrategy.ARROW_UP); up_arrow.SetDefaultColor(Color.green); up_arrow.setlineweight(3); up_arrow.hidebubble(); #
Saty Bias Candles: https://usethinkscript.com/threads/saty-bias-candles-for-thinkorswim.17314/Thank you Trader Rader. I will check these out. At the moment, I trade SPX mainly
1 - 2m chart:
1)HMA at 15 length to help stay in trades. Sometimes, it gets me out to early.
2) I use the 50 EMA on the 1m as a S/R and a breakout possibility
3) I also have VWAP and 9 SMA
4) DTS Scalping indicator (The one I accidentally created)
5)Wave Trend for possible heads up
3min chart
1) Satys Pivot ribbon
2 Big 4
10m chart
1) Stacked EMA's for trend direction
-Is Saty's Pivots for sale or free? I have not seen that one.
-I draw major supply/demand zones based off of 30m up to wk TF.
- I try (LOL) to only take trades that reject or break and retest these zones.
Thread starter | Similar threads | Forum | Replies | Date |
---|---|---|---|---|
I | What is the BEST Scalping strategy/study that has worked for you? | Questions | 4 | |
M | Best Daytrading Strategies For SPY | Questions | 3 | |
S | What is the best way to identify the choppy price action? | Questions | 1 | |
![]() |
Best editing tool in ThinkOrSwim | Questions | 1 | |
F | Best Support/Resistance Indicator for ThinkOrSwim | 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.