Critical Support & Resistance Level (Supply & Demand Zone) indicator and Market Analyzer for Ninjatrader NT8

The NT8 version will include chart indicator and Market Analyzer.

Support & Resistance Level and Supply & Demand Zone are very common and popular jargon in technical analysis.


What is the difference between Support & Resistance Level and Supply & Demand Zone?

In my opinion, Support & Resistance Level is the value of price that tested couple times and hard to break. The zone is formed by two adjacent levels where price may oscillate between those two levels.

Imagine the levels as horizontal lines, and the zones are areas between two horizontal lines.


Why are they important?

In a nutshell, they indicate where the price direction may reverse so you can act accordingly.


There are a couple methods to draw the Support & Resistance Level and Supply & Demand Zone, In most case, people will use swing high or low, or pivot points as the level. But there are too many of them, and not all pivot points will become Support & Resistance Level.


Some of the support or resistance level is hard to break, but after the price break through that level, resistance will become support and vice versa, I define it as Critical Level.


If you draw a critical support or resistance level from the current bar and move backward to where it started, you will notice that some levels are formed by the pivot points from hundreds of bars ago. It’s impossible to discover the Critical Levels if you don’t have enough bars loaded on chart.


The purpose of this indicator is to plot critical support and resistance level automatically on chart.

It will work on all market, Stock, Forex and Futures. It also works on all timeframes.


  • The Strength inputs control the intensity of Support & Resistance Level.
  • The Alert input is the switch of alert function.
  • By enable Enhanced mode, the indicator will be more critical.
  • Check Showzone input to plot colored zones.

The Market Analyzer Columns will list the following conditions between current Close and the indicator’s values:

“Above Supply Zone”;
“Below Demand Zone”;
“Inside Demand Zone”;
“Inside Supply Zone”;
“Cross above Upper Support Level”;
“Cross above Lower Support Level”;
“Cross Below Upper Support Level”;
“Cross Below Lower Support Level”;
“Cross above Upper Resistance Level”;
“Cross above Lower Resistance Level”;
“Cross Below Upper Resistance Level”;
“Cross Below Lower Resistance Level”;
“Between Supply and Demand Zone”;
“Supply and Demand Zone may reverse or too close to each other”;

After import the file, you will be able to see it under the MarketAnalyzerColumn list as shown in below:


You can add the  Market Analyzer Column more than once with different timeframe and different inputs.



Enable email alert from MT4 indicator.

First, go to Tools -> Options or click CTRL+O, then you should the this window as shown in the pic

If you will use gmail with SSL then you can use the same SMTP server

Use your email address for SMTP login and password.

The “From” must be the same as your “SMTP login”, you can use a different email for “To”, or just use all of them as one email.

Press “Test” button, you should receive a test email within 5 mins, usually in 2 mins.

Click CTRL+T to check the terminal journal, it should display the following message if you have set up everything correctly:

If you still cannot get any email, please check your firewall, if your security level is too high, it may block the email sent by MT4.

How to correctly use and enable MT4 Expert Advisors EA

It’s very basic concept but for people who never used MT4 before it’s still a very useful information.

First of all, before using of experts, one has to set them up first. Working parameters common for all experts are defined in the client terminal settings window. This window can be opened by the “Tools — Options” menu command or by pressing of accelerating keys of Ctrl+O.

Make sure you checked Allow automated trading. Otherwise the EA will not take any trade even if you load it on chart.

You should see a smile face at the top right corner of your chart when autotrade is enabled.

Otherwise, it will be a unhappy face.


To shut down an expert, one has to remove it from the chart. Expert must have been deinitialized before it is shut down. To remove an expert from the chart, one has to execute the chart context menu “Expert Advisors — Delete” command or attach another expert to the same chart. Besides, the expert can be removed from the chart at profile or template change.


  • at client terminal shutdown, all experts are shut down, too;
  • at chart closing, the expert attached to this chart will be shut down;
  • at imposing of another expert, the previous one will be removed after confirmation;
  • deletion of the expert from the “Navigator” window does not shut down the expert of the same name imposed in the chart;
  • disabling of experts in the client terminal settings does not provide complete disabling of experts. This option stops launching of the start() function of each expert, but the init() will continue to execute.

