Favorite ThinkorSwim Indicators

Texan57

Texan57

New member
VIP
Not sure if I'm posting this in the right forum but what are some of yall's favorite and most reliable indicators?
 
BenTen

BenTen

Administrative
Staff
VIP
Warehouse
I tend to stick with some of the basic ones:
And of course, the Advanced Market Moves indicator
 
H

horserider

Well-known member
VIP
Warehouse
But but did you see the photo !!!
 
S

skynetgen

Active member
Warehouse
Moving Averages
Pivots
Volume and RelativeSTDVolume
VWAP
Bollinger Bands and ATR channels
ATR
Still playing with oscillators (RSI, MACD/TMO)
 
Z

zeek

Member
VIP
  • Trend Reversal Indicator with signals
  • Supertrend by Mobius
  • Volume Profile
  • Volume BuyingvsSelling
  • Auto Pivot Points
 
Last edited:
H

horserider

Well-known member
VIP
Warehouse
@ugaotrader Great if it works for you. I am just pointing out you have multiple momentum studies all telling you the same information. I believe you could select one and make the chart less cluttered.
 
ugaotrader

ugaotrader

Member
totally agree, the only essential for
me the TheoTradeRsiLAguerre
 
H

horserider

Well-known member
VIP
Warehouse
@ugaotrader How does the IWO Turning point work for you. It is supposed to have lots of information and option buy sell info. I have never figured it out and gave up.
 
PDAC228

PDAC228

New member
Right now I'm mainly using the RSI and the custom Volume indicator on here that shows you both the buying and selling in each bar
 
ugaotrader

ugaotrader

Member
Good morning, i don't know if You know it, but I find it interesting, I use it. TEA 2.0 Indicator

The Red and Green colors are based on the market cycles:
  • Dark Red: Accumulation
  • Bright Green: Mark Up
  • Dark Green: Distribution
  • Bright Red: Mark Down
  • Blue: Volatility Consolidation

1) Open ThinkOrSwim Platform
2) Click on “Setup” (upper right corner)
3) Click on “Open shared item…”
4) Paste this URL: 5) Go to a chart
6) Click on Studies >> Edit studies…
7) Find the indicator and add it
 
ugaotrader

ugaotrader

Member
Right now I'm mainly using the RSI and the custom Volume indicator on here that shows you both the buying and selling in each bar
Really, I practically do not graph the volume, I do use it in all my scanners as a filter, especially the OBV.
For accumulation / distribution i use TEA2.0
Right now I'm mainly using the RSI and the custom Volume indicator on here that shows you both the buying and selling in each bar
VPOC and POC




declare hide_on_daily;

input MktOpen = 0930; #hint MktOpen: Cash Marekt open EST.
input MktClose = 1600; #hint MktClose: Cash Market close EST.

