My 6 indicators for TOS for every day [ThinkOrSwim] - futures io
futures io futures trading

My 6 indicators for TOS for every day [ThinkOrSwim]

Discussion in ThinkOrSwim

Updated by 133usd
    1. trending_up 1,184 views
    2. thumb_up 3 thanks given
    3. group 7 followers
    1. forum 1 replies
    2. attach_file 4 attachments

Welcome to futures io: the largest futures trading community on the planet, with well over 100,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

Search this Thread

My 6 indicators for TOS for every day [ThinkOrSwim]

(login for full post details)
  #1 (permalink)
Los Angeles (CA)
Experience: Master
Platform: ThinkOrSwim
Trading: Currency Future, Stocks
lukeskywalker1's Avatar
Posts: 29 since Apr 2019

Hello, people. Newbie-traders often ask me: what TOS indicators should they set up right after installing TOS. This is why I’ve decided to collect everything in one single article and share it with you.

Before starting, I would like to note that indicators for the Thinkorswim terminal are distinguished by high accuracy and clarity due to the real flow of trading volumes with virtually no lag (you have Realtime quotes).

You can safely install and customize all the scripts presented by me below. The algorithm for working with them is quite simple, and besides, I have given a brief description and mechanism of use for each. I hope that my daily indicators will really become an effective tool for you for successful trading and analysis in TOS.

So, let’s start.

1. Indicator: Basic information on the stock 📈
This is what I install first. Very useful thing. It displays all the most necessary information on the stack in the upper left corner of the chart and highlights problem areas in color.

There are many modifications of this indicator on the Internet. But here I modified it for myself over the course of several years of trading, and I consider this edition the most convenient and visual for the initial analysis of a stock when it gets on your list.

Picture and the description of every parameter.

ATR(14) — how much the stock can move per day. Calculated on the average value of 14 days.

AvgVol — average trading volume for a stock over the past 65 days, calculated in thousands.

Vol — how many shares traded today.

ATRPlay — how much today the price has passed relatively from Low to High. It is calculated in dollars and% relative to the average. The screenshot shows that the average price moves $ 5.5, and today the action has already passed 5.53, the one after ATRPlay is 100%. Without unnecessary symbols to save space. According to my strategy, the potential is no longer there, which means that the share has to be taken in the opposite direction.

VolPlay — What is the volume as a percentage now, the trading volume is relative average. An important parameter for an intraday trader, it is considered as a percentage. 104% on the screen. This means that if you looked at the beginning of the day … This is clearly increased volume. If a stock trades 100% in the first hour, a large seller or buyer is guaranteed to sit there.

Gap — % of gap at the opening is purely informational. I do not analyze in any way, but in some strategies traders rely on it when making a decision.

ATR (5) — And the last parameter is the average price spread for the last 5 bars. If you place a stop, it cannot be less than this value in any way. Otherwise, you will simply be carried away by the noise of the market.

HTML Code:
input ATRLength = 14;
input ShowATR = {default “1”, “0”}; #Average True Range
input AvgVolume = {default “1”, “0”}; #Average volume for the last 14 days
input Volume_ = {default “1”, “0”}; #Volume for today
input ATRPlay = {default “1”, “0”}; #How many ATR’s stock moved today
input VolumePlay = {default “1”, “0”}; #How many of its average volumes stock traded for the last 65 days.
def _ATR_D = TrueRange(high(period = “DAY”), close(period = “DAY”), low(period = “DAY”));
def iATR_D = Round(Average(_ATR_D, ATRLength)[1], 2);
AddLabel (!ShowATR, “ATR(“+ATRLength+”) “ + iATR_D, Color.GRAY);
def iAvgVolume = Round(Average (volume(period = “DAY”)[1], 65) / 1000, 0);
AddLabel (!AvgVolume, “AvgVol “ + iAvgVolume + “k”, Color.GRAY);
def iVolume = Round(volume(period = “DAY”) / 1000, 0);
AddLabel (!Volume_, “Vol “ + iVolume + “k”, Color.LIGHT_GREEN);
def iATRPlay = Round((high(period = “DAY”) — low(period = “DAY”)) / iATR_D, 1);
AddLabel (!ATRPlay, “ATRPlay “ + iATRPlay + “(“ + Round(high(period = “DAY”) — low(period = “DAY”), 2) + “)”, Color.LIGHT_GREEN);
def iVolumePlay = Round(iVolume / iAvgVolume, 2);
AddLabel (!VolumePlay, “VolPlay “ + iVolumePlay, Color.LIGHT_GREEN);
def Gap = Round((Open(period = “DAY”)-Close(period = “DAY”)[1])/Close(period = “DAY”)[1]*100, 2);
AddLabel (Yes, “Gap “ + Gap+”%”, Color.LIGHT_GREEN);
def ATRcur = Round (Average(TrueRange(high, close, low)[1],5));
AddLabel (Yes, “ATR(5) “ + ATRcur, if(ATRcur<=0.20) then Color.GREEN else Color.Red);

2. Indicator: Basic support and resistance levels in TOS

A very simple yet useful indicator that draws the underlying High, Low and Close levels of the previous day. These levels are used in many simple trading strategies, which is why this thinkscript is so popular among traders. This script has a very important addition: it draws levels only on lower timeframes and hides them on higher ones to make it easier to read the chart.📈

HTML Code:
#Study:Common Level
declare hide_on_daily;
declare once_per_bar;

