Develop uptick and downtick indicator


New member
I am looking your coders' participation to figure an indicator for TOS, I have it on my Ninja Trader-it is actually a monthly paid subscription- and prefer to have it on TOS, the vendor have no intention to develop for TOS, so maybe you guys can figure this out.
As you may know the large institutional traders uses large size orders to trade /ES,/NQ futures and beta name stocks. They buy in bulk with algos or pre-programed orders; and the other hand the retailers like you and me trade with 1-10 contracts and 100's shares vs 1000's shares.
These trades are more visible and traceable with tick charts rather than time charts-at tick charts every tick counts the number of trades and prints. With that data it is easier to sort the average trade size and labels as a pro trade or retail trade. Volume data carries two input: Tick Count and Trade Volume where this can be harvested.
The next thing to do is plot these on the tick charts-I use 500-1500-4500 tick charts for trading ES, (changes with futures) as a blue bars for large average trades and yellow for retail trades. As you may have noticed the retailers always wrongfooted and most losing money at the trading- large traders have longs and shorts and able to move the market into their advantage- idea is able to see the large trades during the day and also even on daily equitant of tick charts. Here is a picture of my NinjaTrader screen showing the large trades in blue bars and retailers in yellow bars. Blue bars printed when the average trade in that tick is over 25.
It is more than this of course and please dont hesitate to reply or DM me regarding developing this. I am willing to compensate who can help me with this.

I even have a primal code for thisdone for TradingView/Ninja Trader as looks like this:

inputs ShowAvg(True), AvgLen(100);
Variables; S(0)
If (UpTicks Data2 +DownTicks Data2) <> 0 then S= (Upticks+DownTicks)/(UpTicks Data2 + (DownTicks Data2);
Plot1 (S, AvgSize")
If  showAvg then Plot2 (Average(S,AvgLen)," Avg");


Well-known member
EDIT I understand this isn't what you're after, but while I work on that I'll leave this one here for anyone interested.

So here's a basic one I whipped up a long time ago:
declare lower;

def V = volume;
def T = Tick_count;

plot VolumePerTick = (V / T) - 1;
plot zero = 0;

plot long = SimpleMovingAvg(VolumePerTick, 100);
plot target = long * 2;
1. it is just the volume per tick.
2. I subtract 1 from the Volume/Tick (VpT hereafter) ratio to make differences obvious on a chart. I've run this on /mnq and /mes only. You'd have to alter this for stocks I imagine
3. the interesting things seem to happen when the VpT spikes above the target line (double the 100 period moving average of the VpT as you can see in this 500 tick chart:

this does not take into consideration up vs down volume. I will think about that one. perhaps.

Happy Trading,
Last edited:
Thread starter Similar threads Forum Replies Date
Englewood85 The benefit of using Color.UPTICK vs. Color.Blue Questions 1

Similar threads