NexusFi: Find Your Edge


Home Menu

 





Advanced VZO for Ninja Trader


Discussion in NinjaTrader

Updated
    1. trending_up 1,655 views
    2. thumb_up 0 thanks given
    3. group 3 followers
    1. forum 2 posts
    2. attach_file 0 attachments




 
Search this Thread
  #1 (permalink)
 opie5000g 
DAUFUSKIE ISLAND
 
Experience: Intermediate
Platform: NinjaTrader
Trading: /nq
Posts: 4 since Nov 2020
Thanks Given: 0
Thanks Received: 1

Hello, I was wondering if anyone could help me code this indicator from TOS to NinjaTrader. I used it a lot when I traded with Think or Swim but have moved over to Ninja and miss it. Any help would be greatly appreciated.

#Indicator Name: Advanced VZO
#Full tutorial here: tosindicators.com/indicators/vzo
#Contains built-in ThinkOrSwim code from VolumeZoneOscillator() and TOS documentation


declare lower;

input length = 14;

def VP = ExpAverage(Sign(close - close[1]) * volume, length);
def TV = ExpAverage(volume, length);

plot VZO = 100 * VP / TV;
plot VZO_DOTS = 100 * VP / TV;
plot "+60" = 60;
plot "+40" = 40;
#plot "+15" = 15;
#plot "-5" = -5;
plot "-40" = -40;
plot "-60" = -60;
plot ZeroLine = 0;

VZO.SetDefaultColor(GetColor(1));
"+60".SetDefaultColor(GetColor(6));
"+40".SetDefaultColor(GetColor(6));
#"+15".SetDefaultColor(GetColor(3));
#"-5".SetDefaultColor(GetColor(3));
"-40".SetDefaultColor(GetColor(5));
"-60".SetDefaultColor(GetColor(5));
ZeroLine.SetDefaultColor(GetColor(4));


def ADX = ADX(14);
def EMA60 = ExpAverage(close, 60);

def trendExistence = ADX > 18;
#1 - crosses above EMA60, 2 - above EMA60, 3 - crossing below EMA60, 4 - below EMA60
def direction = if close > EMA60 and close[1] <= EMA60 then 1 else if close > EMA60 and close[1] >= EMA60 then 2 else if close < EMA60 and close[1] >= EMA60 then 3 else 4;

def bullishCrossover = if VZO >= 40 and VZO[1] < 40 then 1 else 0;
def bearishCrossover = if VZO <= -40 and VZO[1] > -40 then 1 else 0;

AddCloud(40, 60, color.green, color.green);
AddCloud(-40,-60, color.red, color.red);
VZO.AssignValueColor(if VZO > 15 then color.green else if VZO > -5 then color.yellow else color.red);
VZO_DOTS.SetPaintingStrategy(PaintingStrategy.POINTS);
VZO_DOTS.AssignValueColor(if VZO > 15 then color.green else if VZO > -5 then color.yellow else color.red);
VZO_DOTS.SetLineWeight(3);


Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
South Korea Suspends Bithumb for Six Months Over AML Fai …
Cryptocurrency
Zytrade: Devin Brady, CEO - Ask Me Anything (AMA)
Brokers
Tradeify 3.0 Overhauls Futures Prop Firm Model -- One-Ti …
Funded Trading Evaluation Firms
Iran Update May 8: Still Reviewing MOU, Demands Reparati …
Traders Hideout
Post-Summit Scorecard: $36M in May 15 Bets Settle Near-Z …
Prediction Markets & Event Contracts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Sober Journey With S&P
23 thanks
2026 Jlab journal
10 thanks
Algo automated / semi-automated trading anyone?
6 thanks
Lady Vols Primer: Trading Volatility Journal
6 thanks
2026 Fire Horse
5 thanks
  #2 (permalink)
 hedgeplay 
Austin Texas / US
 
Experience: Intermediate
Frequency: Several times daily
Duration: Seconds
Posts: 216 since Dec 2019
Thanks Given: 159
Thanks Received: 241


opie5000g View Post
Hello, I was wondering if anyone could help me code this indicator from TOS to NinjaTrader. I used it a lot when I traded with Think or Swim but have moved over to Ninja and miss it. Any help would be greatly appreciated.

#Indicator Name: Advanced VZO

#

Hi.

Have you tried this one? https://ninjatraderecosystem.com/user-app-share-download/volumezoneoscillator/


Reply With Quote
  #3 (permalink)
 opie5000g 
DAUFUSKIE ISLAND
 
Experience: Intermediate
Platform: NinjaTrader
Trading: /nq
Posts: 4 since Nov 2020
Thanks Given: 0
Thanks Received: 1


Yes, I tried that one. Not quite the same. Thank you for posting that though.


Started this thread Reply With Quote




Last Updated on March 1, 2021


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
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.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top
no new posts