The relationship between EA(Expert Advisors ) and Indicator in MT4 MT5 MQL4 MQL5

Basically, the EA (Expert Advisor) is an autotrader that trades automatically by itself.
The trading rules of the EA may involve more than one indicator.

Indicator is the scripts that plot data related to Technical Analysis on chart, such as SMA(simple moving average).

The indicators used by an EA are built-in with it, any indicator you have on chart will not affect the EA. The indicators and EA on chart work separately, they will not interfere with each other.

For example, you have an EA which has the following trading rules:

  • Long: when SMA(9) cross above SMA(30)
  • Short: when SMA(9) cross below SMA(30)


  • The EA will trade without any SMA on chart.
  • Even if you add RSI, MACD, SMA(15) and EMA(55) on chart, the EA will still trade by those rules listed above.
  • If you run the EA on chart, it will not plot any SMA unless you add the SMA indicator.
  • The chart type you used will NOT affect the EA,
  • If you have SMA(9) and SMA(30) on chart, and you changed them to SMA(5) and SMA(45) , it will NOT affect the EA. EA will still trade by those rules listed above.
  • You can only change the way the EA trade by adjusting its input.

Since you may load the indicators that the EA used on chart as reference, please make sure you have the same input value for both EA and the Indicators, otherwise you will see inconsistency. 


For example,  you have an EA which has the following trading rules:

  • Long: when SMA(9) cross above SMA(30)

You add SMA(14) and SMA(50) on chart and you also add the EA. 

But the EA did not enter/exit the trades when the 2 SMA on chart cross over.

That’s because your EA was trading by the rule of SMA(9) and SMA(30).

What you see on chart is SMA(14) and SMA(50).





Auto ZigZag Fibonacci extension indicator Ninjatrader NT8

Fibonacci retracement is a method of technical analysis for determining support and resistance levels. They are named after their use of the Fibonacci sequence. Fibonacci retracement is based on the idea that markets will retrace a predictable portion of a move, after which they will continue to move in the original direction.

This custom Ninjatrader indicator will plot Fibonacci extension lines automatically from previous Zigzag High or Low. It works on any timeframe and chart type that supports ZigZag, such as Renko, Heiken Ashi, Range and Tick.

It uses the built-in version of Zigzag from NT8, but instead of plotting Zigzag on chart, it draws the Fibonacci extension lines.

It has all the inputs of Zigzag and two additional inputs for Fibonacci extension, if you checked “Show Extra lines”, it will plot the Fibonacci retracement of 0.236, 0.382 and 0.618 above and below the 0% and 100%.


If “Use Recent ZigZag” is enabled, the indicator will use the most recent stable ZigZag, otherwise it will use the previous one. Please check the images below for a better understanding.

The indicator may not work properly if there was not enough bars on the chart.

In general, 800 bars is good, but it also depends on the ZigZag Deviation value you set.

The bigger the Deviation value is the more bars you need to load.

You can change “bars to load” by following the pic below.

The fastest way to access your fav inputs is saving it as Templates.

The price percentage change of Stock, Forex and Futures vary widely in the same timeframe.

In most case, Stocks have higher percentage change than Forex and Futures.

Deviation percent value 0.01-0.065 is good for Forex in 1 to 5 minutes chart, but it may not work well for stocks or futures.

Please check the screenshots below to get some ideas of how to properly set the inputs.

Example of Heiken Ashi:

Example of Renko:

Example of Tick.

Example of  Range:

Example of minutes:

Stock Option data (Strike, Volume, Open Interest, Last, High, Low, Net Change, Percent Change) indicator for Thinkorswim TOS

This customized Thinkorswim indicator shows stock option data as a panel on chart.

