Home › Guides › Fibonacci Retracement

WHY BOTS FAILFREENO ACCOUNTAUTOMATED TRADE BOTSFibonacciRetracementThe arithmetic of how bots failEDUCATION ONLY | NO SIGNALSEXAMPLE NUMBERS ARE LABELLEDAUTOMATED TRADE BOTSautomatedtradebots.com
A free page on fibonacci retracement. Education only, with example numbers labelled.
WHY BOTS FAIL

Fibonacci Retracement

Short answer

Fibonacci retracement draws horizontal lines at set fractions of a price swing, usually 23.6, 38.2, 50, 61.8 and 78.6 percent. The idea is that a pullback might pause near one of them.

The levels are ratios laid over a swing between a low and a high. The arithmetic is one line. Choosing the swing is where the trouble starts.

The page explains the idea in plain words, works through the arithmetic with a table, and shows how it hits grid, martingale and DCA bots, then tells you what to check before you run one.

  • A worked example with real arithmetic
  • How it hits grid, martingale and DCA bots
  • How to check for it before you run a bot
  • No advice, no signals, no profit promises

Last reviewed 28 October 2026. Education only, not advice.

Free, no account Runs in your browser Worked numbers shown Not advice Examples labelled

Ready to go further

Next: test a rule before trusting it

The how to backtest guide covers the steps, the costs and the traps that catch rules built on drawn levels.

Read how to backtestFree, no account
Reading time7 minutes
Worked exampleExact arithmetic
Tools linked1 on this page
Reviewed28 Oct 2026

What is included

  • What it is, in plain words
  • The formula or mechanism, with exact arithmetic
  • How it hits grid, martingale and DCA bots
  • A check you can run before you switch a bot on

Who it is for

  • People who run or plan to run a trading bot
  • Anyone reading a backtest or a bot sales page
  • Readers who want the numbers, not the pitch
  • Not advice, and not a signal service
Made-up swing from 100 to 110, with five retracement levels10210611015101523.6%38.2%50.0%61.8%78.6%Bar numberMade-up closes after a high of 110. Levels calculated by us on 31 Oct 2026, exact.
The picture for this page. Example numbers are made up unless the page says they were calculated.

Key facts

  • Fibonacci retracement draws horizontal lines at set fractions of a price swing, usually 23.6, 38.2, 50, 61.8 and 78.6 percent. The idea is that a pullback might pause near one of them.
  • The levels are a drawing convention, not a law. Nothing in how markets work fixes those ratios, and 50 percent is not even a Fibonacci ratio. It is added because traders use it.
  • In the made-up swing below, low 100 and high 110, the 61.8 percent level is 103.82 and the 38.2 percent level is 106.18 (calculated by us on 31 Oct 2026, exact).
  • Draw the same swing from a low of 99 instead and the 61.8 percent level moves to 103.20. The picture depends on which two points you pick.
  • A bot that buys when price is near a level has to define "near". In the made-up path below, a tolerance of 0.1 points counts 3 bars and 0.6 points counts 12 of the same 15.

What the levels are

A swing is a move from a low to a high (an up swing) or from a high to a low (a down swing). A retracement is the part of that move that price gives back afterwards. Fibonacci retracement is a way of measuring that give-back as a fraction of the swing and marking the common fractions as lines on the chart.

The ratios come from the Fibonacci sequence, where each number is the sum of the two before it: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89. Divide a number by the one after it and the result settles near 0.618. Divide it by the number two places on and you get near 0.382. Divide by the number three places on and you get near 0.236. The 0.786 level is the square root of 0.618. The 50 percent line is not from the sequence at all. It is there because half of a move is an easy thing to look at.

Why would a market respect these numbers? There is no accepted mechanism. The usual explanation is that many traders watch the same lines, so orders gather near them. That is a story about attention, and it is not proven here. Treat the levels as places some people look, and measure whether they matter for the rule you are testing.

How the levels are drawn

Pick a swing low and a swing high. The distance between them is the range. Each level is the high minus the range times the ratio, for an up swing that is pulling back down.

Level = swing high - (swing high - swing low) x ratio
For a down swing: Level = swing low + (swing high - swing low) x ratio

Some charting tools also draw extensions beyond the swing, such as 127.2 and 161.8 percent, to mark where a move that continues might reach. They use the same range, just ratios above 1.

A worked example with made-up numbers

Take a made-up up swing from a low of 100 to a high of 110. The range is 10. The 38.2 percent level is 110 - 10 x 0.382 = 106.180, shown as 106.18. The table gives all five. The right-hand column shows the same levels if the swing low had been drawn from an earlier wick at 99.

RatioLevel (low 100)Level (low 99)Gap between the two
23.6%107.64107.400.24
38.2%106.18105.800.38
50.0%105.00104.500.50
61.8%103.82103.200.62
78.6%102.14101.350.79

Every level moves when the low moves by one point, and the move is largest for the shallow ratios. All numbers are made up, calculated by us on 31 Oct 2026, exact. Neither drawing is the right one. Both are defensible swings, and a bot has to be told which to use.