input timeFrame = {default DAY, WEEK, MONTH};

plot high = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN, high(period = timeFrame)[1], Double.NaN);
plot Low = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN, low(period = timeFrame)[1], Double.NaN);
plot Close = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN, close(period = timeFrame)[1], Double.NaN);

high.SetDefaultColor (Color.GREEN);
Close.SetDefaultColor (Color.GRAY);

3. Indicator: Potential price movement by ATR in Thinkorswim
A year ago, a professional trader asked to make this indicator for his students. And after that, I recommend it to everyone who just installed TOS. The logic of this indicator for the TOS chart is as follows: it takes the average price movement potential (ATR) and draws two lines on the chart. How long the price can pass today from its extremums to the ATR and up to 4xATR. It is very clearly visible which goal to set in the trade and whether there is still a reserve of movement before deciding to enter the trade.

As in the previous case, for the convenience of reading the chart, it works only on lower time frames. You can easily change the 4xATP coefficient in the code.

HTML Code:
#Possibility Move by ATR Ver.1.03
#Potential price movement by ATR

declare once_per_bar;
declare hide_on_daily;

input length = 14;
input ShowATR = No;
def ATR = Average(TrueRange(high(period = “DAY”), close(period = “DAY”), low(period = “DAY”)), length )[1];
AddLabel (ShowATR, “ATR(“+length+”) “ + Round(ATR,2), Color.GRAY);
def newDay = SecondsFromTime(0930)==0;

def DayHigh = if newDay then High else if High[1] > DayHigh[1] then High[1] else DayHigh[1];
def DayLow = if newDay then Low else if Low[1] < DayLow[1] then Low[1] else DayLow[1];

plot UpLevel = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN, DayLow + ATR, Double.NaN);
plot DownLevel = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN,DayHigh — ATR, Double.NaN);
UpLevel.SetDefaultColor (Color.GRAY);

plot UpLevel4 = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN, (DayLow + (4*ATR)), Double.NaN);
plot DownLevel4 = If(GetAggregationPeriod() <= AggregationPeriod.FIFTEEN_MIN,(DayHigh — (4*ATR)), Double.NaN);
UpLevel4.SetDefaultColor (;

4. Колонка: Спред в TOS
And a couple more scripts for the watchlist column in Thinkorswim. The first script shows the current spread in stocks and highlights in red notes where the spread is more than 6 cents and the risks are very high.

Customize for yourself, and do not hesitate to remove the stock if the spread is very large for you.

HTML Code:
Def Spread1= (ASK-BID)*100;
AddLabel(yes, AsText(Spread1, “%1$.0f”));
AssignBackgroundColor (if (Spread1> 6) then else;
5. Change From Open
This is also a script for the Thinkorswim watchlist, showing the percentage of price change in the stack after it opened today. Green highlights growing stacks, red ones that need to be short. If you have a large list for today, it is very convenient to sort by this column in order to select the most you need.

HTML Code:
plot Change = Round((close-open)/open*100,1);
AssignBackgroundColor(if(Change < 1 and Change > -1)then Color.BLACK else if(Change>0) then Color.DARK_GREEN else Color.DARK_RED);
6. VolumeInPlay column 🔥
And also the script for the watchlist column in Thinkorswim, shows as a percentage how much the stock traded today from its average daily volume. I have already written about this very important parameter for an intraday trader many times.

How do I analyze it? If now is just the beginning of the session, and the stock has already passed from 20% to 50%, it is highlighted in blue. In the off-season of reports, this already indicates an increased interest in it from the market. If it has already done more than 50%, it glows green on the watchlist, and this is an unambiguous trigger that you need to carefully look for entry points in it.

In the season of reports, these coefficients in the code should be corrected to higher ones. The code is not complicated, I think you can easily figure it out. Well, or tap on the contacts from the profile 👆 and I’ll help.

HTML Code:
plot VolPlay = Round(Volume/Average(Volume, 65)[1],2);
AssignBackgroundColor(if(VolPlay < 0.2)then Color.BLACK else if(VolPlay > 0.2 and VolPlay<0.5 ) then Color.BLUE else Color.DARK_GREEN);
How to properly install scripts in Thinkorswim you can read in our article using the example of the indicator “Simple Moving Average”🔥.

Visit my Facebook Visit my futures io Trade Journal Reply With Quote

Can you help answer these questions
from other members on futures io?
Range bar differences in Tradestation vs. TOS
Do You Have A PlayBooks/What Form Does It Take?
Traders Hideout
Macros for flatten and reverse
FX Futures have been nagging me for a while
Stocks and ETFs
(login for full post details)
  #2 (permalink)
Portland, ME
Experience: Beginner
Platform: Jigsaw, TOS, Firetip
Trading: YM, MYM, stocks, options
Posts: 32 since Feb 2020
Thanks: 6 given, 39 received

Thanks for the S&R/high,low, close levels indicator. I still love TOS for charts and the custom indicators I have (hundreds of indicators in a huge zip file).

I only use TOS for charts.
Their commissions are way too high for futures traders and I've had trouble getting filled within 15 mins after the open on market orders. I push 3,000 cars a month (easily higher some months) and their trade desk would barely lower my commissions. Absolutely ridiculous. They lost my business.

Reply With Quote

futures io Trading Community Platforms and Indicators ThinkOrSwim > My 6 indicators for TOS for every day [ThinkOrSwim]

September 16, 2020

Upcoming Webinars and Events

Copyright © 2020 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432,
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts