A direction-agnostic grid strategy built to harvest volatility from price oscillations — strongest in range-bound markets, with trend exposure when price moves one way for extended periods.
The bot simultaneously accumulates both quote and base currency based on price movements. Each direction operates independently with its own order flow and take-profit targets.
When a take-profit is reached on one side, realized gains can recycle through the re-invest setting into the opposite leg’s deployable budget (quote funds long buys; base funds short sells). That cross-side flow helps keep both grids funded — it does not eliminate trend drawdown on the leg fighting the move.
Key Characteristics
- Dual Take-Profit Targets — Both long and short positions maintain independent exit points at all times.
- Reinvesting — Realized profits can cross-fund the opposite leg’s working capital per your re-invest % (see Re-invest guide).
- Volatility Harvesting — Captures value when price oscillates; extended one-way trends add exposure on the side fighting the move.
- Set and Forget — Once configured, the bot manages positions continuously without intervention.
What You Need to Start
You only need the quote currency in your exchange wallet. For most pairs, this is USDC or USDT—the stablecoin side of the trading pair.
Example: If you're trading GALA/USDC, you need USDC in your wallet. If trading BTC/USDT, you need USDT.
How Initial Positions Are Established
Bi-directional mode splits contract value 50/50 between legs for budgeting. You need at least half that value in free quote (e.g. USDC on USDC/BTC) before startup — the asset the long leg buys with first.
Startup fires three LIMIT FOK entry legs in order (instant taker fills within a ±10% book band — not resting limits, and not raw MARKET orders):
- Short inventory BUY — Spends up to half the contract value in quote to buy base for the short leg (inventory for defensive sells and the open cycle). This does not open the short cycle by itself.
- Long INIT BUY — Spends initPerSide in quote (= the smaller of your base_order setting and half the contract value).
- Short INIT SELL — Sells initPerSide notional of base from that inventory to open the short cycle.
Net quote deployed at startup is roughly half the contract value (the big inventory buy minus the small init sell proceeds, plus the small long buy). The other half of contract value stays reserved for defensive grid orders on both legs.
After entries fill, the bot places limit GTC defensive grids and take-profit orders. If the wallet already holds enough base, startup may reuse inventory (warm path) instead of firing all three legs.
This strategy is designed for extended timeframes. Short-term deployments may not capture sufficient market cycles to demonstrate its full potential.
Configuration & Backtesting
If you are currently on the parameter settings page, keep in mind that our backtests collect a massive amount of data. This data is presented in chunks—optimized, grouped, and detailed.
Let the backtest finish its job or you will lose the backtest token. Backtests are not free.
Generally speaking: the higher your earnings, the greater your risk (if we take the optimization levels out of the equation).
Budget Considerations
- Larger allocations allow more grid levels and better averaging during extended moves.
- Backtest with realistic amounts to understand how the strategy scales with your intended capital.
- Optimal parameters vary by trading pair—there is no universal configuration.
Grid Mechanics
Grid Spacing determines the price distance between each safety order. Tighter spacing means more frequent fills during small moves; wider spacing requires larger price swings but offers better averaging during extended trends.
Safety Orders (also called defensive orders or deep grids) are limit orders placed below your long entry and above your short entry. When price moves against you, these orders fill to improve your average entry price.
Take-Profit Tracking: The TP target is calculated relative to your current average entry price—not the original entry. As safety orders fill, your average shifts, and the TP adjusts accordingly.
Cycle Behavior
When a take-profit limit order fills:
- The position for that side is closed
- Realized profit is recorded
- A base_order-sized re-entry opens the next cycle (aggressive limit, then FOK or market fallback if needed)
- The anchor price for that leg updates to the re-entry fill price
- A fresh defensive grid and a new TP limit are placed
The anchor is fixed between TP events — it does not move while ordinary grid orders are filling mid-cycle.
Handling Strong Trends
During prolonged one-directional moves, the losing side accumulates safety orders while waiting for a retracement.
Optional Anchor Pulling (with manual or Dynamic %) routes part of a donor TP’s profit toward the opposite leg’s pending TP. Optional dynamic grid spacing can widen the next cycle’s ladder after a TP re-entry when price overshoots the normal exit band.
Dynamic Grid Management
Optional dynamic grid spacing adjusts ladder spacing once per cycle—at each re-entry after take profit. After the anchor updates, overshoot beyond a normal TP exit can widen the next cycle’s grid steps.
Anchor Pulling — Dynamic %
When Anchor Pulling is enabled, donor-TP profits route a percentage to the other leg's pending TP, pulling that exit closer. The optional Dynamic % toggle replaces the manual percentage with a live calculation from current anchors.