Bitcoin Whale — Input Parameters Guide

6 July 2026, 23:40
Sugianto
0
26

Bitcoin Whale — Input Parameters Guide (v1.21)

A detailed reference for every input of the Bitcoin Whale EA. Parameter names below match the labels shown in the EA's Inputs tab. Bitcoin Whale is a multi-range breakout system: several independent breakout strategies can run at once, each with its own pending orders and magic number, wrapped in a protection guard and an economic-calendar news filter. All distances are in points (the smallest price step of the symbol).

=== Entry Settings ===

Breakout buffer beyond H/L (points) (default: 50) — Distance placed beyond a range high/low for the breakout entry price. Larger values demand a more convincing break (fewer false triggers, worse entry price); smaller values sit right on the edge of the range.

Allow long breakouts (all strategies) (default: true) — Master switch for long (Buy Stop) breakouts. Applies to every enabled strategy.

Allow short breakouts (all strategies) (default: true) — Master switch for short (Sell Stop) breakouts. Applies to every enabled strategy.

Place orders from (server hour) (default: 1) — Server hour from which new pending orders may be placed.

Delete pending orders after (server hour) (default: 22) — Server hour after which no new orders are placed and unfilled pendings are deleted. Keep this later than your latest session end, or those sessions can never place.

Hard cap spread to place orders (points) (default: 3500) — While the live spread exceeds this, no new orders are placed. Keeps orders out of the blown-out spreads seen around news and rollover.

Max age of last quote to treat market as live (sec) (default: 30) — Maximum age, in seconds, of the last quote for the market to be treated as live. Guards against a frozen or stale feed at the open; measured on the local clock, so a broker-clock offset can't flag a live feed as stale.


=== Entry Strategies (toggle each) ===

Each toggle is an independent breakout source. Any combination can run together; each keeps its own pending orders and its own magic number (base magic + offset), so trades and management never collide. A strategy arms once per its own period, valid until end of day.

Daily: previous-day high/low (default: true) — Breakout of the previous day's high/low (magic + 0).

12-hour block high/low (default: false) — Breakout of the last completed 12-hour block's high/low (magic + 1).

8-hour block high/low (default: false) — Breakout of the last completed 8-hour block's high/low (magic + 2).

6-hour block high/low (default: false) — Breakout of the last completed 6-hour block's high/low (magic + 3).

4-hour block high/low (default: false) — Breakout of the last completed 4-hour block's high/low (magic + 4).

2-hour block high/low (default: false) — Breakout of the last completed 2-hour block's high/low (magic + 5).

US session high/low (default: false) — Breakout of the US session high/low (magic + 6). Uses the most recently completed session, so it arms early in the window regardless of the session clock.

Asia session high/low (default: false) — Breakout of the Asia session high/low (magic + 7).

Europe session high/low (default: false) — Breakout of the Europe session high/low (magic + 8).

Asia session start (server hour) / Asia session end (server hour, <24) (default: 3 / 11) — Asia session window, in server hours. End must be below 24 and inside your Start/End trading window.

Europe session start (server hour) / Europe session end (server hour, <24) (default: 10 / 18) — Europe session window, in server hours.

US session start (server hour) / US session end (server hour, <24) (default: 15 / 23) — US session window, in server hours. Keep "Delete pending orders after" later than the US end, or US pendings are cut off.


=== Risk Management ===

Risk per trade (% of balance) (default: 1.0) — Percent of account balance risked per trade, per strategy. Total exposure scales with how many strategies are enabled — lower this when running many.

Stop loss (points) (default: 3500) — Base stop-loss distance. This is the requested distance; the EA may widen it to satisfy the broker's minimum (see Built-in Safeguards) and re-sizes the lot accordingly.

Take profit = SL distance x this (default: 5.5) — Take-profit distance as a multiple of the effective SL distance.

Hard cap on lot size (default: 5.0) — Upper limit on the calculated lot.

Min SL distance = live spread x this (keeps SL outside spread) (default: 2.0) — The SL is floored at live spread × this, so it is never placed inside the spread. Prevents "invalid stops" rejections in wide-spread moments.

Min SL distance as % of price (0=off; for crypto brokers w/ hidden stop min) (default: 0.35) — The SL is also floored at this percent of price. For crypto brokers that report stop level 0 yet enforce a hidden minimum (e.g. Exness on BTCUSD), 0.35% clears it so the first order is accepted with no rejected attempts.


=== Trade Management ===

Move SL to breakeven (default: true) — Move the stop-loss to break-even once far enough in profit.

Breakeven trigger (points in profit) (default: 1500) — Profit required before break-even arms. Scale to your effective SL — arming after a tiny profit relative to a large SL locks trades prematurely.

Lock-in beyond entry (points) (default: 1000) — Points locked in beyond entry when break-even triggers.

Use trailing stop (for runners) (default: true) — Enable the trailing stop to ride extended moves.

Start trailing after (points in profit) (default: 2500) — Profit required before trailing begins.

Trailing distance (points) (default: 1200) — Distance kept behind price. Never set closer than the broker's minimum stop/freeze distance.


=== Protection Guard ===

Guard: react to broker slippage on fills/closes (default: true) — Measure real slippage on every fill and stop-loss close, and trip a cooldown when excessive.

