BitSwing
- Experts
- Version: 1.23
- Activations: 10
BitSwing is a fully automated Expert Advisor for Bitcoin (BTCUSD), developed by INFOTECH.
BitSwing trades breakouts of swing highs and swing lows. A swing high is a bar whose high was not beaten by a number of bars before it and after it. When such a level is confirmed, the robot places a stop order just beyond it and waits for the market to break through. A newer swing replaces the old order, so the robot always works with the most recent structure of the market.
Fifteen independent strategies
BitSwing runs fifteen small strategies ("slots") at the same time. Each slot trades one direction on one timeframe (M15, M30, H1 or H4) with its own swing size, stop loss, target and trade management. Nine slots buy breakouts of swing highs, six sell breakouts of swing lows. Because the slots look at different timeframes and directions, their results are only loosely related to each other, which smooths the equity curve compared with any single strategy.
Every distance in percent of price
Entry offsets, stop losses, targets, profit locks and trailing distances are all set in percent of the Bitcoin price, not in dollars. The same settings therefore behave the same way when BTC trades at 10,000 or at 120,000. BitSwing was tested on every Bitcoin market from January 2020 to October 2026.
Trade management
- Every order is sent with a stop loss and, for most slots, a take profit.
- Once a trade is a little in profit, the stop is moved beyond the entry price so the trade can no longer turn into a full loss. Several slots then trail the stop behind the price.
- Some slots close a trade after a maximum holding time.
- Several slots only trade when the spread is tight; when the broker's spread widens they simply wait.
- No grid, no martingale, no averaging into losing trades.
Position size
Three risk levels: Conservative (0.25 percent of the balance per trade), Balanced (0.50 percent, default) and Growth (1.00 percent). You can also enter your own percentage or trade a fixed lot. The lot is calculated from the stop distance with your broker's own contract specification and rounded down. If the smallest lot your broker allows would risk more than three times the chosen level, the order is skipped and the journal explains why.
Protection
Optional equity drawdown stop and daily loss limit. When a limit is reached, the robot places no new orders and removes its pending orders; open trades keep their stop loss. The robot also checks your free margin before every order and respects the symbol's trading sessions.
Dashboard
Balance, equity, open and closed result of the robot, risk per trade, current spread against the limit, positions and pending orders, server time, and a live grid that shows what each of the fifteen slots is doing (watching, order placed, in a trade). Pause and Close All buttons.
Recommended settings
- Balanced (default): no change needed.
- Conservative: set "Risk level" to Conservative.
- Growth: set "Risk level" to Growth.
- Small account (1000 to 3000 USD): set "Position sizing method" to Fixed lot and "Fixed lot" to 0.01.
- Extra protection: set "Stop new orders at this equity drawdown" to 12 and "Stop new orders for the day after this loss" to 3.
- Large account: the "Maximum lot per trade" input caps every order (5 lots by default); raise it if your balance is above about 300000 USD.
Backtest (MT5 Strategy Tester, every tick based on real ticks, BTCUSD, Balanced, 10000 USD)
Each calendar year tested separately from 10000 USD:
2020: +4499.11, profit factor 2.27, maximum equity drawdown 7.37 percent
2021: +3439.96, profit factor 2.04, drawdown 5.80 percent
2022: +6910.68, profit factor 2.21, drawdown 4.66 percent
2023: +6225.06, profit factor 1.90, drawdown 5.09 percent
2024: +2829.79, profit factor 1.41, drawdown 6.38 percent
2025: +3810.60, profit factor 1.36, drawdown 8.40 percent
2026 (to 8 October): +8384.77, profit factor 2.13, drawdown 5.46 percent
One continuous test from 1 January 2020 to 8 October 2026, starting with 10000 USD, risk recalculated from the growing balance (Balanced, maximum lot 5): net profit 187451.62, profit factor 1.73, maximum equity drawdown 9.37 percent, recovery factor 22.72, 8327 trades. This figure includes the effect of compounding over almost seven years and is not a yearly expectation.
There are losing months: 16 of the 82 tested months closed with a loss, the largest monthly loss was 3.8 percent. Results depend on the broker's spread and execution; a test with a simulated execution delay gives lower figures. Past results do not guarantee future results.
Requirements
- Symbol: BTCUSD (any chart timeframe; the robot reads M15 to H4 itself). The robot runs 24/7 like the Bitcoin market; a VPS is recommended.
- Spread: the full set of slots needs a BTCUSD spread of about 0.025 to 0.04 percent of price or less (about 25 to 45 USD at a price of 110000). With a wider spread some slots stay idle and the robot trades less.
- Hedging account required: each of the fifteen slots holds its own positions with its own stop loss, which a netting account cannot do. Check the broker's swap on Bitcoin: trades can stay open for up to three days.
- Suggested deposit: 3000 USD or more at Balanced, 5000 at Conservative, 2000 at Growth, or 1000 to 3000 with a fixed 0.01 lot.
- Backtesting: many brokers keep real Bitcoin tick history only for recent months; with generated ticks the tester gives different results.
Inputs
- Magic number: slot k uses magic + k (15 consecutive numbers).
- Order comment.
- Maximum spread to place an order, percent of price (0.08 by default; several slots use a stricter built-in limit).
- Maximum slippage (points).
- Show the dashboard.
- Position sizing method: risk percent or fixed lot.
- Risk level: Conservative, Balanced, Growth or Custom.
- Custom risk per trade: used when Risk level is Custom.
- Fixed lot; Maximum lot per trade.
- Allow buy trades; Allow sell trades.
- Enabled slots (advanced): fifteen 1/0 characters, empty = all.
- Stop new orders at this equity drawdown; Resume the next day; Stop new orders for the day after this loss.
