How the bot trades

The Support & Resistance Strategy

A plain-language walkthrough of how this bot buys and sells ZEC-USD, HYPE-USD, and DASH-USD whenever this strategy is the one switched on — the reasoning behind every trade, with no code required.

strategy: support_resistance (not the active strategy right now — see note below)  ·  pairs: ZEC-USD, HYPE-USD, DASH-USD  ·  last updated 2026-09-07

The core idea

Buy near the floor, sell near the ceiling

Price rarely moves in a straight line. Left alone for a while, it tends to bounce between a floor — a price where buyers keep stepping back in — and a ceiling — a price where sellers keep taking profit. Traders call these support and resistance.

This strategy's whole job is to find that floor-and-ceiling pair in a coin's recent real price history, buy when price is sitting near the floor, and sell once it climbs back up near the ceiling. It never guesses at a future price target — every level it trades comes from candles that already happened.

One picture

What a full trade looks like

Below is one realistic round trip. Price touches the floor twice before the bot trusts it enough to buy. It then climbs to the ceiling — but instead of selling the instant it gets there, the bot waits to see whether this is a real breakout worth riding.

Resistance (ceiling) Support (floor) Touch 1 Touch 2 Buy reaches ceiling — watching for a breakout breakout confirmed — now trailing the peak peak Sell pulled back 0.8% from the peak
A round trip: two touches confirm the floor and trigger a buy, price rallies into the ceiling, breaks out, and is sold once it gives back 0.8% of its new peak — not the instant it first reached the ceiling.
Confirming a level

A price has to prove itself first

One bounce doesn't make a floor or a ceiling — it could just be noise. A level only counts once price has tested it at least twice, within a tight enough range of each other that they read as the same level, not two different ones.

Once a trade opens, that specific floor-and-ceiling pair is locked in for the whole trade. Prices keep moving and new levels keep forming in the background, but the bot won't quietly swap in a different, closer pair mid-trade — that used to cause a real problem, where a wobble in the data turned what should've been a profit into a loss.

Getting in

How a buy happens

Mainly, the bot buys when price is sitting in the bottom sliver of the floor-to-ceiling range — close enough to the floor that the trade has real room to reach the ceiling.

A few backup situations can also trigger a buy, for cases where price never comes back down close enough to the floor for the main rule to fire:

Every buy is also checked against this Whichever ceiling would go with the trade has to be far enough above the floor to be worth the round trip after fees. The bot doesn't just grab the nearest one that clears the bar — it prefers whichever qualifying ceiling has been tested the most times, on the theory that a level sellers have repeatedly respected is a more trustworthy target than one that merely happens to be closest.
Averaging down

Buying more as price keeps falling

When this is turned on, the bot doesn't have to stop at one buy. Every time price drops another notch below the last purchase, it buys again — a little more each time than the last — up to a set number of additions.

The idea: a single early buy can end up being a small fraction of the eventual position if the price keeps sliding. Buying more on the way down brings the average purchase price closer to wherever it actually settles, so the eventual bounce back to the ceiling is more worth having caught.

The trade-off This only pays off if the floor eventually holds. If it doesn't — if the coin is genuinely breaking down rather than dipping — adding size on the way down makes the loss bigger, not smaller. It's a bet that this dip is temporary.
Getting out

Selling isn't always instant

The simplest version of this strategy sells the moment price reaches the ceiling. But a ceiling that finally breaks is exactly the kind of move worth riding further — so for a pair with this feature on, reaching the ceiling doesn't trigger an immediate sale. It starts watching instead.

From there, one of two things happens:

Idle reaches ceiling Watching breaks 5% above ceiling Trailing pulls back 0.8% from its new peak Sold — rode the move stalls, pulls back 0.8% without breaking out Sold — no breakout came
Reaching the ceiling never sells immediately by itself — it starts a short "watch" period that ends one of two ways: a confirmed breakout that's then sold on its own pullback, or a stall that's sold once it gives back the same amount without ever breaking out.
  • It breaks out further. That's treated as a real move worth riding — the bot starts tracking the new peak and only sells once price pulls back a set amount from wherever that peak ends up.
  • It stalls instead. If price pulls back by that same amount without ever clearing the breakout bar, the bot treats the ceiling test as failed and sells there — no better than selling immediately would have been.