Max order deviation / slippage cap (points) (default: 50) — Hard slippage cap on market operations.

Trip cooldown if entry slippage > this (points) (default: 800) — Trip the cooldown if entry-fill slippage (pending price vs actual fill) exceeds this.

Trip cooldown if SL-close slippage > this (points) (default: 800) — Trip the cooldown if stop-loss-close slippage (SL price vs actual close) exceeds this.

Guard: pause on a broker spread spike (default: true) — Pause trading on a spread spike.

Spread guard mode (default: Spike vs learned typical spread) — "Fixed threshold (points)" trips at a fixed floor; "Spike vs learned typical spread" trips at typical spread × a multiplier (whichever is higher).

Spread trip floor (points) (default: 5000) — Absolute spread trip floor.

Relative mode: trip at typical spread x this (default: 3.0) — Trip when spread exceeds typical spread × this; also gates the spike-resistant typical-spread learning.

Typical spread (0 = auto-learn live) (default: 0) — Reference typical spread. 0 auto-learns the live spread.

Guard: pause if broker widens the stop level (default: true) — Pause if the broker widens its minimum stop level beyond tolerance.

Max tolerated stop level (points) (default: 6000) — Threshold before the stop-level guard pauses.

Cooldown after a guard trips (minutes) (default: 15) — Cooldown length after any trip. Strictly time-based; always clears afterward — never permanent.

Delete pending orders when a guard trips (default: true) — Remove unfilled pendings on a trip.

Log guard events to the Experts journal (default: true) — Verbose guard/order logging.


=== News Filter ===

Enable news filter (MT5 economic calendar) (default: true) — Pause new orders around scheduled events, sourced from the MT5 economic calendar (no WebRequest needed). Fails safe if the calendar is unavailable.

Stop trading this many minutes BEFORE news (default: 30) — Halt window before an event.

Stop trading this many minutes AFTER news (default: 30) — Halt window after an event.

Filter high-impact events (default: true) — Include high-impact events.

Filter medium-impact events (default: true) — Include medium-impact events.

Filter low-impact events (default: false) — Include low-impact events.

Currencies to watch (comma list; empty = symbol currencies) (default: USD) — Comma-separated currencies. Empty = auto-use the chart symbol's base + profit currencies.

Close open positions when a news window starts (default: false) — Flatten positions when a news window begins.

Delete pending orders during the news window (default: true) — Remove pendings during the window.

Popup alert on news halt (default: false) — Show a popup when trading is halted for news.

Draw news lines on the chart (default: true) — Draw vertical lines at upcoming events, coloured by impact, with tooltips.

High-impact line colour / Medium-impact line colour / Low-impact line colour (default: Red / Orange / Gold) — Line colours by impact.


=== Dashboard ===

Show on-chart info panel (default: true) — Show or hide the panel (market state, spread, per-strategy pending/position counts, guard status, broker stop/freeze levels, news status).

Corner: 0=TL 1=TR 2=BL 3=BR (default: 0) — Anchor corner of the panel.

Panel X offset (px) (default: 12) — Horizontal offset from the corner.

Panel Y offset (px) (default: 24) — Vertical offset from the corner.

Panel font size (default: 9) — Panel font size (cosmetic).

Panel text color (default: Gainsboro) — Panel text colour.

Panel background color (default: RGB 30,30,30) — Panel background colour.


=== Misc ===

Base magic number (each strategy uses +offset) (default: 23060531) — Base magic. Each strategy uses base + offset (0–8), so keep a gap of at least 9 from any other EA on the account.

Comment (default: BITCOIN WHALE) — Order comment prefix; each strategy appends its short label, e.g. "BITCOIN WHALE US".


Built-in Safeguards (automatic, not inputs)

These behaviours are always active and shape how the inputs play out:

  • Broker minimum-stop handling — if a stop order is rejected as "invalid stops" (some brokers report stop level 0 yet enforce a hidden minimum), the EA widens the SL and retries until accepted, then caches the working distance. The lot is re-sized from the SL actually used, preserving the risk budget.
  • SL never inside the spread — the SL distance is floored at the larger of (spread × the spread multiplier) and (the % of price), so the first order attempt is already valid.
  • One shot per period — each strategy places at most one Buy Stop and one Sell Stop per its own period (day / N-hour block / session), preventing re-entry spam.
  • Per-strategy isolation — every strategy has its own magic number; orders, positions, break-even, trailing and slippage tracking are independent.
  • Time-based cooldown — any guard trip pauses new orders for a fixed number of minutes and always clears; a frozen feed cannot stall it.
  • Market-live gate — orders are only committed when the symbol is tradeable, the session is open, and the quote feed is fresh.
  • Window cleanup — outside the trading window all unfilled pendings are deleted, while open positions keep being managed by break-even / trailing.
  • Broker-aware trailing — the trailing stop is never set closer to price than the broker's minimum stop/freeze distance.

Educational tool. Test on a demo account and in the Strategy Tester before any live use; defaults are starting points, not recommendations. Point-based values are scaled to the symbol (on BTCUSD one point is a tiny fraction of price), so re-scale SL/TP/buffer/guard thresholds when moving to another instrument.