Tape Reading Indicator for ThinkorSwim

SolidChiken

New member
2019 Donor
Hi guys is there any tape reader code available in TOS? Grateful if anyone has the tape momentum indicator. Find it might gives a good signal for both entry and exit when the spike goes up extremely.

mwfAyUR.png
 

Attachments

  • mwfAyUR.png
    mwfAyUR.png
    60.8 KB · Views: 455

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

I am just curious if there are any open source thinkscript for tape reading / analysis. Are you interpreting this as "the green spike means to sell?" Because a huge downtrend occurred right after it. There used to be a trader who used MACD histogram divergence but he used it discretionarily along with tape reading and price action, he was very successful day trading 60% annual return on account size on a million dollar account. But I have not been successful with it.
 
Not sure if this is what you're looking for.

Code:
# TS_TapeMomentum
# http://www.thinkscripter.com
# [email protected]
# Last Update 07 Nov 2010

#hint: For use on tick charts <b>ONLY</b>. Red inidcates average momentum, yellow > average, green > two standard deviations.
#hint period: Averaging period.
#hint capMultiplier: Multiple of standard deviation at which large spikes will be truncated with a magenta dot.
#hint capLargeSpikes: Truncate larger spikes at a given standard deviation multiplier to avoid scale compression.

declare lower;
   
input period = 14;
input capMultiplier = 5.0;
input capLargeSpikes = YES;
def isTickChart = if getAggregationPeriod() <= 3200 then 1 else 0;

def timer = secondsTillTime(1615);
def deltaT = absValue(timer[-1]-timer);

def momentum = if isTickChart then volume/deltaT else 0;;
def aveSM = average(momentum,period);
def sdAve = aveSM+2*stdev(momentum, period);
def spikeCap = totalSum(momentum)/barNumber()*capMultiplier;

plot tickMomentum = if capLargeSpikes then min(momentum, spikeCap) else momentum;
plot cap = if capLargeSpikes and tickMomentum==spikeCap then spikeCap else double.nan;
cap.setStyle(curve.POINTS);
cap.setLineWeight(2);
cap.setDefaultColor(color.magenta);

tickMomentum.setPaintingStrategy(paintingStrategy.HISTOGRAM);
tickMomentum.setLineWeight(2);

tickMomentum.assignValueColor(if tickMomentum >=min(spikeCap, sdAve) then color.green else if tickMomentum > aveSM then color.yellow else color.red);

plot zero = 0;
zero.setDefaultColor(color.white);

addChartLabel(!isTickChart,"THIS STUDY ONLY FOR USE ON TICK CHARTS",color.red);

Switch over to Tick charts or else it will not work. I found it here.
 
Following is what the article explains about the study:

It detects fast changes in the pace of the tape. The green bars are “extreme” spikes. When you get these extreme spikes it indicates an algo, HFT, or large institution is executing a huge order, and the pace of the tape is above average. When you get spikes around 600 or more, often they can indicate tops or bottoms.

Thank you @BenTen. Grateful...Hmm... Now then realized this study requires Tick chart. Got to find out if it works for me.
 
@SolidChiken This indicator is fascinating. If you find any good examples of how to use it, please share. If you or @Shinthus or anyone for that matter don't want to use tick chart then replace the following code:

Code:
def momentum = if isTickChart then volume/deltaT else 0;;

with

Code:
def momentum = volume/deltaT;

Not sure if doing so would keep the same concept but worth experimenting.
 
Here's a version of tape speed I wrote a few years back. When "tape speed" is up, it can signal potential turnaround points (as the big guys load or unload), or sometimes the reinforcement of a trend as more people jump in.

The current version of this indicator will only work on tick charts and will not function properly on time based charts. Additionally, it's not 100% real time, as it requires the close of the current bar to generate the calculation.

Let me know if you have questions.

-Jeff

Code:
declare lower;

#########################################################
plot neutral_line_pos = 1;
neutral_line_pos.SetDefaultColor(Color.GRAY);
neutral_line_pos.SetStyle(Curve.SHORT_DASH);

plot zero_line = 0;
zero_line.SetDefaultColor(Color.GRAY);


#########################################################
def tdiff = SecondsFromTime(0930);

def tsrw = (1 / (tdiff[0] - tdiff[1])) * 100;


input period = 21;
def tsavg = average(tsrw[1], period);
def tsrtavg = tsrw / tsavg;

def truncate = if tsrtavg > 3 then 3 else tsrtavg;  #required to attenuate HUGE signals that make the smaller signals hard to read

plot tape_speed = truncate;
tape_speed.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
tape_speed.AssignValueColor(if tape_speed >= 2 then COLOR.WHITE else if tape_speed > 1.0 then Color.GRAY else  Color.DARK_GRAY);
 
