Skip to content
  • +1 (331) 256-9097
Contact Us
Ask Question in Our Discord
Download Free Trial
Quagensia
  • Quagensia Software
    • Quagensia N Edition
      • Features
      • Pricing
      • Download Free Trial
      • Request a Demo
    • Quagensia T Edition
      • Features
      • Pricing
      • Download Free Trial
      • Request a Demo
  • Pricing
    • Quagensia N Edition
    • Quagensia T Edition
  • Portal
    • Directory of Point-and-Click Strategies at Quagensia.com
    • Trading Strategy Web Directory
      • Trading Strategies – Courses & Education
      • Trading Strategies – News & Analysis
      • Trading Discussion Forum Directory
    • Trading Strategy Video Directory
    • Strategy Directory – Beyond Quagensia.com
    • Quagensia N Edition-Compatible Third-Party Indicators
    • Content Creator Support Center
  • Support
    • Quagensia Help Documentation
    • Join Us on Discord
    • Discussion Forums
    • Contact Us
  • Company
    • About Us
    • Contact Us
    • The Quagensia Blog
    • Company News
    • Logos and Assets
  • Quagensia Software
    • Quagensia N Edition
      • Features
      • Pricing
      • Download Free Trial
      • Request a Demo
    • Quagensia T Edition
      • Features
      • Pricing
      • Download Free Trial
      • Request a Demo
  • Pricing
    • Quagensia N Edition
    • Quagensia T Edition
  • Portal
    • Directory of Point-and-Click Strategies at Quagensia.com
    • Trading Strategy Web Directory
      • Trading Strategies – Courses & Education
      • Trading Strategies – News & Analysis
      • Trading Discussion Forum Directory
    • Trading Strategy Video Directory
    • Strategy Directory – Beyond Quagensia.com
    • Quagensia N Edition-Compatible Third-Party Indicators
    • Content Creator Support Center
  • Support
    • Quagensia Help Documentation
    • Join Us on Discord
    • Discussion Forums
    • Contact Us
  • Company
    • About Us
    • Contact Us
    • The Quagensia Blog
    • Company News
    • Logos and Assets
Point-and-Click Strategies and Education for NinjaTrader® and TradeStation® > Multiple Instrument Types > Multiple Instruments

Calculating Support and Resistance from Swings Using Lists and Loops (Point-and-Click NinjaTrader® Strategy)

Includes point-and-click strategy for NinjaTrader® which is built into Quagensia® N Edition (for NinjaTrader®).
Calculating Support and Resistance from Swings Using Lists and Loops (Point-and-Click NinjaTrader® Strategy)
Quagensia
Quagensia
Friday, Mar 22, 2024
Multiple Instruments
Multiple Instrument Types
N Edition
Advanced Users
Free Trial User Cannot View
Advanced Users
Algo Files Only
Free Trial User Cannot View
Lists
Relative Strength Index (RSI)
Strategies Built Into Quagensia N Edition
Support and Resistance
Swing
While Loops

Original Trading Strategy

Discuss on X (x.com, Quagensia)

Peer Reviews, Modifications & Responses

Contribute

Thanks for Sharing!

Trading Strategy Summary

This strategy demonstrates one way to calculate the relative support and resistance of a price chart and then use the ratio of the “Support Score” and “Resistance Score” as one of the metrics used to determine if a long position should be entered, assuming that some other entry conditions not related to support and resistance are also True.

When calculating a custom “Support Score” and “Resistance Score”, the first decision is what raw data should be used as points on the chart that are support or resistance. This strategy uses the swing highs and swing lows as determined by the “Swing” indicator, which is built into NinjaTrader®.

New swing highs and new swing lows do not occur every bar. They occur every so many bars, and the number of swings between bars can vary widely. Therefore it is difficult to use the Swing indicator itself, an Editable Time Series holding custom calculated values for each bar, or any other time series that has one decimal value for every bar. Since the strategy uses a user-specified number of most recent swing highs and lows for its raw data, and since these swing points could occur quite infrequently and irregularly, it makes sense to first simplify the data by compressing it into “parallel lists” using Quagensia N Edition List internal variables on each bar close when a new swing high or swing low is encountered. This strategy does this by checking if a new swing high or new swing low occurred on each bar close event, and if one did occur, this strategy adds an item to the end of the “parallel lists” that each hold one kind of data about the swing high and low points, and it draws a dot on the chart.

Note: “Parallel lists” of swing high and low points are lists that each have the same number of items, where items at a given “0-based” (i.e. counting starting at 0, not 1) numeric index in each of the lists, such as “index 0” for the 1st item in the lists or “index 4” for the 5th item in the lists, all store data about the same swing high or low point whose data was added to the parallel lists when a new swing high or low occurred.

Not all the “parallel lists” populated with new swing high and low data are used by this strategy, but the lists are populated so that you can make a copy of this strategy and use the data in these unused lists as part of your own custom calculations for support and resistance.

Note that price changes in the swing high and low plots on the chart precede the actual swing high and swing low points by a number of bars equal to this strategy’s “Swing Strength” input parameter. It is the swing high and low points, represented by dots on the chart, that are used in the calculations in this strategy, not the price changes of the swing high and low plots that precede them.

Once the number of swing high and low points encountered by this strategy is greater than or equal to the input parameter named “Nbr of Swings Back to Consider for Support/Resistance”, this strategy starts considering support and resistance for entry signals.

It checks the simpler entry conditions, when are not related to support and resistance, first since they likely take less computational resources than the support and resistance calculations that are done further down in the trading logic and only if the simpler entry conditions are True. If the Set of Conditions made from the simpler entry conditions does not evaluate to True, there is no reason to do the more computationally intensive support and resistance calculations further down in the trading logic.

If the simpler entry conditions indicate that an entry should occur, then calculations are done in a “While Loop” that starts from the 0-based index of the last item in each of the parallel lists, which contain the information about the most recent swing high or low point, and counts backward to get and process data from the number of most recent swing high and low points that was specified by this strategy’s “Nbr of Swings Back to Consider for Support/Resistance” input parameter, and does calculations on the data for these most recent swing high and low points to calculate values such as:

1. The total number of swing high and low points above the current close price (resistance) and below the current close price (support). Presumably, the higher the ratio of number of points that offer support vs. number of points that offer resistance, the more bullish the chart is from the perspective of support and resistance.

2. The average distance of the swing high and low points that are above the current close price (resistance) and below the current close price (support). Presumably, the closer the support points are below the current close price and the further away the resistance points are above the current close price, the more bullish that the chart is from the perspective of support and resistance.

The strategy then uses the values calculated in the While Loop to calculate the average distances of support and resistance from the entry signal bar’s close price and the percent of the way from support and resistance that the entry signal bar’s close price represents. Note that this percentage may not be used in this strategy but may be useful in strategies that use this strategy as a starting point.

Then, a “Support Score” and “Resistance Score” are calculated separately by multiplying the number of points that represent support (or resistance) and a ratio of the close price of the entry bar and the average distance of the support (or resistance) points from the close price of the entry signal bar’s close price.

The algorithmic properties of these simple calculations for the Support Score and Resistance Score are as follows:

1. The Support (or Resistance) Score *increases linearly* with the number of total support (or resistance) points because this number is in the numerator of the score. So if 8 of the last 10 swing highs and swing lows were support points (because they are below the close price of the entry signal bar) and only 2 were resistance points (because they are above the close price of the entry signal bar), the Support Score would be multiplied by 8 whereas the Resistance Score would be multiplied by 2, making the Support Score start off 8/2=4 times as high as the Resistance Score. No attempt was made to discount the value of support or resistance due to a swing high or low point being really far in the past instead of quite recent, but two of the parallel lists hold data that could be used to do this based on the relative differences in bar numbers from the current bar or based on the relative differences of how long ago, in units of minutes, days, etc., swing highs and lows occurred. The widths of the right triangles drawn on the chart are the number of swing highs and lows that were support or resistance, so if there were 8 resistance points, a translucent pink triangle will have a width of 8 bars, and if there were 2 support points, a translucent light green triangle will have a width of 2 bars.

