Applied Market Mechanics: Tool 03 · Price Action
| Class | Tool |
| Entry | 03 |
| Markets | Crypto, equities, indices |
| Timeframes | 1h to 1M; Heikin Ashi on 1D and above |
| Builds on | UMM Part 3, UMM Part 4, Daily vs Weekly Market Closes, Turn the Candles Off, Tool 01 |
Watch a tug of war from far enough away and you can't see who is pulling hardest. Every arm is straining, every face is red, and the rope looks perfectly still. What you can see is the knot in the middle. It drifts a few inches one way, gets dragged back, drifts again, and if one team is stronger the drifts in its direction last longer and the snaps back get shorter, until one heave carries the knot over the line. You learn more from the knot than from the people, and you never need to know who is pulling to say who is winning.
A price chart is the knot. Every bar is the result of buyers and sellers pulling against each other through the session, and the chart records only where the knot ended up and how far it was dragged on the way. This Tool reads that record for one thing: whether the side that has been winning is still winning. Neither of the first two Tools needed it. Tool 01 draws the levels a range is negotiated around, and Tool 02 asks whether spot or leverage is carrying a move. Neither asks whose move it is.
The question is older than this series. On 3 December 2023 somebody asked whether market structure and price action had changed since Alameda and FTX were gone, and I replied with a weekly chart of bitcoin's whole history split into spans: an Entity A that passed control to an Entity B "sometime '15/'16", and retook it "some time in '21". A's price action was "more rounded", I wrote, "id argue more organic"; B's was quick accumulation and "sharp V corrections", leaving market participants little room to react, though the overall structure was respected throughout. I called it "just hypothetical and an opinion", and it was. It's also the clearest picture I have of what this Tool looks at.
The original was drawn on an index with no venue behind it, which no snapshot in this series covers, so the figure redraws it on Bitstamp's monthly bars from 2011, where higher-timeframe structure matches the major venues. The spans and their overlap are as I drew them. The arcs are placed along Bitstamp's monthly highs where my freehand lines ran, and the Elliott counts I scribbled over 2018 and 2019 are left off, because they belong to UMM Part 4 and nothing here uses them.
Two things in that chart need saying plainly before anything is built on them. The first is that the entities are a reading. Nothing on a chart tells you who is trading, and naming Alameda in the thread was speculation I flagged as speculation. What a chart does show is a footprint: closes, wicks, swings, the shape of a turn. The Tool works entirely on the footprint. The second is that I drew the spans overlapping, because I didn't know exactly when control changed hands, and I still don't. This entry keeps that overlap wherever it shows up. I've found patterns that made calls work out in their favour; I haven't found a way to know the moment control changes, and the figures don't pretend otherwise.
The Question
Is the vested interest still in control?
The vested interest is the side whose levels hold when they're tested. The Tool reads what that side leaves on the chart and never claims to know who it is.
Mechanics underneath
Control shows up at three scales, and each needs its own way of looking.
The bar. A candle records an auction. Its body runs from where the session opened to where it closed, the price the market settled on by the end, and its wicks mark prices that traded and didn't hold. A wick above a body is a price buyers reached and sellers pushed back from; a wick below is the reverse. That's why Tool 01 anchors on bodies and judges crossings on closes. The body is the part of the bar that was accepted. A single bar says little on its own, the same lesson Turn the Candles Off draws for volume, and it's the run of bars that starts to show who is winning.
The run. Heikin Ashi candles smooth that run so its direction is easier to see. Each one is built from the real candle and the Heikin Ashi candle before it:
The close is the bar's average price and the open is the midpoint of the previous Heikin Ashi body, so neither is a price anyone traded at, and the open carries a memory of every bar before it. That memory is the point. A run of one colour with no wick on the side it came from is momentum still carrying. Bodies that shrink while wicks grow on both sides are momentum fading, the knot still drifting but more slowly, with more tugs back. The colour turns once the average price drops below the remembered midpoint, which is always late, and it's why I read Heikin Ashi on the daily and above, where a few bars of lag cost little against the horizon.
Into bitcoin's November 2021 top the weekly Heikin Ashi bodies measured
The swings. A swing is a bar that stands above (or below) the bars on either side of it. Swing highs and lows are where one side held the knot and the other gave up for a while, and market structure is the sequence of them: who keeps making new extremes, and whose old extremes keep holding. Each time price comes back to a swing, the side that set it is tested. If the swing holds, that side is still defending its level. If a close goes beyond it and stays there, the level has been taken. A range in Tool 01's sense is the same thing seen from the other end: a stretch of structure in which neither side's swings give way, so price is held between the climax and the reaction. Tool 01 draws that range. This Tool watches it being built, and watches it break. The stop runs and fair value gaps that happen around swings are Part 3's subject, and a failed break with a long wick is a stop run's footprint.
Where control changes. In my experience, across markets, the vested interest changes hands at tops and bottoms and very rarely in between. During an expansion or a contraction the side in control keeps control, and its pullbacks are its own retracements. That's an observation rather than a law, and Reading it shows the one long history I've checked it against. But it decides where this Tool's question carries weight: at extremes, which is where Tool 01's anchors sit.
Timeframes. Structure looks the same on every timeframe, and that's the reason the Timeframes field above is as wide as it is. On 27 December 2020 I posted two charts side by side and called them "big player no. 1 accumulation schematic". One was ether on 30-minute bars over the previous eleven days; the other was bitcoin on daily bars from 2019 into 2020. Both had a range drawn across them, both had swept below it to the same extension, and both had come back inside.
The bitcoin range runs from
The ether range runs from
Two days earlier, on Christmas Day, I'd posted a 3-minute bitcoin chart with a short dialogue between two big players, one starting to distribute and the other sending price higher anyway, then the first giving up and joining in. That's the Tool's question asked on three-minute bars, of a single morning. The 3-minute and 30-minute charts sit below this Tool's calibrated floor of an hour, so the numbers later in this entry stay at an hour and above. What the posts show is that the question doesn't belong to any one timeframe.
Configuration
Two TradingView tabs on the same symbol, both of which a free account can build. Tested on a free account on 2 November 2026.
| Tab | Chart type | Timeframe | On it |
|---|---|---|---|
| Structure | Candles | the one you're reading | Tool 01's template, Volume, swing markers (below) |
| Run | Heikin Ashi | 1D and above | nothing else |
Swing markers. The Tool lays out two rules for what counts as a swing, and they suit different jobs:
| Rule | Swing high on | Swing low on | Suits | Marker |
|---|---|---|---|---|
| Body | ranges and levels, as Tool 01 anchors on bodies | the script below | ||
| Wick | momentum, especially on Heikin Ashi | TradingView's built-in Pivots HL |
I use bodies on ranges and wicks when reading momentum on Heikin Ashi. Which you use, and where, depends on the market, the timeframe and how much room your collateral gives a position to be wrong in. TradingView's Pivots HL (search "Pivot points high low" in Indicators) marks wicks only, with left and right lengths for highs and lows set separately and
//@version=6
indicator("Body pivots (AMM Tool 03)", overlay = true, max_labels_count = 500)
leftH = input.int(10, "Pivot high: left", minval = 1)
rightH = input.int(10, "Pivot high: right", minval = 1)
leftL = input.int(10, "Pivot low: left", minval = 1)
rightL = input.int(10, "Pivot low: right", minval = 1)
bodyTop = math.max(open, close)
bodyBot = math.min(open, close)
ph = ta.pivothigh(bodyTop, leftH, rightH)
pl = ta.pivotlow(bodyBot, leftL, rightL)
lh = not na(ph) ? label.new(bar_index - rightH, ph, str.tostring(ph, format.mintick), style = label.style_label_down, color = color.white, textcolor = color.black) : na
ll = not na(pl) ? label.new(bar_index - rightL, pl, str.tostring(pl, format.mintick), style = label.style_label_up, color = color.white, textcolor = color.black) : na
It's written without indented blocks so it survives being copied from a web page. Both indicators label in white, so if you run them together, change Pivots HL's label colour in its settings. On a free account the script, Pivots HL and Volume sat on one chart together without a limit prompt.
Heikin Ashi's prices. On a Heikin Ashi chart TradingView's legend shows the Heikin Ashi values, and the price axis carries two labels at once, the Heikin Ashi close and the real last price. On the weekly bitcoin chart I tested, one bar's legend read open and high both
Notation
Swings. A swing high is a bar whose level, on the rule you've chosen, stands above the
Tests. A test is the first bar after a swing is confirmed that trades through its level: a high above a swing high, a low below a swing low. Its outcome is read on real closes:
- Held: the test bar closed back inside the level.
- Failed: it closed beyond the level, but fewer than
closes in a row stayed beyond. - Accepted:
closes in a row beyond the level, counting the test bar.
Setup 01's spring allows one body close below
Control. For a timeframe and a side, the answer to the question is one of three:
- Holds: the side's most recent tested swing held, or the other side's most recent tested swing was accepted.
- Changing: one of the side's own swings has been accepted against it, at or near an extreme.
- Contested: tests alternate between the two sides' swings, holding and failing in turn, with neither side's run of Heikin Ashi colour lasting.
A reading is written timeframe, side, then state: "weekly ↓ holds", "monthly contested".
Procedure
- Start on the higher timeframe. Read structure there first, as Tool 01 reads ranges: higher-timeframe structure is read on lower charts, never the reverse. A daily swing that disagrees with the weekly is a pullback inside the weekly until the weekly says otherwise.
- Read the run. On the Heikin Ashi tab (1D and above), note the current colour, how long it has run, and whether its bodies are growing or shrinking, with wicks on one side or both.
- Mark the swings on the Structure tab, with the rule and lengths you've chosen, and write them down: the rule,
/ , and . - Find the side in control from the sequence of confirmed swings: higher highs and higher lows, or lower highs and lower lows. Ignore swings that aren't yet confirmed.
- Find the last test of each side's most recent swing and its outcome on real closes.
- Check where you are. At an extreme (a Tool 01 anchor, a range edge, a new high or low), the question carries weight. Mid-expansion, a test that fails against the trend is a retracement until the structure on the timeframe above changes.
- Write the reading with its settings before deciding what it means.
Reading it
| Scale | Read on | Control holds | Control is slipping |
|---|---|---|---|
| The bar | real candles | bodies close in the side's direction | wicks probe beyond and closes come back |
| The run | Heikin Ashi, 1D+ | bodies grow, no wick on the side the run came from | bodies shrink, wicks on both sides, then the colour turns |
| The swings | real candles | tests of the side's swings hold | a test is accepted against the side |
Agreement across all three is the strongest reading this Tool gives. The usual disagreement is the run and the swings: Heikin Ashi turns before structure does, because it's an average, and structure confirms later, because a swing needs bars after it. Treat a Heikin Ashi turn with no swing behind it yet as a question asked, and an accepted test as the answer.
Choosing
| Crypto 1h, body | Crypto 4h, body | Crypto 1h, wick | Crypto 4h, wick | SPX 1W, body | SPX 1W, wick | |
|---|---|---|---|---|---|---|
| baseline | ||||||
Two things follow, and the second matters more. Swings drawn on bodies are defended more often than chance, by
Choosing
| Crypto 4h accepted | retested | reversed | distance | SPX 1D accepted | retested | reversed | distance | |
|---|---|---|---|---|---|---|---|---|
Between a quarter and three in ten breaks close back inside on the very next bar, which is why one close beyond a swing tells you little and why Setup 01 doesn't count a one-bar close below
One pattern I'll mention without leaning on it. Most of these series defended their swing lows more often than their swing highs: the S&P 500's weekly body lows held
Contested control, and the long view. The longest history I can read this way is the S&P 500's, and it's where I first saw the pattern I described for bitcoin. I drew it as four spans: an Entity A before 1949, a more rounded Entity B from 1949 to 1982, a span from 1982 to 2008 where B's rounded tops kept appearing and kept not lasting, and an Entity C after 2009. My original drawing was on a private chart and is gone, so the figure is a reconstruction drawn for this entry, and the bands mark where I'm unsure: the handover read at an extreme, against the confirmation the chart could show.
The bands run from the April 1942 low to the June 1949 low, from the December 1972 closing high (not regained until July 1980) to the August 1982 low, and from the October 2007 high to the March 2009 low. I'm on the fence about 1972 against 1982 as the middle boundary, and the band is how the figure says so. Yearly Heikin Ashi, built from the same data, has three long runs of one colour: 1943 to 1969,
The texture changed with the entities. On monthly closes, the falls of
| Span | Fall | Depth | Months falling | Months to recover |
|---|---|---|---|---|
| A | 1929–32 | |||
| B | 1962 | |||
| B | 1968–70 | |||
| B | 1973–74 | |||
| B | 1980–82 | |||
| B and C | 1987 | |||
| B and C | 2000–02 | |||
| B and C | 2007–09 | |||
| C | 2020 | |||
| C | 2022 |
B's larger falls took the best part of two years and its recoveries were slow, the rounded texture. C's are short and sharp. The contested span has both: rounded tops in 2000 and 2007 that fell for more than a year, and 1987's three-month V.
Worked Example
Tool 01's range, read as structure. COINBASE:BTCUSD weekly, body swings at
- Climax: COINBASE:BTCUSD · 1W · 2021-11-08 00:00 · close
- Reaction: COINBASE:BTCUSD · 1W · 2022-11-14 00:00 · close
The swings land a week off the anchors, by cents. The body swing at the top is the open of the week of 15 November 2021,
2022: sellers in control. Confirmed swings through the year made lower highs,
The bottom. The 21 November 2022 swing low was confirmed ten weeks later, on 30 January 2023, and nothing has tested it since. That's the earliest this Tool can say the low is a swing. Tool 01 settles the range's edges by its own rule only once price returns through
2023: control changing. The first higher low came on 12 June 2023 at
March 2024: the rules disagree. The 2021 top was first tested in the week of 4 March 2024, which closed at
Failure Modes
Heikin Ashi prices read as traded prices. Heikin Ashi opens and closes are averages, and on TradingView the legend shows them while the axis shows both. A level, a stop or an alert set from a Heikin Ashi value is set at a price that may never trade. Tool 01's levels, its crossings, Setup 01's conditions and this Tool's tests are all read on real candles.
Heikin Ashi on short timeframes. Its lag is a few bars at every timeframe. On the weekly that's a few weeks against a horizon of months; on the hour it's a few hours against a horizon of hours, which is why the run is read on 1D and above.
Swings read before they exist. A swing at
Wicks on thin books. On a thin market, or a thin venue, a wick can print where almost nothing traded: in the 21:00 hour of 10 October 2025, Binance's ETHUSDT spot printed a high of
The lower timeframe overruling the higher. A daily lower low inside a weekly uptrend is a daily pullback. Read structure from the top down, as Tool 01 reads ranges, and let the lower timeframe answer only the questions the higher one leaves open.
A pullback read as a handover. Mid-expansion, the side in control retraces, and its retracements can break short-timeframe swings and turn short-timeframe Heikin Ashi. On a hundred years of the S&P 500, yearly Heikin Ashi never turned inside an expansion. Before reading a handover, check that you're at an extreme.
Texture read as identity. Rounded tops and V-shaped corrections are footprints. Naming who made them, as I named Alameda in a thread, is a reading, and the Tool can't confirm it. It can only say the texture changed.
Daily data that isn't daily. Yahoo's S&P 500 opens before 2010 are mostly the previous day's close (
A small edge read as a large one. First tests of body swings held
Reference Card
- Asks: is the vested interest still in control?
- Vested interest: the side whose levels hold when tested; read from the footprint, never named.
- Tabs: Structure (candles, Tool 01's template, Volume, swing markers) and Run (Heikin Ashi, 1D and above), same symbol.
- Swings: body rule (the post's Pine script) for ranges and levels; wick rule (Pivots HL) for momentum. Write the rule and
/ ; known bars late. : body swings beat the baseline from , most clearly around – ; / is TradingView's default. - Tests: the first bar through a confirmed swing; held, failed or accepted (
closes in a row beyond), on real closes. : or more; a quarter to three in ten breaks close back inside on the very next bar; each extra bar is reversed less often and acts later. - Run: Heikin Ashi bodies growing with no wick on the run's side, momentum carrying; shrinking with wicks on both sides, fading; the colour turns late.
- Where: control changes at tops and bottoms; mid-expansion, a failed test is a retracement.
- Write: timeframe, side and state, with the rule and settings: "weekly ↑ holds (body,
/ , )". - Distrust: Heikin Ashi prices, swings before confirmation, wicks on thin books, lower timeframes against higher, texture as identity, a single swing as proof.
Applied Market Mechanics is a record of how I read markets, published purely as education. Nothing in it is financial advice or a recommendation to buy or sell anything, and I'm not a financial adviser. Every example has already resolved. I don't disclose positions, so nothing in an entry should be read as a statement of what I hold. Markets take money from people who follow a method exactly as often as from people who don't; size accordingly.