For a pair without this feature on, or once a resistance level has been tested so many times it's clearly well-known, the simple version applies instead: sell as soon as price reaches the ceiling.

As configured today, the watch period doesn't wait for price to reach the ceiling at all — it starts the moment price is making a fresh high on the chart, however far below the ceiling that still is. And a second, independent trigger sits alongside all of this: the instant a peak is confirmed as having genuinely reversed (not just wobbled), the bot sells right there if the position is already profitable enough — without waiting to see whether that reversal turns into a real breakdown or just a pause.

Guardrails

It won't sell for a loss — except when it has to

Every sell described above is checked against one more rule first: is this actually profitable enough, after fees, to be worth taking? If not, the bot holds and waits for a better exit instead of locking in a loss on a technicality.

Two safety nets sit completely outside this strategy's own logic and can override it at any time:

Configured, but parked

What's set up for your three pairs, next time this strategy runs

Not the active strategy right now The bot is currently running ADX Trend instead (see its own guide) — this Support/Resistance configuration is sitting ready in .env but isn't the one actually placing trades today. Everything below describes what would happen the moment this strategy is switched back on.

ZEC-USD, HYPE-USD, and DASH-USD are all configured with the exact same Support/Resistance settings — there's no per-pair customization on file, so what follows would apply equally to all three. (The bot supports giving an individual pair its own numbers, and this doc will note it prominently if that's ever turned on for one of them.) These reflect the configuration on file as of this writing; a strategy switch and any setting change both require restarting the bot to take effect.

All three pairs up to 5 lots each

  • Buys near a confirmed floor, near a brand-new one (up to 5% above it, once it's been tested 3 times), on a dip below its last sale sized to recent volatility, or the moment a lower low is confirmed during a genuine downtrend.
  • Adds to the position every 2% further drop, up to 5 total purchases — or on that same confirmed-downtrend-low signal, independent of the price ladder.
  • At the ceiling: starts watching the moment price makes a fresh high (not only once it nears the ceiling), arms a trailing exit once price clears the ceiling by 5%, and sells on a 0.8% pullback from whichever peak is higher — this cycle's own running high or the chart's own confirmed swing high.
  • Separately, sells immediately (regardless of the ceiling) the instant a peak is confirmed as having reversed, as long as the position is already profitable.
  • Requires roughly 0.6% profit (the fee break-even) before any sell path will fire.
  • Hard stop-loss at −10%, paused while the market looks oversold. The separate account-wide profit cap exists but is currently switched off.
Exact numbers
SettingValue
Max concurrent lots5
Add-on trigger (price drop)2% ladder
New-floor buy windowwithin 5% (after 3 touches)
Re-entry gap after a sale1.25× ATR(14), no fixed floor
Confirmed-downtrend buyon, trend strength ≥ 25
Idle → watching triggerfresh chart high (not ceiling proximity)
Breakout confirmation (arm)5% above ceiling
Sell pullback trigger0.8% from peak (chart-confirmed high)
Confirmed-peak sellon (independent of ceiling)
Minimum profit to sell≈0.6% (fee break-even, no extra margin)
Stop-loss10%, paused while oversold
Account-wide profit capoff (0%)
Reference

A short glossary

Support
A price floor where buyers have repeatedly stepped in before.
Resistance
A price ceiling where sellers have repeatedly taken profit before.
Touch
One time price has come back to test a floor or ceiling.
Trade cycle
The stretch from one buy through to the position being fully sold.
Trailing exit
Waiting past the ceiling to see if a breakout is worth riding, instead of selling immediately.
Lot
One individual purchase — a position can be made of several lots bought at different prices.
Confirmed peak / low
A high or low that price has since reversed away from by enough to call it genuine, rather than a still-forming extreme that could keep going.