IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ at a glance

Kind of ruleJoining a move (trend following)
Buys or sellsIt can buy, and it can bet on falling prices.
Built onEMA
Where it was publishedTradingView, by its author, as a Pine Script strategy
Tested on9 cells: 9 coins, October 2021 to June 2026, no fee
Cells that placed a trade9 of 9
Middle result before fees+3.6%
Cells above zero5 of 9
Middle drawdown before fees20.1%
Page updated2026-11-08

IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ backtest results, every cell

Every cell is in the picture, not only the strongest. To the right of the black line is above zero. The orange line, when you see one, is the middle.

Result against the deepest fallAcross is the deepest fall along the way. Up is the result. Dots above the black line finished above zero. The middle result is +3.6.−200+19Deepest fall along the wayResult0+49
Across is the deepest fall along the way. Up is the result. Dots above the black line finished above zero. The middle result is +3.6.
Every cell, namedEach bar is one cell. The black line is zero. Bars to the right finished above zero.BNB daily−18BCH daily−8.1DOGE daily−7.6ETH daily−3.5ADA daily+3.6BTC daily+8.5AVAX daily+11AAVE daily+13LTC daily+17−210+25
Each bar is one cell. The black line is zero. Bars to the right finished above zero.

How IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ works

Rules in this group usually work like this. It waits until price is already moving, then joins that move. It is wrong in small ways many times, and right in a large way a few times. The hard part is the stretch where price chops around and every entry is a fake. The next paragraph is this particular rule, which can be narrower than the group.

It can buy, and it can bet on falling prices. It acts only when several checks agree at once. It leans on EMA; those names are explained on their own pages, further down. The exact line is in the list below, in the author's names, and you can skip that list. It gets out when another set of checks agrees. That line is in the list below too.

Each trade uses 50 percent of the account. It can stack up to 2 trades in the same direction.

The exact condition, from the code

Same rule, translated from the code, in the author's names. You can skip this list if the paragraph above was enough.

  • Enters long when ibs is below IBS Entry Threshold (0.09) and (EMA Period (0 to disable) (220) equals 0 or the close is above EMA value) and (Entry Type (long) equals long or Entry Type (long) equals all) and the close is below last entry price and ((last entry price − the close) / last entry price) is at or above (Minimum Distance for New Entry (%) (0) / 100).
  • Enters short when ibs is above IBS Exit Threshold (0.985) and (EMA Period (0 to disable) (220) equals 0 or the close is below EMA value) and (Entry Type (long) equals short or Entry Type (long) equals all) and the close is above last entry price and ((the close − last entry price) / last entry price) is at or above (Minimum Distance for New Entry (%) (0) / 100).
  • Closes the position when (ibs is above IBS Exit Threshold (0.985) or |(the bar index − entry bar index)| is at or above Maximum Trade Duration (days)).
  • Closes the position when (ibs is below IBS Entry Threshold (0.09) or |(the bar index − entry bar index)| is at or above Maximum Trade Duration (days)).
Buys or sellsIt can buy, and it can bet on falling prices.
Tools it calculatesEMA
A second chart speedNo. It uses one chart speed only.
Only at certain hoursYes. It only acts during set hours.
Adding to a tradeIt can stack up to 2 trades in the same direction.
How much it tradesEach trade uses 50 percent of the account.
Cost the author assumedThe author assumed no trading cost.

Default settings

The test used the defaults in the middle column. Nothing was turned to help a coin.

SettingDefaultGroup
IBS Entry Threshold0.09
IBS Exit Threshold0.985
EMA Period (0 to disable)220
Minimum Distance for New Entry (%)0
Maximum Trade Duration (days)
Start Datea date
End Datea date
Entry Typelong

How the backtest was run

Every strategy was tried the same way, on the settings the author published.

The years are October 2021 to June 2026. The prices are from Bybit, for 13 widely traded coins, mostly on hourly, 4-hour and daily charts, with some faster charts. That was 47,242 tries. The window stored in the files is 2021-09..2026-06.

599 rules produced a finished try. A rule that finished above zero on at least 12 cells, before any fee, was tried again with a fee of 0.12 percent per side. Only buys are counted in that second try. 273 rules got it.

The method, the aggregate results and a downloadable table are on the study page. What the desk does with the results beyond these pages is its own.

Before any fee, it was tried on 9 cells. 5 of the cells that traded finished above zero (55.6%).

It was not run a second time with a fee. That second pass happens only when at least 12 cells finished above zero before fees. 273 rules got that pass.

Cells tried9
Cells that placed a trade9
Finished above zero5 (55.6% of the cells that traded)
Middle result, before fees+3.6%
Strongest cell, the top of the rangeLTC daily: +16.9%
Weakest cell, the bottom of the rangeBNB daily: −18.0%
Middle drawdown, before fees20.1%

Label: backtest · old prices, zero commission · Oct 2021 – Jun 2026. Hypothetical results; see the risk disclosure.

How to read the result

How to read the number

The median of every cell that traded is the result. No fee has been taken off, so the number is a ceiling. A fee comes off each trade, and this page does not guess that cost, because this rule did not get the second pass where the fee is applied. The weakest and the strongest cells are not a result on their own.

The middle drawdown, on the cells that traded, was 20.1%.

What this does not show

The useful question, for a rule that joins a move already underway, is what it gave back in the choppy months when there was no trend to join.

Nothing on this page was fit to the cell that finished highest. One coin, one chart speed, or one strong stretch is a single row. It is not the rule. Other years, another exchange, or another fee would be a different measurement.

Questions about IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ

What is IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ?

IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ is a trend following trading strategy published on TradingView as a Pine Script. In plain terms it is a rule of the kind this site calls joining a move. It can buy, and it can bet on falling prices. It is built on EMA. This page reads the rules from the code and reports what they did on old crypto prices.

How does IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ work?

It can buy, and it can bet on falling prices. It acts only when several checks agree at once. It leans on EMA; those names are explained on their own pages, further down. The exact line is in the list below, in the author's names, and you can skip that list. It gets out when another set of checks agrees. That line is in the list below too.

Is IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ profitable in a backtest?

Before any fee, 5 of 9 cells that traded finished above zero, and the median of those cells was +3.6%. No fee has been taken off, so that number is a ceiling. The rule did not reach the second pass where a fee is charged on every trade.

Where can I find the IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ script?

It is published on TradingView by its author. Search TradingView for the title to find the original script. This page is an independent reading and is not affiliated with the author.

What does backtest mean on this page?

Backtest means the rule was replayed on old prices from Bybit. No real money moved. Every number on this page carries that label, and old prices do not promise anything about new ones.

Words used on this page

Backtest
The rule was tried on old prices. No real money moved.
Cell
One coin on one chart speed. Bitcoin every 4 hours is one cell. Bitcoin once a day is another.
Chart speed
How often a new price bar is drawn. 15m means every 15 minutes, 1h means hourly, 4h means every 4 hours, 1D means once a day.
Fee, per side
A cost taken each time the rule trades. Per side means once on the way in and once on the way out.
Median
Line the cells up from the biggest loss to the biggest gain. The median is the middle one. Half the cells did better and half did worse.
Drawdown
The deepest fall from a high point along the way, as a percent of the account at that high.
Above zero
The account finished with more than it started.

The indicators IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ uses

Each has its own page: what it measures, how it is read, where it misleads.

"IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ" was published on TradingView by its author, under the author's own license. This page is an independent reading of those rules and of what they did on these old prices. It is not written with the author, and it is not a recommendation. Not every detail survives the translation onto this page, so read the original before you rely on it.