def h = high;
def l = low;
def c = close;
def Active = if SecondsFromTime(MktOpen) >= 0 and
SecondsTillTime(MktClose) >= 0
then 1
else 0;
def Today = GetDay() == GetLastDay();
def Yesterday = GetDay() == GetLastDay()-1;
def ap = AggregationPeriod.Day;
def last = if Yesterday and !last[1]
then close(period = ap)[1]
else if Yesterday and
SecondsTillTime(MktClose) == 0 and
SecondsFromTime(MktClose) == 0
then if c <> last[1]
then c
else last[1]
else last[1];
def prevHigh = if Yesterday and !prevHigh[1]
then high(period = ap)[1]
else if Yesterday and Active and !Active[1]
then h
else if Yesterday and Active and h > prevHigh[1]
then h
else prevHigh[1];
def prevLow = if Yesterday and !prevLow[1]
then low(period = ap)[1]
else if Yesterday and Active and !Active[1]
then l
else if Yesterday and Active and l < prevLow[1]
then l
else prevLow[1];
def BubbleLocation = if Today and Active and !Active[1]
then c
else double.nan;
plot LastClose = if Today and Active then last else Double.NaN;
LastClose.SetStyle(curve.short_dash);
LastClose.SetDefaultColor(Color.WHITE);
#AddChartBubble(BubbleLocation, LastClose, "C", Color.Dark_Gray, no);
plot pivot = Round(((LastClose + prevHigh + prevLow) / 3) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, (pivot), "Pivot", Color.Dark_Gray, yes);
plot R1 = Round(((2 * pivot) - prevLow) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, HighestAll(R1), "R1", Color.Dark_Gray, no);
plot S1 = Round(((2 * pivot) - prevHigh) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, HighestAll(S1), "S1", Color.Dark_Gray, yes);
plot R2 = Round((pivot + (R1 - S1)) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, HighestAll(R2), "R2", Color.Dark_Gray, no);
plot S2 = Round((pivot - (R1 - S1)) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, HighestAll(S2), "S2", Color.Dark_Gray, yes);
plot R3 = Round((prevHigh + (2 * (pivot - prevLow))) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, HighestAll(R3), "R3", Color.Dark_Gray, no);
plot S3 = Round((prevLow - (2 * (prevHigh - pivot))) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, HighestAll(S3), "S3", Color.Dark_Gray, yes);
plot R4 = Round((prevHigh + (3 * (pivot - prevLow))) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, HighestAll(R4), "R4", Color.Dark_Gray, no);
plot S4 = Round((prevLow - (3 * (prevHigh - pivot))) / TickSize(), 0) * TickSize();
#AddChartBubble(BubbleLocation, HighestAll(S4), "S4", Color.Dark_Gray, yes);
pivot.SetPaintingStrategy(PaintingStrategy.DASHES);
pivot.SetDefaultColor(Color.Dark_Orange);
pivot.SetLineWeight(1);
R1.SetPaintingStrategy(PaintingStrategy.DASHES);
R1.SetDefaultColor(Color.GREEN);
R1.SetLineWeight(1);
R2.SetPaintingStrategy(PaintingStrategy.DASHES);
R2.SetDefaultColor(Color.GREEN);
R2.SetLineWeight(1);
R3.SetPaintingStrategy(PaintingStrategy.DASHES);
R3.SetDefaultColor(Color.GREEN);
R3.SetLineWeight(1);
R4.SetPaintingStrategy(PaintingStrategy.DASHES);
R4.SetDefaultColor(Color.GREEN);
R4.SetLineWeight(1);
S1.SetPaintingStrategy(PaintingStrategy.DASHES);
S1.SetDefaultColor(Color.RED);
S1.SetLineWeight(1);
S2.SetPaintingStrategy(PaintingStrategy.DASHES);
S2.SetDefaultColor(Color.RED);
S2.SetLineWeight(1);
S3.SetPaintingStrategy(PaintingStrategy.DASHES);
S3.SetDefaultColor(Color.RED);
S3.SetLineWeight(1);
S4.SetPaintingStrategy(PaintingStrategy.DASHES);
S4.SetDefaultColor(Color.RED);
S4.SetLineWeight(1);
# End Code Shadow Trader Pivots