This works on 5min quite well, but anything higher the signals are kind of off. Doesn't work on Day chart. I think it would be great for futures ticks!
Is it possible for the histograms to change colors on mobile?
 
I'm currently scalping high relative volume, low float stocks using TOS and IB for charts & trading.

Everyone says to watch the Time & sales and level 2 but I'm having a hard time visualizing when a large buying spike is about to move the stock significantly.

Is there any TOS script or IB feature that can help me visualize large positions on the books? I feel like that would help me figure out when the big move is about to happen because I can watch a big resistance level get smaller and smaller. As I see that, I will jump in.

This will only be done when the chart looks good to go up not just anytime I see a large resistance
order shrinking.
 
Yes, tick/trade charts or volume charts. TOS does tick/trade. Sierra and others will do volume. Not a TOS indicator, but this is why I created this study on Sierra. The Voluminator
 
Hello

I created the pace the Tape indictor but I get a red coloured title in the indicator when added as a study.

Has anyone changed the below script to work with 15 minute charts?

My objective is to see large increases in tape speed to confirm fake outs.

I used this script from a above post.

Cheers

Code:
declare lower;

#########################################################
plot neutral_line_pos = 1;
neutral_line_pos.SetDefaultColor(Color.GRAY);
neutral_line_pos.SetStyle(Curve.SHORT_DASH);

plot zero_line = 0;
zero_line.SetDefaultColor(Color.GRAY);


#########################################################
def tdiff = SecondsFromTime(0930);

def tsrw = (1 / (tdiff[0] - tdiff[1])) * 100;


input period = 21;
def tsavg = average(tsrw[1], period);
def tsrtavg = tsrw / tsavg;

def truncate = if tsrtavg > 3 then 3 else tsrtavg;  #required to attenuate HUGE signals that make the smaller signals hard to read

plot tape_speed = truncate;
tape_speed.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
tape_speed.AssignValueColor(if tape_speed >= 2 then COLOR.WHITE else if tape_speed > 1.0 then Color.GRAY else  Color.DARK_GRAY);
 
issue might be is he's trying to use it on 15 min charts and the original poster said tick charts only, tho someone else said anything higher than 5 min was way off.
 
Hello

I appreciate the reply.

The name of the script I used is - PacetheTape

I also noticed that

"Code:
declare lower;"
is highlighted in red when I open the code up?

This is the script:-

Code:
Code:
declare lower;

#########################################################
plot neutral_line_pos = 1;
neutral_line_pos.SetDefaultColor(Color.GRAY);
neutral_line_pos.SetStyle(Curve.SHORT_DASH);

plot zero_line = 0;
zero_line.SetDefaultColor(Color.GRAY);


#########################################################
def tdiff = SecondsFromTime(0930);

def tsrw = (1 / (tdiff[0] - tdiff[1])) * 100;


input period = 21;
def tsavg = average(tsrw[1], period);
def tsrtavg = tsrw / tsavg;

def truncate = if tsrtavg > 3 then 3 else tsrtavg;  #required to attenuate HUGE signals that make the smaller signals hard to read

plot tape_speed = truncate;
tape_speed.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
tape_speed.AssignValueColor(if tape_speed >= 2 then COLOR.WHITE else if tape_speed > 1.0 then Color.GRAY else  Color.DARK_GRAY);
 
@givemethenews99 I get no errors with the code as posted...

Ruby:
declare lower;

#########################################################
plot neutral_line_pos = 1;
neutral_line_pos.SetDefaultColor(Color.GRAY);
neutral_line_pos.SetStyle(Curve.SHORT_DASH);

plot zero_line = 0;
zero_line.SetDefaultColor(Color.GRAY);


#########################################################
def tdiff = SecondsFromTime(0930);

def tsrw = (1 / (tdiff[0] - tdiff[1])) * 100;


input period = 21;
def tsavg = average(tsrw[1], period);
def tsrtavg = tsrw / tsavg;

def truncate = if tsrtavg > 3 then 3 else tsrtavg; #required to attenuate HUGE signals that make the smaller signals hard to read

plot tape_speed = truncate;
tape_speed.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
tape_speed.AssignValueColor(if tape_speed >= 2 then COLOR.WHITE else if tape_speed > 1.0 then Color.GRAY else Color.DARK_GRAY);
 
Hello

I added the study and got it to work.

No issues.

But - It's wonderful! But, I loaded it and am only getting a signal during AH. Any tips on a fix? (See below)-

Pelonsax

Active member above had the same issue.​


Has anyone been able to fix this.

Also when I edit the study there is no input section to change any settings.

Is this script complete?
@givemethenews99 @Pelonsax You need to use it on TICK charts. It works perfectly.
 

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
470 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

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.

How do I get started?

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.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top