2. The Support (or Resistance) Score *decreases linearly* with the average distance of the support (or resistance) points’ prices from the close price of the entry signal bar because this number is in the denominator of the score. So if the average distance of the support points’ prices from the close price of the entry signal bar is 5.00 and the average distance of the resistance points’ prices from the close price of the entry signal bar is 10.00, the Support Score would be divided by 5.00 whereas the Resistance Score would be divided by 10.00, making the Support Score another 10.00/5.00 = 2.00 times as high compared to the Resistance Score from step 1 above. Given that in the example above the Support Score started off as 4 times as high as the Resistance Score since 8 of the 10 swing highs and lows were support, the Support Score in this example would be 4*2.00=8.00 times as high as the Resistance Score. The heights of the right triangles drawn on the chart are these average distances from the close prices of the entry signal bars to the average support or resistance prices.

3. The only reason that both the Support and Resistance Scores are multiplied by the close price of the entry signal bar is so that their final values won’t be too tiny (like 0.00035) and therefore hard to read. Instead, multiplying the Support and Resistance Scores by the close price of the entry signal bar will create scores that are more recognizable by a trader used to an instrument trading at a certain price.

Then, the ratio of the “Support Score” and “Resistance Score” is calculated. If the Support Score is larger than the Resistance Score, the ratio will be greater than 1, if the Support Score is smaller than the Resistance Score, the ratio will be less than 1 but not less than 0, and if both scores are the same, the ratio will be equal to 1.

Then, if the ratio of the support and resistance scores is between the upper and lower thresholds specified by the corresponding upper and lower threshold input parameters, a long position is entered using a market order.

The ratio of the Support and Resistance Scores, as well as all the metrics that went into calculating this ratio, are printed on the chart for each potential entry bar by default to help new users understand the calculation of this ratio. Quite a bit of text is displayed and it can clutter up the chart. Once you’ve seen the metrics, you can stop them from printing on the chart by setting the input parameter named “Show Support / Resistance Calculations On Each Entry Signal Bar on Chart?” to True by checking its check box in the NinjaTrader® user interface.

Copyright © 2024 Quagensia, Inc. All rights reserved.

How to Get the Quagensia Strategies

This point-and-click trading strategy is built into Quagensia N Edition (for NinjaTrader®).

Customize Quagensia Strategies with Your Own Ideas

Tweaking Quagensia Trading Strategies using point-and-click with the Quagensia Desktop Application is easy for non-programmers. If you get stuck you can usually find the answer you need in our online help documentation or you can ask a question in our friendly Discord community.

If you don’t want to tweak a Quagensia Trading Strategy with point-and-click to add your own proprietary trading logic, you can still download a Quagensia Trading Strategy file, open it up in the Quagensia Desktop Application, and generate its code, then backtest and optimize the trading strategy on different instruments, different bar periods (weekly bars, daily bars, hourly bars, 15-minute bars, etc.), or different bar types (time-based bars, volume-based bars, tick-based bars, etc.), and use different start and end dates.

Some tweaks you can make to the Quagensia Trading Strategies you download include:

Modify the entry & exit logic.

  • Add more conditions, remove conditions, or change them by choosing from among a very large number of components, including many exotic indicators.
  • Add or modify stop losses, trailing stops, and profit targets. Make them tighter, less tight, or based on an entirely different calculation.
  • Add or modify time stops. For example, exit after a certain number of bars either unconditionally or only if the post-entry price action did or did not exhibit certain characteristics.

Enhance the output of the strategy to go beyond simply placing orders.

  • Draw lines, shapes, and text on the chart. For instance, you can mark times or prices where each entry or exit condition of a multi-condition entry or exit was true, even if all the necessary entry or exit conditions were not true at the same time so an entry or exit did not occur.
  • Write information to NinjaTrader®’s NinjaScript® Output window or TradeStation®’s EasyLanguage® Print Log window.
  • Write information to a file. You can even output a report that can be opened in Microsoft Excel or consumed by another application that reads comma-delimited, semicolon-delimited, or otherwise character-delimited tabular data files.

Thanks for Sharing!

Watch on YouTube Watch on YouTube
Watch on YouTube Watch on YouTube

Ready to get started?

Download the Quagensia no-code strategy builder free trial and build your trading strategies now.
Download Free Trial

Under a dollar a day.

Priced to be an easy decision for most traders.
See Pricing

Join Us on Discord