# Previous RTH_POC and Value Area Extended to Current Day
def bar = BarNumber();
def RTHBar1 = if SecondsFromTime(MktOpen) == 0 and
SecondsTillTime(MktOpen) == 0
then bar
else RTHBar1[1];
def RTHBarEnd = if SecondsFromTime(MktClose) == 0 and
SecondsTillTime(MktClose) == 0
then 1
else Double.NaN;
def cond = bar == RTHBar1; #Active != Active[1];
profile vol = VolumeProfile("startNewProfile" = cond, "onExpansion" = no, "numberOfProfiles" = 10, "pricePerRow" = PricePerRow.TICKSIZE, "value area percent" = 68.4);
def pc = if IsNaN(vol.GetPointOfControl())
then pc[1]
else vol.GetPointOfControl();
def hVA = if IsNaN(vol.GetHighestValueArea())
then hVA[1]
else vol.GetHighestValueArea();
def lVA = if IsNaN(vol.GetLowestValueArea())
then lVA[1]
else vol.GetLowestValueArea();
def hProfile = if IsNaN(vol.GetHighest())# and con
then hProfile[1]
else vol.GetHighest();
def lProfile = if IsNaN(vol.GetLowest())# and con
then lProfile[1]
else vol.GetLowest();
def POC = if Active then pc else Double.NaN;
def VAHigh = if Active then hVA else Double.NaN;
def VALow = if Active then lVA else Double.NaN;
def PrevPC = if !IsNaN(RTHBarEnd)
then POC[1]
else PrevPC[1];
def PrevPCBar = if !IsNaN(RTHBarEnd)
then bar
else PrevPCBar[1];
def PrevPC_Limit = if bar == PrevPCBar
then Double.NaN
else if bar > PrevPCBar
then bar - PrevPCBar
else PrevPC_Limit[1];
def PrevVAH = if !IsNaN(RTHBarEnd)
then VAHigh[1]
else PrevVAH[1];
def PrevVAHBar = if !IsNaN(RTHBarEnd)
then bar
else PrevVAHBar[1];
def PrevVAH_Limit = if bar == PrevVAHBar
then Double.NaN
else if bar > PrevVAHBar
then bar - PrevVAHBar
else PrevVAH_Limit[1];
def PrevVAL = if !IsNaN(RTHBarEnd)
then VALow[1]
else PrevVAL[1];
def PrevVALBar = if !IsNaN(RTHBarEnd)
then bar
else PrevVALBar[1];
def PrevVAL_Limit = if bar == PrevVALBar
then Double.NaN
else if bar > PrevVALBar
then bar - PrevVALBar
else PrevVAL_Limit[1];
script LinePlot {
input LineLimit = 0;
input OnExpansion = yes;
input data = close;
input bar = 0;
def ThisBar = HighestAll(bar);
def cLine = if bar == ThisBar
then data
else Double.NaN;
def cond1 = CompoundValue(1, if IsNaN(data)
then cond1[1]
else data, data);
plot P = if ThisBar - LineLimit <= bar
then HighestAll(cLine)
else Double.NaN;
plot ExpLine = if OnExpansion and
IsNaN(data[-1])
then cond1
else Double.NaN;
}
plot PrevPOC = LinePlot(data = PrevPC, LineLimit = PrevPC_Limit, OnExpansion = no, bar = PrevPCBar).P;
PrevPOC.SetDefaultColor(Color.RED);
PrevPOC.SetDefaultColor(Color.RED);
plot PrevVAHline = LinePlot(data = PrevVAH, LineLimit = PrevVAH_Limit, OnExpansion = no, bar = PrevVAHBar).P;
PrevVAHline.SetDefaultColor(Color.RED);
PrevVAHline.SetDefaultColor(Color.RED);
plot PrevVALline = LinePlot(data = PrevVAL, LineLimit = PrevVAL_Limit, OnExpansion = no, bar = PrevVALBar).P;
PrevVALline.SetDefaultColor(Color.RED);
PrevVALline.SetDefaultColor(Color.RED);
addCloud(PrevVALline, PrevVAHline, color.dark_Gray, Color.dark_Gray);
input bubbles = yes;
def n = 2;
def n1 = n + 1;
AddChartBubble(bubbles and !IsNaN(close[n1]) and IsNaN(close[n]), PrevVAH[n1], "VAH", color = Color.YELLOW, yes);
AddChartBubble(bubbles and !IsNaN(close[n1]) and IsNaN(close[n]), PrevVAL[n1], "VAL", Color.YELLOW, no);
AddChartBubble(bubbles and !IsNaN(close[n1]) and IsNaN(close[n]), PrevPOC[n1], "POC", Color.RED, no);
# End POC and Value Area
 
S

skynetgen

Active member
Warehouse
=
3) Click on “Open shared item…”
4) Paste this URL: 5) Go to a chart
6) Click on Studies >> Edit studies…
7) Find the indicator and add it
Really cool indicator. Linear regression based market phase detector. Preliminary testing shows its quite accurate
 
Last edited:
Y

ykd2018x

Member
VIP
BELOW ARE MY TOP 5 INDICATORS
1. PRICE & EMA AND THEIR RELATION TO EACH OTHER
 
Last edited by a moderator:
ugaotrader

ugaotrader