How the levels fail

  • The swing is a choice. Which low and which high count? A wick or a close? The last visible swing or a larger one? Two people draw different lines on the same chart, and each can point to a pullback that "respected" theirs.
  • Many lines, many chances. With five levels on a 10-point swing, a pullback of normal size will pass close to at least one of them. A line that was "hit" is easy to find after the fact. That is how a convention starts to look like a law.
  • Price can go straight through. A deep pullback passes every level and keeps going. The levels do not say where a move stops, only where it could.
  • No fixed rule for the end. If price falls through 61.8 percent, do you switch to 78.6 percent? At some point the swing itself has failed. Each answer is another setting.
  • Selection after the fact. Tuning which ratios, which swings and what tolerance to the past is overfitting. A set that fits last year can fail this year.

How a bot encodes "price near a level"

A bot cannot look at a chart. It needs a rule in numbers. A typical version has three parts.

  • Find the swing. For example, the highest high and lowest low of the last N bars, or a swing-point rule such as the highest high with M lower highs on each side. N and M are settings.
  • Compute the levels. The formula above, for chosen ratios.
  • Test the distance. "Near" means the absolute difference between price and a level is at or below a tolerance. The tolerance may be in points, in percent, or in multiples of the average true range (ATR, the average size of a bar over recent bars).

Now the fragile part. Take the made-up closes in the picture, 15 bars starting at the high of 110. With the five levels fixed, a bar counts as near a level at a tolerance of 0.1 points 3 times, at 0.3 points 7 times and at 0.6 points 12 times. The prices did not change, only one setting did. Shift the swing low from 100 to 99 with the 0.3 tolerance and the count becomes 6. A backtest of this rule would give different trades for each of these, and each looks reasonable. That is also why a single good backtest tells you little: see how to backtest.

There is also a timing problem. A swing high is only known to be a high after price has turned down from it. A bot that finds the swing using bars it could not yet have seen is committing look-ahead bias. Charts redrawn in hindsight make this very easy to do by accident.

Bars counted "near a level" by tolerance (made-up path, 15 bars)3 of 15Within 0.1points7 of 15Within 0.3points12 of 15Within 0.6pointsSame closes, same levels, only the tolerance changes. Made-up prices, calculated by us on 31 Oct 2026, exact.
The same 15 closes and the same five levels. Only the tolerance changes, and the count of "near" bars changes with it.

Using it with other tools

Traders often combine a retracement level with something else, such as a moving average, a round number or an oscillator like the RSI indicator. Levels from different tools that sit close together are called confluence. The idea is that more reasons at one price mean more orders there. For a bot, every extra condition is another setting to fit. The VWAP indicator, Bollinger bands and an EMA crossover are common partners, and each adds its own parameters. When a level coincides with a breakout level, see also false breakout and breakout trading.

How to check a rule that uses retracement levels

Write down every setting before you test: the swing rule, the ratios, the tolerance, the entry, the exit and the stop. Run it on real data across rising, falling and flat periods, with spread, fees and slippage included. Count the trades, the average result per trade and the worst losing run. Then vary each setting a little. If a small change in tolerance flips the result, as in the example above, the rule has fitted noise. Keep a final stretch of data untouched and test on it once. Size any test position with a tool such as the position size calculator, so a bad run is survivable.

What this does not tell you

It does not say that price stops at any level, how often it does, or whether any rule built on the levels is worth running. The swing, the prices and the counts on this page are made up to show the arithmetic and the fragility. This page is education, not a signal.

FAQ

Frequently Asked Questions

What is Fibonacci retracement?

A charting tool that marks fractions of a price swing, usually 23.6, 38.2, 50, 61.8 and 78.6 percent, as places where a pullback might pause. It is a drawing convention and does not forecast anything.

How do you draw Fibonacci retracement levels?

Pick a swing low and a swing high, then subtract the range times each ratio from the high for an up swing. Which two points you pick is a judgment, and different picks give different lines.

Is the 50 percent level a Fibonacci number?

No. It is added because half of a move is easy to watch. The other ratios come from dividing numbers in the Fibonacci sequence.

Why do bots struggle with Fibonacci levels?

A bot needs exact rules for the swing and for "near a level". Small changes to those settings change the trades, so a rule can be fitted to the past and then fail on new data.

Do prices respect Fibonacci levels?

Price sometimes pauses near a line, but with several lines on a chart some line is usually close. Whether they matter more than chance is something to measure on data with costs, not assume.

Are the numbers on this page real?

Example numbers are made up to show how the maths works, and the page says so. A figure only counts as exact when the page says it was calculated on a stated date. Nothing you enter in a calculator leaves your browser.

Can I use this to decide whether to run a bot?

It can show whether a bot's numbers hold together and how much an account can lose. It cannot say what the market will do, and it is not advice. Use it to ask better questions, then read the terms of your own broker or exchange.

Is this financial advice?

No. It is general education about a drawing method. The prices are made up and it is not a signal.

Know the Risk Before You Run It

Free calculators and guides, added every week. Leave your details and we will email you when new ones go up.

Trading carries a risk of loss