Build point-&-click strategies for NinjaTrader® and TradeStation® using Quagensia®. Collaborate with other traders to get and give help, build and backtest strategies together, and grow your skills.
Join Discord

Subscribe to our Newsletter

We'll send you product updates and company news from Quagensia as well as curated lists of Quagensia-enhanced content.
Subscribe

Welcome
Content Creators

Quagensia enables content creators to make interactive content. We invite you to create Quagensia-enhanced content and share it on YouTube and other social media channels. You may submit your high-quality Quagensia-enhanced content for consideration for free inclusion on our website.
Create Quagensia-
Enhanced Content

Screenshots of the Quagensia Strategy

Here’s a screenshot of this strategy on a backtest chart in the NinjaTrader® Strategy Analyzer.
Screenshot for point-and-click trading strategy "Calculating Support and Resistance from Swings Using Lists and Loops"
Here’s a screenshot of the Quagensia N Edition Strategy you can open from Quagensia N Edition and add your own proprietary logic to, then backtest on any instruments for which you have market data in NinjaTrader®.
Screenshot for point-and-click trading strategy "Calculating Support and Resistance from Swings Using Lists and Loops"

Backtest and Optimize Trading Strategies in NinjaTrader® and TradeStation®

NinjaTrader® instructions: Download NinjaTrader® from the NinjaTrader® home page, then connect to their free daily Kinetick data feed and free daily and intraday Coinbase data feed, then chart the markets for free, start backtesting and optimizing Quagensia N Edition Trading Strategies for free, and trade them in live markets with NinjaTrader®.
TradeStation® instructions: Contact TradeStation® from the TradeStation® home page to obtain access to TradeStation® 9.5 and TradeStation® 10, then chart the markets, start backtesting and optimizing Quagensia T Edition Trading Strategies, and trade them in live markets with TradeStation®.

Additional Resources Relevant to This Trading Strategy

Seeking Alpha
Yahoo Finance
Benzinga
Investing.com
Google Finance
finviz
msn money
TheStreet
CNBC
Zacks
Investor’s Business Daily
ETF Database (etfdb.com)
CoinMarketCap
CoinGecko
Cointelegraph
Yahoo Finance Cryptocurrencies Screener
msn money Cryptocurrencies Screener
DailyFX
FX Empire
FXStreet
Economic Calendars (Over 30, All Free-to-Use)
Earnings Calendars (Over 20, All Free-to-Use)
Submit a link to an article, blog post, research report, or other valuable research where Quagensia is mentioned.
Use the “How to Submit Quagensia-Related Links” page linked to above to inform us about an article, blog post, or other valuable research where Quagensia is mentioned. This includes articles and research reports in both the traditional financial press as well as those on high-quality niche trading industry news & analysis websites and blogs that are in keeping with our brand. We will add links to the best articles, blog posts, and research reports both on this page and on other pages on our website, on our social media accounts, in our email newsletter, and in other relevant places.

Discussions Relevant to This Trading Strategy

WARNING: Trading discussion websites, including forums, subreddits, X, and similar discussion websites, often have a lot of profanity and offensive comments.
Discussions Beneath Seeking Alpha Articles (has a conditional paywall)
Discussions on X
Discussions on Stocktwits
Discussions on Yahoo Finance
Stocks Subreddit (r/Stocks)
StockMarket Subreddit (r/StockMarket)
investing Subreddit (r/investing)
Exchange-Traded Funds (ETFs) Subreddit (r/ETFs)
Options Subreddit (r/Options)
CryptoCurrency Subreddit (r/CryptoCurrency)
CryptoMarkets Subreddit (r/CryptoMarkets)
BitcoinMarkets Subreddit (r/BitcoinMarkets)
bitcointalk.org Bitcoin Trading Discussion
Bitcoin Subreddit (r/Bitcoin)
Forex Factory
Forex Subreddit (r/Forex)
Elite Trader Discussion Forum
Daytrading Subreddit (r/Daytrading)
See more discussion options in The Quagensia Trading Discussion Forum Directory.
Submit a link to a discussion where Quagensia is mentioned.
Use the “How to Submit Quagensia-Related Links” page linked to above to inform us about a discussion thread where Quagensia is mentioned. This includes discussions on forums, subreddits, FaceBook groups, X, and anywhere else. We will add links to the best discussion threads both on this page and on other pages on our website, on our social media accounts, in our email newsletter, and in other relevant places.