Member
Is there a link for the TMO with Fisher? TIA
## Archive Name: TrueMomentumOscilWithFisher_v04_JQ
## Archive Section:
## Suggested Tos Name: TrueMomentumOscilWithFisher_v04_JQ
## Archive Date: 10.6.2018
## Archive Notes:

# v02 JQ added FE code to generate points
# v03 JQ added FisherTransform crossover arrows to confirm TMO
# v04 JQ Remoed all Fractal Energy code
## "##" indicates an addition by the Archivist



# TMO ((T)rue (M)omentum (O)scilator)
# Mobius
# V01.05.2018
#hint: TMO calculates momentum using the delta of price. Giving a much better picture of trend, tend reversals and divergence than momentum oscillators using price.

declare lower;

input length = 14;
input calcLength = 5;
input smoothLength = 3;
input displayFisherLabels = no;

def o = open;
def c = close;
def data = fold i = 0 to length
with s
do s + (if c > GetValue(o, i)
then 1
else if c < GetValue(o, i)
then - 1
else 0);
def EMA5 = ExpAverage(data, calcLength);
plot Main = ExpAverage(EMA5, smoothLength);
plot Signal = ExpAverage(Main, smoothLength);
Main.AssignValueColor(if Main > Signal
then Color.GREEN
else Color.RED);
Signal.AssignValueColor(if Main > Signal
then Color.GREEN
else Color.RED);
Signal.HideBubble();
Signal.HideTitle();
AddCloud(Main, Signal, Color.GREEN, Color.RED);
plot zero = if IsNaN(c) then Double.NaN else 0;
zero.SetDefaultColor(Color.GRAY);
zero.HideBubble();
zero.HideTitle();
plot ob = if IsNaN(c) then Double.NaN else Round(length * .7);
ob.SetDefaultColor(Color.GRAY);
ob.HideBubble();
ob.HideTitle();
plot os = if IsNaN(c) then Double.NaN else -Round(length * .7);
os.SetDefaultColor(Color.GRAY);
os.HideBubble();
os.HideTitle();
AddCloud(ob, length, Color.LIGHT_RED, Color.LIGHT_RED, no);
AddCloud(-length, os, Color.LIGHT_GREEN, Color.LIGHT_GREEN);


# End Code TMO



# JQ_FisherTransform_wLabels v02
# assistance provided by AlphaInvestor, amalia, randyr and nube

# v02 9.23.2018 JQ added arrows

input Fisherprice = hl2;
input FisherLength = 10;
input TriggerLineOffset = 1; # Ehler's value of choice is 1
input TriggerLine_Color_Choice = {"magenta", "cyan", "pink", default "gray", "Mustard", "red", "green", "dark_gray", "Pale Yellow", "white"};
input deBug = no;

input BuyLabelText = " FisherTransform Buy ";
input SellLebelText = " FisherTransform Sell ";

def maxHigh = Highest(Fisherprice, FisherLength);
def minLow = Lowest(Fisherprice, FisherLength);
def range = maxHigh - minLow;
def value = if IsNaN(Fisherprice)
then Double.NaN
else if IsNaN(range)
then value[1]
else if range == 0
then 0
else 0.66 * ((Fisherprice - minLow) / range - 0.5) + 0.67 * value[1];
def truncValue = if value > 0.99 then 0.999 else if value < -0.99 then -0.999 else value;
def fish = 0.5 * (Log((1 + truncValue) / (1 - truncValue)) + fish[1]);
def FTOneBarBack = fish[TriggerLineOffset];
def FT = fish;

plot FisherBullCross = if FT crosses above FTOneBarBack then lowestall(Main) else Double.NaN;
FisherBullCross.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
FisherBullCross.SetDefaultColor(Color.UPTICK);

plot FisherBearCross = if FT crosses below FTOneBarBack then highestall(Main) else Double.NaN;
FisherBearCross.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
FisherBearCross.SetDefaultColor(Color.DOWNTICK);



AddLabel (displayFisherLabels, "" + if FT >= FTOneBarBack then BuyLabelText else SellLebelText + " ",
(if FT > FTOneBarBack
then Color.LIGHT_GREEN
else if FT < FTOneBarBack
then Color.LIGHT_RED
else Color.GRAY));



# End Fisher Transform Code
 

Top