It makes possible for option traders to track multiple strikes with different underline stocks in one single chart. You don’t have to check every symbol and strike manually anymore. It will save you a lot of valuable time and improve your efficiency.


  1. Shows Strike, Volume, Open Interest, Last, High, Low, Net Change, Percent Change from any given symbol’s Call data.
  2. Shows Strike, Volume, Open Interest, Last, High, Low, Net Change, Percent Change from any given symbol’s Put data.
  3. Shows Strike, Volume, Open Interest, Last, High, Low, Net Change, Percent Change from current chart symbol’s Call.
  4. Shows Strike, Volume, Open Interest, Last, High, Low, Net Change, Percent Change from current chart symbol’s Put.
  5. Alert when the Last of a Call or Put is greater than the input value.
  6. Set up any proper strike price you want.
  7. Set up the expire date of an option.
  8. Enable to use this indicator for current chart’s symbol only.
  9. Enable to use this indicator for any optionable symbol.
  10. Show option data for as many symbols as you want.

Understanding the inputs

  • use Current Symbol: if set it to YES, then it will only show option data of the current chart symbol, it will ignore the symbol that you entered. if set it to NO, it will only show option data from the symbol you entered.
  • symbol: it only works when you set  “use Current Symbol” to NO.
  • expire date: the expiration of the option in format of YYMMDD
  • strike price: the option strikes, if you entered a invalid number it will show nothing on chart.
  • CallAlertPrice: the price value used to compare with Call’s Last traded price.
  • PutAlertPrice: the price value used to compare with Put’s Last traded price.
  • uncheck the “Enabled” option to disable alert.

The best way to know how it works is to begin with an example.

If you want it to show the option data of ‘SPY’ with strike 230 and expires: April 13, 2017,

and get alerts if the Last of Call or Put is greater than $2.

Then you can use the following inputs if the current chart is ‘SPY’.

If the current chart is QQQ, and you want to watch the option data of ‘SPY’ with strike 230 and expires: April 13, 2017. Then set:

input useCurrentSymbol=no;

input symbol=”spy”;

input expireDate = “170413”;

input strikePrice = 230;

input CallAlertPrice=2;

input PutAlertPrice=2;

It will alert if the Last of Call or Put is greater than $2. You could uncheck the “Enabled” option to disable the alerts.

If you only want to track the options for the current symbol displayed in chart, then simply set

input useCurrentSymbol=Yes, then specify strike prices and expiry dates you are interested in.

The screenshot shown below is an example of adding this indicator 6 time with useCurrentSymbol=Yes and different strike and different expiry date.

MTF Trend 4 in 1 multi time frame consistence check indicator for Tradingview

Price can be up trend and downtrend simultaneously in different timeframes.

Experienced traders know the importance of looking at Multiple Time Frames.

Analyzing multi time frame chart allows trader to have a greater view on the price action.

This MTF trend indicator shows the trend of current time frame and 3 higher time frames in a single chart. In addition, it will check the consistence of all 4 time frames. It will not repaint.

It will only work on time based charts. Tick and range charts are not supported.

The green dots represent uptrend, and the red dots represent downtrend.

The ‘trend period’ is used to measure the direction of price within the given number of bars.

The dots of value 1 at the bottom is the trend of ‘timeframe 1’

The dots of value 2 is the trend of ‘timeframe 2’

The dots of value 3 is the trend of ‘timeframe 3’

The dots of value 4 is the trend of current timeframe.

If current and 3 higher time frames are in the same direction, the dots at the top will appear.

Otherwise, there will be no dots at value 5.

‘timeframe1’ ‘timeframe2’ and ‘timeframe3’ must be higher than current timeframe, if your chart is 15min, ‘timeframe1’ ‘timeframe2’ and ‘timeframe3’ must be 20min or higher.

It will highlight bars when trends are inconsistent in different timeframes.

You can change the highlight color, or disable this feature.

The highlighted bars represent the situation where price may change its direction from previous trend, or in a short-term adjustment.