Related Trading Strategies & Education

Multiple Instruments

Main Page

Multiple Instrument Types

Main Page
Instrument List

Browse Trading Strategies & Education by Category

Account Info
Advanced NinjaScript® Strategy Events
Analyze Actual Trades
Breakouts
Button Controls on a NinjaTrader Chart
Chart Patterns
Check Box Controls on a NinjaTrader Chart
Conditional Trading Logic (If… Else If… Else Block)
Conditions
Consecutive Bars are Similar
Copy-and-Paste
Counterfactual Trading
Custom Popup Windows on a NinjaTrader Chart
Custom Quagensia Functions
Data Type Conversion and Rounding Decimal Numbers
Data Types
Draw Something
Experience Level: New, Intermediate, Advanced
File Input/Output
Gap Up/Down
Indicators
Input Parameters
Long-Short Position Reversals
Loops
Math
Media Types
Microsoft Excel
Money Management
New High/Low
News & Analysis
NinjaScript/Advanced Objects
NinjaTrader ATM Strategies
Order, Fill, and Position Info
Other Locations to Paste NinjaScript Code
Price Data
Quick Intros
Raw Code Output Actions
Raw Code Output Expressions
Reports
Session Info
Set a Variable
Sets of Conditions (With ANDs, ORs, and Parentheses)
Strategies Built Into the Quagensia Desktop Application
Strategy Info
Strategy Templates
Submit an Order
Support and Resistance
Text Box Controls on a NinjaTrader Chart
Trend Following
TriggerCustomEvent
Usable in Free Trial?
Utilities
When Advanced NinjaScript Events Occur

Browse Trading Strategies & Education by Instrument Type

Cryptocurrencies
ETFs
Forex
Futures
Multiple Instrument Types
Options
Stocks

Browse Trading Strategies & Education by Watchlist

Cryptocurrencies
FAANG Stocks
MAMAA Stocks
U.S. Equity Indices

Thanks for Sharing!

Watch on YouTube Watch on YouTube
Watch on YouTube Watch on YouTube

Ready to get started?

Download the Quagensia no-code strategy builder free trial and build your trading strategies now.
Download Free Trial

Under a dollar a day.

Priced to be an easy decision for most traders.
See Pricing

Join Us on Discord

Build point-&-click strategies for NinjaTrader® and TradeStation® using Quagensia®. Collaborate with other traders to get and give help, build and backtest strategies together, and grow your skills.
Join Discord

Subscribe to our Newsletter

We'll send you product updates and company news from Quagensia as well as curated lists of Quagensia-enhanced content.
Subscribe

Welcome
Content Creators

Quagensia enables content creators to make interactive content. We invite you to create Quagensia-enhanced content and share it on YouTube and other social media channels. You may submit your high-quality Quagensia-enhanced content for consideration for free inclusion on our website.
Create Quagensia-
Enhanced Content

Videos for New Users

Watch on YouTube Watch on YouTube
Watch on YouTube Watch on YouTube
Watch on YouTube Watch on YouTube
Watch on YouTube Watch on YouTube

Videos for Intermediate Users

Watch on YouTube Watch on YouTube
Watch on YouTube Watch on YouTube

Screenshots

For larger and additional screenshots, see large Quagensia N Edition screenshots (for NinjaTrader®) and large Quagensia T Edition screenshots (for TradeStation®).

For additional screenshots, see the list of Strategies Built into Quagensia N Edition (for NinjaTrader®) and Strategies Built into Quagensia T Edition (for TradeStation®). Select a built-in strategy that interests you and scroll down for the screenshot. Then scroll up to the top of the page and click the “Overview” link to watch the video on how to use that built-in strategy.

This is a screenshot of the point-and-click trading strategy you will build in Quagensia N Edition (for NinjaTrader®) if you follow along with the video titled Create NinjaTrader® Strategies Using Point-&-Click with Quagensia N Edition – Full Tutorial.

This is a screenshot of the point-and-click trading strategy you will build in Quagensia N Edition (for NinjaTrader®) if you follow along with the video titled "Introduction to Quagensia N Edition".

Click the gear icon that appears when you place your mouse pointer over the location to which you would like to add trading logic. A context menu will appear with filtered options to choose from.

Click the gear icon that appears when you place your mouse pointer over the location to which you would like to add trading logic. A context menu will appear with filtered options to choose from.

Quagensia N Edition

  • Features
  • Pricing
  • Download Free Trial

Quagensia T Edition

  • Features
  • Pricing
  • Download Free Trial

Trading Strategy Portal

  • Directory of Strategies at Quagensia.com
  • Trading Strategy Web Directory
  • Trading Strategies – Courses & Education
  • Trading Strategies – News & Analysis
  • Trading Strategy Video Directory
  • Strategy Directory – Beyond Quagensia.com
  • Trading Discussion Forum Directory
  • Content Creator Support Center

Support

  • Quagensia Help Documentation
  • Discussion Forums
  • Contact Us

Company

  • About Us
  • Contact Us
  • The Quagensia Blog
  • Company News
  • Logos and Assets
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • DMCA Policy
  • Forums Code of Conduct
  • Quagensia Desktop Application EULA
  • Site Map

Follow Us

Youtube X-twitter Facebook-f Linkedin

Thanks for Sharing!

Join Us on Discord
Subscribe to our Newsletter

DISCLAIMER REGARDING THE RISKS OF TRADING AND INVESTING

Trading and investing in the financial markets can involve a high degree of risk of financial losses, including losing all of your initial investment or even more than your initial investment. For this reason, you should not invest or trade with money that you cannot afford to lose. The use of leverage can work for you or against you and is highly unsuitable for many investors. The trading of futures, forex, contracts for difference (CFDs), options, and cryptocurrencies is highly unsuitable for many investors. Neither trading nor investing is suitable for all people. Most traders lose money. Before deciding to trade or invest in the financial markets you should carefully consider your financial objectives, level of experience, and risk appetite. Past performance, whether actual or hypothetical, is not necessarily indicative of future results. You must be aware of the many risks associated with trading and investing and be willing to accept them in order to trade or invest in the financial markets. You should seek advice from a qualified independent financial advisor if you have any questions, doubts, or points of confusion regarding these many risks.

DISCLAIMER REGARDING HYPOTHETICAL PERFORMANCE RESULTS

Hypothetical performance results have many inherent limitations, some of which are described below. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown. In fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program.

One of the limitations of hypothetical performance results is that they are generally prepared with the benefit of hindsight. In addition, hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk in actual trading. For example, the ability to withstand losses or to adhere to a particular trading program in spite of trading losses are material points which can also adversely affect actual trading results. There are numerous other factors related to the markets in general or to the implementation of any specific trading program which cannot be fully accounted for in the preparation of hypothetical performance results, all of which can adversely affect actual trading results.

DISCLAIMER REGARDING TESTIMONIALS

Testimonials appearing on this website may not be representative of other clients or customers and are not a guarantee of future performance or success.

IMPORTANT LEGAL INFORMATION REGARDING TRADEMARKS AND COPYRIGHTS

Quagensia® N Edition and Quagensia® T Edition are products of Quagensia, Inc., a company which has no affiliation with either NinjaTrader, LLC or TradeStation Technologies, Inc. Neither NinjaTrader, LLC, nor TradeStation Technologies, Inc., nor have any of their respective affiliates endorsed, recommended, or approved Quagensia® N Edition or Quagensia® T Edition. NinjaTrader® and NinjaScript® are registered trademarks of NinjaTrader, LLC. TradeStation®, EasyLanguage®, and Portfolio Maestro® are registered trademarks of TradeStation Technologies, Inc. Bloomberg® and Bloomberg Terminal® are registered trademarks of Bloomberg Finance L.P. Refinitiv® and Refinitiv Eikon® are registered trademarks of Refinitiv or its affiliates. MATLAB® is a registered trademark of The MathWorks, Inc.

All trademarks and copyrights are the property of their respective owners.

Copyright © 2023-2026 Quagensia, Inc. All rights reserved. Quagensia® is a trademark or registered trademark of Quagensia, Inc in the United States, the European Union, China, Japan, and other countries.