KINGFISHER — user manual
Version 1.16 · XAUUSD · MetaTrader 5
KINGFISHER sits still above the water and dives once, when the fish breaks the surface. On a gold chart it waits at the nearest price level that has not been broken yet, rests a small order just inside it, and is filled at the moment the level gives way. Every trade has a fixed stop loss and take profit from the second it opens. When the market is too quiet for that stop loss to make sense, KINGFISHER does not trade at all.
This manual is written for someone who has never run an expert advisor before. If you only read one chapter, read chapter 3.
1. What it does, in plain words
Gold moves in bursts. Before a burst, price usually sits under a recent high or above a recent low that it has not managed to break. A lot of traders have stop orders waiting just beyond those levels. When price finally breaks through, those stops fire and the move accelerates for a moment.
KINGFISHER places its own order a hair inside that level, so it is already in the trade when the crowd's orders go off. Five "hunters" do this at the same time:
| Hunter | Watches | Patience |
|---|---|---|
| Dive 1 | the 4-hour chart's nearest unbroken high and low | 30 hours |
| Dive 2 | the same 4-hour level, slightly different distance | 20 hours |
| Dive 3 | the same 4-hour level, tight on the buy side | 60 hours |
| Dive 4 | the same 4-hour level, wide on both sides | 55 hours |
| Skim | the 1-hour chart's nearest unbroken high and low | 15 hours |
The four Dives rest on the same level and usually fill on the same break — that is deliberate, and it is why KINGFISHER sizes risk per level, not per order (chapter 3).
Backtest, MetaTrader 5 Strategy Tester, real ticks, Pepperstone / Vantage / Fusion / BlackBull, 2022 to 2026.
What each hunter contributes. In four years of live-tick testing on four brokers, Skim placed about 60 % of all trades and won 17–20 % of them; the four Dives won 32–40 % of theirs (profit factor 2.5–4.3) and earned three-quarters of the money. Skim is the busy one; the Dives are the profitable ones. Two per-hunter inputs let you tune this without touching anything else: Inp<Hunter>RiskWeight scales that hunter's position size (1.0 = as tested; 0.25 = a quarter), and Inp<Hunter>GateStopAtr gives that hunter its own quiet-market threshold (0 = use the global 0.20), and Inp<Hunter>GateActivity makes that hunter stand aside while the market is calm at the minute scale (average one-minute range of the last 15 minutes divided by the last four hours; 1.0 = only trade when the last quarter hour is at least as active as the afternoon behind it; 0 = off). In four years of testing, Skim's fills that arrived on a calm quarter hour won 12–14 % — below breakeven — and its fills on an active one won 20–25 %. The tested configuration keeps all five at weight 1.0 and the activity gates off.
Every position opens with a stop loss of 2.00 and a take profit of 15.00 (14.00 for Dive 2) US dollars per 0.01 lot - a 2.00 and a 15.00 move in the gold price - whatever currency your account is in (since 1.13, chapter 7.4). Nothing is averaged, nothing is added to a loser, no grid, no martingale.
Two things make it different from a plain breakout robot:
- It knows when to stay out. The stop loss is a fixed amount of money. When gold is quiet and the hourly range is small, a 2.00 stop is inside the noise and gets hit before the move starts — that is where breakout robots bleed. KINGFISHER trades only while the stop is at most 20 % of the hourly range. In a quiet month it may place a handful of orders; in a quiet year, almost none.
- It reads how the fill happened. A fill that arrives on a fast push is allowed to ride to the full target. A fill that arrives slowly is handled by the Grip: once the trade is 1.00 ahead per 0.01 lot, KINGFISHER tracks the best profit and closes the trade if it gives back half of it.
2. Installation (five minutes)
- Open MetaTrader 5. File → Open Data Folder, then open
MQL5\Experts. CopyKINGFISHER.ex5there (or into any subfolder). - In MetaTrader, right-click the Navigator panel → Refresh. KINGFISHER appears under Expert Advisors.
- Open a XAUUSD chart. Any timeframe is fine — KINGFISHER reads the 4-hour, 1-hour and 15-minute bars itself. The M15 chart is what all the testing used.
- Drag KINGFISHER onto the chart. In the window that opens, tick Allow Algo Trading on the Common tab. On the Inputs tab only section 1. Start here needs you (chapter 2a); the defaults are the validated configuration. Click OK.
- Make sure the Algo Trading button in the toolbar is green. A smiling face in the chart's top-right corner means the EA is running.
The journal (Toolbox → Experts) shows one line on start, for example:
KINGFISHER v1.13 | account Personal | settings Recommended | XAUUSD | 5 of 5 hunters | risk Medium (1.00% per level) | exit Smart, Skim Grip | trade while stop <= 0.20 x hourly ATR | max lot 5.00
KINGFISHER sizing: on a balance of 10000.00 a Dive order is 0.12 lot (broker minimum 0.01)
If your account is a netting account (one position per symbol) the EA prints a note; see chapter 6.
Your broker's symbol may carry a suffix (XAUUSD+, XAUUSDp, GOLD.pro). That is fine — attach to whatever your broker calls spot gold against USD.
2a. The inputs at a glance (since 1.10)
The Inputs tab is ordered by how often you should touch it. Most users change only section 1.
| Section | What it holds | Touch it? |
|---|---|---|
| 1. Start here | Account type · Strategy settings · Risk level · Size as if the balance were · Max spread | yes - this is the whole setup |
| 2. Hunters on or off | the five hunters, the Rebound switch (off; chapter 7.3), buy/sell | rarely |
| 3. Exit [Custom] | how trades close | only with Strategy settings = Custom |
| 4. Prop-firm rules | your firm's limits (chapter 3b) | prop accounts, or as a daily-loss floor on any account |
| 5. When not to trade | weekend times (your broker's clock); the quiet-market gates [Custom] | weekend times only if your broker's clock differs |
| 6. Safety | maximum lot, margin cap, gold-only lock, magic number | a second chart needs its own magic number |
| 7. Custom sizing | fixed lot, lots per 1,000, risk per order | only with Risk level = Custom |
| 8.-13. Engine, Dive 1-4, Skim [Custom] | every value of every hunter | only with Strategy settings = Custom |
Strategy settings (InpProfile) decides whether the [Custom] sections count:
- Recommended (default) - the validated configuration. Every [Custom] input is ignored and the tested value is used, so a stray edit cannot change the machine. The four 4-hour Dives ride fast fills to the target; the Skim hunter locks its gains (the Grip, chapter 7). Measured best on the tight-fill brokers (Pepperstone, Vantage).
- Classic - the 1.05-1.09 behaviour: Skim rides like the Dives. Measured better on a wide-fill feed (Fusion).
- Custom - every [Custom] input counts. Custom with untouched inputs is exactly Recommended.
Size as if the balance were (InpVirtualBalance, 0 = off): the EA sizes on this figure instead of the balance, never
above the account's equity - for example 2,000 on a 10,000 account, or the balance plus a broker credit.
Max spread (InpMaxSpreadUsd): new orders wait while the spread is wider than this many dollars (5.00 = effectively
off for gold). Before 1.10 it was in points, which is ten times tighter on a broker quoting gold with three decimals.
Gold only: on a live chart that is not gold KINGFISHER loads, prints why, and places nothing (section 6 can allow other symbols; in the Strategy Tester it always runs, so the Market validator can test it).
The second Journal line says what your risk level buys at your balance, for example
a Dive order is 0.01 lot (broker minimum 0.01) - the minimum lot sets the risk here. On a small account every risk
level trades the same minimum lot until the balance grows (about 1,200 at Medium, 2,400 at Low).
The third Journal line (since 1.16) says what the smallest order costs in margin at your broker, for example
the smallest order (0.01 lot) needs 7.95 USD at this broker; free margin 100.00 covers 12 at once. If the free margin covers
none, the line says so: nothing can be placed until it does. Kingfisher has no minimum balance of its own - this is the broker's
margin (chapter 9).
3. The only setting that matters: risk level
InpRisk — one choice, four levels plus Custom.
Backtest, MetaTrader 5 Strategy Tester, real ticks, Pepperstone / Vantage / Fusion, 2024 to 2026 (Low, Medium, High rows). Hot is not separately tested; its drawdown figure is extrapolated from the same three feeds.
| Level | Risk per level (Skim at a quarter of it) | What the testing showed (three live-tick feeds, 2024–2026, 10,000 start) |
|---|---|---|
| Low | 0.5 % of balance | ×4–7 in 15–30 months at a 4–5 % worst drawdown |
| Medium (default) | 1.0 % | ×17–22 in 15–30 months; worst drawdown 8–10 % (Pepperstone ×20 / 9.3 %, Vantage ×22 / 7.9 %, Fusion ×17 / 10.2 %) |
| High | 1.5 % | ×27–53; worst drawdown 12–15 % (Pepperstone ×27 / 12.1 %, Fusion ×53 / 15.3 %) |
| Hot | 2.0 % | drawdown can exceed 20 % of balance — experienced users, risk capital only |
| Custom | your own | use the sizing inputs below the risk level |
Backtest, MetaTrader 5 Strategy Tester, real ticks, Pepperstone / Vantage / Fusion, 2024 to 2026.
Version 1.04 changed the default split: Skim (the busy 1-hour hunter, 60 % of trades) now carries a quarter of a level's budget and the four Dives (profit factor 2.5–4.3) the full one. At the same drawdown this compounds faster on every broker tested; the old 1.02 behaviour is InpS1RiskWeight = 1.0 with InpRisk = Low.
Which exits these figures used. The table was measured with the Classic exits (1.05-1.09). With the 1.10 default (Recommended: Skim on Grip) at Medium: Pepperstone x20.6 at a 5.3 % worst drawdown (same growth, drawdown down 43 %), Vantage x15.8 at 5.9 % (smoother, slower on a 10,000 account), Fusion x11.2 at 12.4 % (choose Classic there); BlackBull is being re-measured on 1.10. On a small account Recommended is both smoother and faster (chapter 7).
"Per level" means: when the four Dives fill on the same break, together they risk that percentage — not four times it. That is the setting that turns the 40 % drawdowns of per-order sizing into the 8–15 % above.
Backtest, MetaTrader 5 Strategy Tester, real ticks, Pepperstone / Vantage / Fusion / BlackBull, 2022 to 2026 (bootstrap resample of the same four-broker backtest history).
What you should expect at each account size (Medium):
- 10,000 and up: the numbers in the table.
- 1,000: one 0.01 lot already risks 2.00 per hunter; the EA never trades below the broker minimum, so the real risk per level is about 0.8 % — the drawdown will be proportionally larger (up to ~16 %).
- 500: about 1.6 % per level; a 2025-type stretch can produce a 20 % drawdown. Start on Low.
- 100: the minimum lot rules everything — each fill risks $2.10 (2.1 %), a four-Dive burst 8.4 %. Replayed on four brokers' real ticks a $100 account never hit a stop-out at 1:200 or higher, reached $1,000 in 98–100 % of resampled histories, and grew to $2,600–13,000 in 1.2–3.5 years — but it fell to $57–92 first, and in a fair-game year (2025-type) one history in three dips below $50. Leverage matters here: at 1:100 the broker refuses part of each burst for margin and the stop-out sits at ~$44; at 1:30 a $100 account cannot open a single 0.01 lot (about $300 is the floor). Above ~$400 the percentage sizing takes over and the drawdown falls back to the 10–15 % of the table.
- Below 100: KINGFISHER still trades whenever your broker's margin allows one 0.01 lot (from about 10 at 1:500), but a few early losses can leave the balance below the margin for the next order, and then it stops for good. Accounts started on every day of the window and followed for twelve months at 1:500: from 50, 13-23 % of start days got stuck; from 25, 47-71 %; from 10, 59-98 %; from 100, none (also none at 1:100). From the same start day, a 10 account on one broker kept trading and on another stopped after its first losses. Backtest, MetaTrader 5 Strategy Tester, real ticks, Kingfisher 1.15 at the minimum lot, BlackBull / Fusion, 2024 to 2026 (every start day, 12 months, with the broker's margin).
The honest sentence. These are backtests on real broker ticks, not results from live trading. KINGFISHER made its money in one kind of market — gold moving in large daily bursts, the way it has since late 2025. In quiet years (2023, 2024 on the four-year feed) it placed 18 trades in two years and finished flat. It should not lose much in a quiet year; it will not earn much either. Do not run it for income you need next month.
3a. Prop-firm accounts: one choice (since 1.08)
The first input, Account type (InpAccountMode), is all a prop-firm account needs:
| Account type | What it does |
|---|---|
| Personal (default) | the risk level of chapter 3 applies |
| Prop firm 2-step — for challenges with a 5 % daily and 10 % maximum loss (FTMO-class) | size fixed at 0.5 % of balance per level (the Low level); orders removed before every weekend |
| Prop firm 1-step — for challenges with a 3 % daily and 6 % maximum loss, and for any challenge on a standard-spread account | size fixed at 0.25 % per level; orders removed before every weekend |
Nothing else to set: the account type overrides the risk level, and the first line of the Journal names the one that is
running (KINGFISHER v1.08 | account Prop firm 2-step | ...).
Simulation on backtest history, MetaTrader 5 Strategy Tester, real ticks, BlackBull / Vantage / OANDA, 2023 to 2026 (day-block bootstrap over the tested trade record; see the table below).
Why the size is fixed. The shipped Medium level is built for a personal account. On a 5 %/10 % two-step challenge it passed only about 4 attempts in 5 and lost about 1 funded account in 7 within 90 days, because a single fast day can cost more than 5 % at that size. The prop sizes below are the measured answer.
What the measurements say — a simulation that replays the backtest's own days in random blocks (10,000 paths, the challenge's rules applied tick-close by tick-close); a statement about the tested history, not a prediction:
| broker type (feed, window) | account type | challenge | passes per attempt | median trading days to funded | funded account lost within 90 days |
|---|---|---|---|---|---|
| raw spread (BlackBull, 2023–2026) | Prop firm 2-step | 5 % / 10 %, 10 % then 5 % target | 98.5 % | 117 (42 in the active 2025–26 market) | 0.5 % |
| raw spread (Vantage, 2025–2026) | Prop firm 2-step | same | 100 % | 34 | 0 % |
| standard spread (~$0.25, OANDA-class, 2025–2026) | Prop firm 2-step | same | 73 % | 96 | 22 % |
| standard spread (same) | Prop firm 1-step | same | 96 % | 204 | 0.1 % |
| raw spread (BlackBull, 2023–2026) | Prop firm 1-step | 3 % / 6 %, 10 % target | 97.6 % | 132 | 0.1 % |
Read the table as three rules:
- Raw-spread account (gold spread about $0.10 or less): choose Prop firm 2-step for a 5 %/10 % challenge.
- Standard-spread account, or a tighter challenge: choose Prop firm 1-step. The wider spread consumes a larger share of the fixed 2.00 stop; the same entries are stopped out more often (chapter 8), so the smaller size is the one that survives the daily limit.
- It can take months. KINGFISHER stands aside in quiet markets (chapter 6). In a quiet stretch it may place few trades for weeks; a challenge without a time limit is the right kind.
What the EA does not do for you — check your firm's rules before you start:
- it does not read the firm's news calendar; some funded accounts forbid opening or closing trades a few minutes around high-impact releases;
- it keeps its own count of the firm's daily and maximum loss (chapter 3b: the prop account types fill in 5 %/10 % or 3 %/6 %, and you can type your firm's numbers); the size is what keeps a normal bad day far inside it;
- trades often last seconds to minutes; firms that set a minimum trade duration are not suitable;
- one chart, one instance (a second chart needs its own magic number, chapter 12).
Source of every figure: a day-block simulation replayed over the tested trade record (see the research note) (FTMO-class rules, day-block bootstrap), cross-checked against an independent prop-firm simulator within one percentage point.
3b. Prop-firm rules: your firm's own numbers (since 1.09)
The Account type (chapter 3a) chooses the size. The group right under it, Prop-firm rules, enforces your firm's limits. Choosing Prop firm 2-step or Prop firm 1-step already fills in the two loss limits for you (5 % daily and 10 % maximum, or 3 % and 6 %; both fixed, and the EA acts 0.5 % before each); type your firm's own numbers to override them. With Personal every rule is off until you type a number.
When a limit is about to be reached, the EA closes its own trades, deletes its own orders and stops opening new ones: until the firm's next day for the daily rules, for good for the maximum loss and the profit target. The Journal says which rule acted and at what equity:
KINGFISHER prop-firm rule: daily loss limit (equity 95512.40, day start 100020.00, firm limit 95020.00) - trades closed, orders deleted, paused until the firm's next day
and the start line lists what is on:
KINGFISHER prop-firm rules: account size 100000.00 | daily loss 5.00% of account size from the higher of day-start balance and equity - the EA acts at 4.50% of account size | maximum loss 10.00% (fixed) - the EA acts at 9.50% | ...
The inputs (group "4. Prop-firm rules (0 = rule off)")
| Input | What to enter | Default |
|---|---|---|
Account size (InpPropAccountSize) |
the challenge's account size, e.g. 100000 (0 = the balance when the EA first starts) | 0 |
Daily loss limit % (InpPropDailyLossPct) |
the firm's daily loss, e.g. 5 | 0 = off; a prop account type fills in 5 or 3 |
Daily loss limit is a % of (InpPropDailyPctOf) |
Account size (the same amount every day - most firms) or the day-start value | Account size |
Daily loss is counted from (InpPropDailyFrom) |
the value at the start of the firm's day: the higher of balance and equity (strictest, safe for every firm), balance or equity | the higher of the two |
Maximum loss limit % (InpPropMaxLossPct) |
the firm's maximum loss, e.g. 10 | 0 = off; a prop account type fills in 10 or 6 |
Maximum loss limit type (InpPropMaxRule) |
Fixed (account size minus the limit - most two-step challenges), Trailing: highest day-start balance, Trailing: highest equity, live | Fixed |
A trailing limit stops rising at the account size (InpPropTrailLock) |
most trailing firms stop moving the limit once it reaches the starting balance | yes |
Act this many % before each loss limit (InpPropSafetyPct) |
the safety margin: 0.5 means the EA acts at 4.5 % when the firm's limit is 5 % | 0.5 |
Profit target % (InpPropTargetPct) |
close everything and stop when equity reaches the target (0 = keep trading) | 0 = off |
Best-day cap % (InpPropDayGainPct) |
close everything and pause for the day once the day's gain reaches this (for firms with a consistency rule) | 0 = off |
Hour the firm's day starts (InpPropDayStartHour) |
the hour on your platform's clock (the Market Watch time) at which the firm restarts its daily loss | 0 |
Friday: close all at this hour (InpPropFridayCloseHour) |
for firms that do not allow holding over the weekend; trading resumes on Monday | 0 = off |
New challenge on the same login (InpPropResetState) |
set to true for ONE start when you begin a new challenge on the same login, then back to false | false |
Examples - what to type
From the LuxAlgo prop-firm directory on 23 September 2026 (the daily-loss wording is inferred by that directory; your firm's own rules page is always the authority, and firms change their rules):
| Challenge (100,000 account) | Daily loss % | Maximum loss % and type | Profit target % |
|---|---|---|---|
| FTMO Normal, 2-step | 5 | 10, Fixed | 10, then 5 |
| FTMO Normal, 1-step | 3 | 10, Fixed | 10 |
| FundingPips, 2-step | 5 | 10, Fixed | 8, then 5 |
| FundingPips, 1-step | 3 | 6, Fixed | 10 |
| The 5%ers High Stakes, 2-step | 5 | 10, Fixed | 8, then 5 |
| Blue Guardian Pro, 1-step | 3 | 6, Fixed | 10 |
All six count the daily loss as a share of the account size from the previous day's closing balance, open trades included. Leave counted from at the higher of balance and equity - it is never later than the firm's own meter.
Profit target: set it for the challenge phases only. When the target is reached the EA stops for good on that login; on the funded account set it back to 0.
The firm's day. Most firms restart the daily loss at midnight of the platform's own clock: leave 0. If your firm names another time, convert it to the Market Watch clock. Gold is closed for about an hour around the broker's midnight on most platforms, so for gold an hour's difference rarely matters; a market that trades through midnight (Bitcoin) needs the exact hour.
Restarts. The EA remembers the account size, the day's starting value, the highest balance and whether a rule
stopped it, across restarts of the platform (terminal global variables named PR<login>_<magic>_...). A restart in
the middle of the day does not give it a fresh daily allowance.
What these rules do not do
- They close this EA's trades only. The limits are measured on the whole account's equity, so trades from another EA or by hand count toward them; give every EA on the account the same numbers.
- The EA acts on the first price tick past its limit. A gap or a very fast market can carry the loss a little further before the closing trades fill - that is what the safety margin is for; do not set it to 0 on a real challenge.
- No news filter. Some funded accounts forbid opening or closing trades a few minutes around high-impact releases. The platform's economic calendar cannot be replayed in the Strategy Tester, so a news rule could not be proved the way every rule above was; pause the EA by hand around those releases if your firm requires it.
- No minimum trade duration and no minimum number of trading days.
Proof. With every rule off, this version placed the same deals as the version before it, deal for deal (82 trades, net +884.24, Pepperstone real ticks, 28 August - 19 September 2026). Each rule was then switched on at a level the same weeks reach; at all 19 triggers the EA closed its trades, opened nothing until the pause ended, and placed exactly the same deals as with the rules off up to the first trigger.
4. Your first week
- Run it on a demo account first, same broker, same settings, for at least four weeks. Nothing in this manual replaces watching it on your own broker's prices.
- On the demo, note two numbers each day from the account history: - Fills per day. In an active market, 2–4. In a quiet week, zero is normal — that is the gate working, not a fault. - How far past the stop loss the losers closed. The stop is placed at 2.00; on the tested brokers the median loser closed at 2.06–2.30 and one in ten at 3.45–4.45. If your broker's median is past 2.60, your costs are materially worse than anything tested — stay on demo or change broker.
- When you go live, start at Low for the first eight trading weeks, or set Custom with
InpRiskPct = 0.25. - Move to Medium only after at least 60 closed trades with a profit factor above 1.5 and no single day losing more than 3 % of balance.
5. Reading the chart, the panel and the journal
5.1 What KINGFISHER draws (since 1.14; InpDrawTrades, on by default)
- The level behind every resting order: a dotted line at the swing high or low the order rests on, and one label per level at the
right edge of the chart in two short lines: what the level is (
Dive 1+3 - 4-hour swing high 4219.30) and the orders resting on it (-> 2 buy stops 4218.34 - 4219.34). Buy labels sit above their lines, sell labels on them; labels that would touch are stacked. The order itself sits a small percentage inside the level, so it fills the moment the level gives way. - Where the Grip starts: a dashed gold line at the entry + 1.00, labelled
Grip starts at ..., until the trade reaches it. - The Grip exit, as it trails: once the Grip is on, a solid gold staircase at the price where the trade would close (it keeps
50 % of the best profit). It only ever steps in the trade's favour;
Grip exit ...labels its current level. - Riding trades: a fast fill rides to its target instead; the chart says
riding to its target (a fast fill). - Every exit: where and why each trade closed -
Target +13.20 EUR,Grip exit +7.39 EUR,Stopwith its result,Stop (locked)(a stop that had been moved into profit) orPanel close- in your account currency, costs included.
KINGFISHER also hides the chart grid while it runs (InpCleanChart; the grid comes back when you remove the EA), and one input,
InpTextSize (default 10), sets the size of every label and of the panel.
The order and position lines with their stop loss and take profit are MetaTrader's own (switch on Show trade levels in the chart
properties if you do not see them). Turning InpDrawTrades off changes nothing in the trading.
5.2 The panel (since 1.14; InpPanel, on by default)
A small panel in the top-left corner shows, live:
| Line | What it tells you |
|---|---|
KINGFISHER 1.14 XAUUSD risk Medium magic 89830 |
what runs on this chart |
Stop 2.00 target 15.00 USD per 0.01 lot Grip from +1.00, keeps 50% of the best |
the geometry every new order uses |
Trading - stop is 0.14 x the 1-hour range (limit 0.20) |
why it trades now - or Quiet market ..., Weekend shield ..., Market closed, Entries PAUSED ... |
Resting orders 3: S1 buy 4184.35, D2 sell 4096.95 ... |
the orders waiting at levels |
Skim BUY 0.01 @ 4184.52 +7.12 EUR Grip on: best +16.80, exits at 4192.92 |
each open trade and exactly where its exit is |
Closed today: 3 trades +12.40 EUR last 7 days: 9 trades +31.20 EUR |
Kingfisher's own closed result (this magic number only, costs included) |
Waiting for margin: next order needs 152.40 (red, since 1.16) |
your broker's margin holds orders back - shown only while the free margin is short (chapter 9) |
And four buttons:
| Button | What the EA does | Clicks |
|---|---|---|
| Pause entries / Resume entries | Pause: removes Kingfisher's resting orders and places no new ones; open trades keep their Grip, stop and target. The pause survives a restart. Resume: each hunter places orders at its next check. | one |
| Refresh orders | removes Kingfisher's resting orders; each hunter places fresh ones at its next check with the current settings. No trade opens or closes. | two |
| Lock profit | moves the broker stop of each winning trade: to its Grip exit (Grip on), to half the open profit (a riding trade) or to the entry (in profit, Grip not started). A losing trade is left alone; a stop is never loosened. | two |
| Close all | closes every Kingfisher trade at market, removes its orders and pauses entries (press Resume to trade again). | two |
"Two clicks": the first click turns the button red (Confirm ...?); a second click within 5 seconds acts.
Why panel actions stay "automated". MetaTrader records who sent every deal: Expert for an EA, Client, Mobile or Web for a
person. The panel does not trade by itself - a button asks KINGFISHER and KINGFISHER sends the request, so the account history shows
Expert. Every panel action is also written to the Experts tab (KINGFISHER panel: ...) and a panel close carries the comment
KF panel close, so your own history always shows which exits were your decision. Algo Trading must be on for the buttons to work;
if it is off, the panel says so and does nothing.
5.3 Journal lines
| Line | Meaning |
|---|---|
KINGFISHER v1.14 ... |
started; the banner repeats the risk level and exit mode |
KINGFISHER panel on ... Grip state saved per position ... |
the 1.14 features that are on |
KINGFISHER: N resting orders had another stop / target distance ... |
at start, orders left by an older version or other settings were replaced (chapter 11) |
KINGFISHER panel: ... |
a panel action and its result |
Note: this account is in netting mode ... |
see chapter 6 |
Note: Hot risk level ... |
you chose Hot; the warning is deliberate |
KINGFISHER: orders placed N \| skipped - quiet hour ... |
printed when the EA is removed; a summary of why orders were or were not placed |
6. When it does not trade — and why that is usually right
| Situation | What happens | Setting |
|---|---|---|
| Quiet market: 2.00 stop > 20 % of the hourly range | no new orders; resting orders are cancelled | InpGateStopAtr (0 = trade always) |
| Weekend | orders removed Friday 19:55 broker time; new orders from Monday 05:01 | InpWeekendShield, InpFriCutoff*, InpMonResume* |
| Spread wider than 500 points | order not placed | InpMaxSpreadPoints |
| Broker rejects for margin | order skipped, counted in the summary | InpMaxRestingMarginPct; see below |
| Hunter already in a trade | that hunter places nothing until it closes | by design |
| Level is broken or price is past it | no order until a new unbroken level forms | by design |
Netting accounts. KINGFISHER rests several orders at once. On a netting account with a small balance the broker may reject some of them for margin. Set InpMaxRestingMarginPct to, say, 60: the EA then refuses to add an order when the margin of open positions plus all resting orders would exceed 60 % of equity. On hedging accounts this is rarely needed (0 = off, the tested setting).
News. KINGFISHER has no news filter. Its stop loss is fixed and always on the server; a news spike either fills the order and runs to the target, or stops it out at 2.00 plus slippage. The tested numbers include every news event of 2024–2026.
7. Exit modes
Since 1.10 the default (Strategy settings = Recommended) is: the four Dives on Smart, the Skim hunter on Grip. The Skim hunter's fills arrive with less push and most of its losses were full 2.00 stops; the Grip lets it keep its small gains instead. On a small account this matters most, because there Skim trades the same minimum lot as a Dive (its quarter weight cannot go below the broker minimum). Measured on Vantage, MetaTrader 5 Strategy Tester, real ticks, 600 balance, 7 July - 18 September 2026:
| 600 balance, Vantage | net | days in profit | worst day | worst drawdown |
|---|---|---|---|---|
| Recommended (Skim on Grip) | +558 (+93 %) | 70 % | -12.0 | 15.9 |
| Classic (Skim rides) | +500 (+83 %) | 43 % | -21.6 | 54.1 |
| Skim switched off | +401 (+67 %) | 50 % | -15.5 | 31.5 |
Over 18 months at the minimum lot (Pepperstone): net 3,129 vs 3,194, worst drawdown 47 vs 82, days in profit 62 vs 50 %. On a wide-fill feed (Fusion) the Grip's small wins are eaten by the fill cost - there choose Classic.
InpExitMode (section 3, Strategy settings = Custom):
Backtest, MetaTrader 5 Strategy Tester, real ticks, Pepperstone / Vantage / Fusion, 2024 to 2026 (comparative ranking across exit modes).
- Smart (default). The fill is read on the first tick after it opens. If price arrived on a push (the last 5 seconds moved at least 4.5 % of the hourly range —
InpSmartPushAtr), the trade rides to the 15.00 target. Otherwise the Grip manages it. - Grip every trade. The Grip on all trades: once 1.00 ahead per 0.01 lot (
InpGripStart), close if profit falls to 50 % of its best (InpGripKeepPct). Highest win rate, lowest net — it sells the big winners. Since 1.15 the Grip also never gives back more than 0.40 x the 15-minute ATR (InpGripAtrCap): on a big winner in a calm hour it keeps more than half of the best profit (backtest, Grip cap 0.40 vs off, BlackBull / Fusion / Vantage, 2025-04 → 2026-09: a little more net and the same or a slightly smaller deepest dip on each). - Target only. Hold every trade to the stop or the target. Highest net, widest drawdown.
In the testing, Smart kept Target-only's profit at about a quarter less drawdown, on four brokers.
Which exit compounds fastest depends on your broker's stop fills. Where the losers fill close to the $2.00 stop (Vantage, Pepperstone in our tests), Grip every trade at the High level was the smoothest and fastest path (Vantage: ×27 in 15 months at a 5.7 % worst drawdown; Pepperstone ×20 at 7.0 %). Where the fills are wide (Fusion), the Grip's small wins are eaten by the fill cost and Smart at the High level is the fast path (×53 at 15.3 %). Run four weeks on demo, read the median fill distance past $2.00 (chapter 4): under ~$2.15 → Grip; above → Smart.
7.0 Since 1.11: on a high-volatility day the Skim hunter rides
The Grip on the Skim hunter pays in quiet and ordinary markets, where a break stalls and Grip keeps what a ride would give back. On days whose volatility is in the top third of the past year (yesterday's daily range against its own last 250 days), breaks run far, and gripping at half the best profit cuts the runners - there the Classic exit earns more. From 1.11 the Skim hunter uses the Exit section's mode (Smart) on those days and Grip on all others. Nothing to set; it follows the market by itself.
| Medium, 10,000, April 2025 - September 2026, backtest (BlackBull / Fusion) | growth | worst drawdown |
|---|---|---|
| BlackBull, 1.10 (Grip always) | x13.6 | 8.8 % |
| BlackBull, Classic (ride always) | x18.0 | 16.1 % |
| BlackBull, 1.11 (ride on high-volatility days) | x18.8 | 8.8 % |
| Fusion, 1.10 / Classic / 1.11 | x11.0 / x16.3 / x16.2 | 8.8 % / 11.5 % / 8.8 % |
On a small account the switch changes nothing in quiet months: on 600 at the minimum lot from 7 July to 18 September 2026 it placed exactly the same deals as 1.10 on two brokers, because no day reached the top third.
On a 600 account at the minimum lot through the volatile October 2025 - May 2026 stretch, 1.11 made +2,346 against +1,471 for 1.10, with smaller dips (worst five days -43.7 against -58.7 per 0.01 lot). Proved before release: 1.11 places exactly the same deals as the tested configuration (524 trades, +24,186.66 on IC Markets real ticks, April - September 2026, where 1.10 made +23,451.24), and the Classic and prop settings carry it.
7.1 One exit per hunter (InpD1Exit … InpS1Exit, since 1.05)
Each hunter can override the global exit: Global (the default: whatever InpExitMode says), Smart, Grip every trade or Target only. The one that matters is the Skim hunter (1-hour level). Its fills arrive with less push than the 4-hour fills and lose more often at the stop (57–66 % of its trades under Smart); on the Grip it closes 35 % at the stop and keeps most of the rest as small wins. Whether that pays depends, again, on your broker's stop fills:
Backtest, MetaTrader 5 Strategy Tester, real ticks, Pepperstone / Vantage / Fusion, 2024 to 2026.
InpS1Exit = Grip every trade, Dives on Smart |
Medium growth · worst drawdown | vs the shipped default (Medium, Smart) |
|---|---|---|
| Pepperstone, 2025-01 → 2026-09 | ×20.6 · 5.3 % (PF 3.57) | ×20.4 · 9.3 % — same growth, drawdown down 43 % |
| Vantage, 2025-06 → 2026-09 | ×15.8 · 5.9 % (PF 3.06) | ×22.4 · 7.9 % — growth down 29 %, drawdown down 25 % |
| Fusion, 2024-01 → 2026-09 | ×11.2 · 12.4 % (PF 2.15) | ×17.3 · 10.2 % — worse on both |
Backtests on real broker ticks, 10,000 start, compiled defaults otherwise. Read it as: where the losers fill close to the 2.00 stop, set the Skim hunter to Grip every trade and keep the Dives on Smart — same or smoother path; where the fills are wide, leave every hunter on Global. The four-week demo rule of chapter 4 (median fill distance past 2.00 under about 2.15 → tight) is the test. At High on a tight-fill broker, Grip every trade for all hunters (chapter 7 above) remains the smoothest path; Skim-only Grip at High lands between the two pure exits (Pepperstone ×26.7 at 9.8 %; Vantage ×49.8 at 8.6 % against Smart-High ×64.1 at 11.9 % and Grip-High ×27.0 at 5.7 %).
A second tight-fill lever: InpSmartPushAtr. Raising the Smart threshold from 0.045 to 0.09 hands more fills to the Grip without touching the Dives' rides on real pushes. At Medium: Pepperstone ×18.7 at 6.9 % (vs ×20.4 at 9.3 %), Vantage ×20.3 at 5.9 % (vs ×22.4 at 7.9 %), Fusion ×12.7 at 9.2 % (vs ×17.3 at 10.2 % — not worth it there). Growth per unit of drawdown +30 % on both tight-fill brokers. The Grip's arming level (InpGripStart) is not a lever: 2.5 instead of 1.00 changed nothing on any broker. Do not loosen the quiet-market gate to buy fills: 0.48 instead of 0.20 gave the same growth at 18–35 % drawdowns on the three brokers.
7.2 The smoothest path on a tight-fill broker: presets/KINGFISHER_high_grip.set
High level with Grip every trade. On Vantage (2025-06 → 2026-09, 10,000 start) it was the fastest and the shallowest of every arm tested: ×27.0 at a 5.7 % worst drawdown, profit factor 3.83, 72 % of trades closed in profit; at a fixed 0.01 lot it closes 28 % of trades at the stop against 62 % for Smart, and its worst 30-day loss is 14.00 per 0.01 lot against 17.00. On Pepperstone it is ×20.3 at 7.0 %. On a wide-fill broker (Fusion) it is the worst arm: ×10.6 at 17.7 %; do not use it there.
Do not use this preset on a small account. Below about 2,000 every fill is the 0.01 minimum lot whatever the risk level says, so the Grip's advantage — which is that it lets you run a larger risk fraction for the same drawdown — cannot be taken, while its cost is paid in full. Measured on a 600 balance over 3 August to 18 September 2026 at the minimum lot: compiled defaults made 250 (Pepperstone) and 365 (Vantage) while this preset made 145 and 224, because the month's profit came from a few large pushed moves and the Grip sells exactly those. On a small account run the compiled defaults, or the per-hunter setting in 7.1, and come back to this preset when the balance is large enough for the risk level to change the lot size. The 15-month Vantage replay from 600 at 1:500 that reaches 10,606 assumes the balance grows past the minimum-lot floor early and stays there; it is a statement about the whole path, not about the first months, which is where the paragraph above applies.
7.3 Since 1.12: Rebound - reverse after a Skim stop-out (opt-in, InpRebound, off by default)
A Skim order is a bet that the 1-hour level breaks. When it is stopped out, the break has failed: price went through the level, turned, and came back through the Skim's entry. Traders who bought that break have their stops just inside the level, and when those stops fill they push price further back into the range. Rebound trades that return leg. When a Skim trade closes at its stop, KINGFISHER places one opposite stop order 2.50 beyond the Skim's entry (0.50 past the Skim's stop):
- stop 1.00 beyond the furthest point the Skim trade reached, so the order does not sit where the failed break just turned;
- target 15.00 per 0.01 lot, the same as the Skim;
- size set so the order risks the same amount of money as the Skim trade it follows;
- life 3 hours. It is also removed early if a 15-minute candle pushes hard back in the Skim's direction (a body at least the 15-minute ATR(14)); while it waits, its stop follows a new Skim extreme.
It never hedges. If any KINGFISHER trade opens the other way, a waiting Rebound order is deleted, and an open Rebound trade is closed. The Skim hunter keeps trading as before: switching Rebound on removes none of its trades. A Skim closed by the Grip or by Smart gets no Rebound. Neither does a Dive: both were tested and neither held up.
| Medium, 10,000, April 2025 - September 2026, real-tick backtest | profit with Rebound, against off | worst drawdown |
|---|---|---|
| BlackBull | +14 % | about the same (x0.97) |
| Fusion | +19 % | 19 % smaller (x0.81) |
| OANDA (wide spread) | no benefit - leave it off on a wide-spread account | - |
| Dukascopy gold history 2013 - 2015, replayed at today's price | flat | about the same |
Switch it on only if all three are true:
- Your broker fills tight. The Rebound order sits close to the Skim's stop, so the spread is a large share of what it can earn. It paid on the two raw-spread brokers and lost on the wide-spread feed. Use the four-week fill test in chapter 4.
- Your account is well above the minimum lot. The Rebound stop is at least 3.50 away and usually more. At 0.01 lot it therefore risks more than the Skim did. It was not tested on a small account: leave it off below about 2,000.
- You accept a slower quiet stretch. On BlackBull the Rebound trades were behind in the quiet summer of 2025 (May - October). The dips were deeper there before they led from November on. On Fusion the dips were no deeper at any time.
Backtest, MetaTrader 5 Strategy Tester, real ticks, BlackBull / Fusion / OANDA / Dukascopy, 2015 to 2025 (fresh out-of-sample windows).
What it is not: a proven law. Before 2025 the same trades were flat to negative. On 53 stop-out Rebounds in earlier gold windows never used to build it (2015, 2018 - early 2025) the average was -0.28 of the amount risked. The gain above belongs to the volatile gold market of 2025 - 2026. It is a choice for traders who expect that market to continue, which is why it ships off.
Proved before release: with Rebound off, 1.12 places exactly the same deals as 1.11. With it on, 1.12 places exactly the same deals as the research build the table above was measured on, including under the Prop 2-step account type.
7.4 Since 1.13: the same stops and targets on every account currency
Up to 1.12, KINGFISHER read its stop (2.00), target (15.00), Grip start (1.00) and quiet-market gate in your ACCOUNT currency per 0.01 lot. On a euro account that made every distance about 14 % wider in the gold price (with EURUSD near 1.14): the stop sat 2.28 away instead of 2.00, the target 17.07 instead of 15.00, and the quiet-market gate admitted fewer hours. A euro account therefore traded a slightly different system from the one every test in this manual measured - one live week on a euro account showed exactly that, trade for trade.
From 1.13 all of these are US dollars of gold price per 0.01 lot on any account. Your risk level still works in your own currency: Medium risks 1 % of YOUR balance per level, and the prop-firm limits are your firm's amounts, as before. On a US-dollar account nothing changes at all.
Proved before release: on a US-dollar account 1.13 places exactly the same deals as 1.12 (534 trades, +21,371.96 on BlackBull real ticks, April - September 2026), also with Rebound on and under the Prop 2-step account type; on a euro deposit it places the same deals as on a dollar deposit (IC Markets, September 2026: 186 of 186), where 1.12 on a euro deposit traded a different book.
7.5 Since 1.14: the Grip can also move the broker's stop (opt-in, InpGripServerStop, off by default)
The Grip closes a trade itself, from the EA, at the tick where profit falls to 50 % of the best. That needs the terminal running. With
InpGripServerStop = true KINGFISHER also moves the trade's broker stop to the Grip exit as the best profit grows (in steps of 0.20,
never loosened), so if your terminal or VPS goes offline the broker still closes the trade near the same level. While the EA runs, its
own close still comes first. It is off by default because a broker stop fills slightly differently from a market close; chapter 14
shows the measured difference.
8. Execution quality — what your broker adds
Same entries, same hit rate on every broker tested; what differs is how far past the 2.00 stop you are filled on a fast move. Measured medians (2026, losers): 2.06, 2.11, 2.17, 2.30 on the four live feeds; the widest feed earned about 25 % less per trade than the tightest. Execution delay of 100–500 ms was tested and changed the result by at most 1 %; it is the broker's quote path, not latency, that costs.
Spread is the bigger cost, and it is visible before you trade. KINGFISHER's stop is a fixed 2.00 per 0.01 lot, so the spread takes a fixed share of it. Measured on the same entries on two brokers (2025–26): on a feed whose gold spread was about $0.24 at the median, 8.5 % of fills were stopped out within one second of the fill (0.1–3.0 % on raw-spread feeds) and the shared entries earned about half as much per trade (0.99 against 2.08 per 0.01 lot). Across four feeds, fills taken while the spread was at most 3 % of the stop earned the most on every feed.
Choose a broker with tight gold spreads (a raw-spread / ECN account) and fast stop execution. Prefer a hedging
account. The input InpMaxSpreadPoints (500) is in points: 500 points is a 5.00 spread on a two-decimal gold quote
and 0.50 on a three-decimal one — look at your symbol's digits before relying on it.
9. Sizing and margin
Backtest, MetaTrader 5 Strategy Tester, real ticks, Pepperstone / Vantage / Fusion / BlackBull, 2024 to 2026 (per-order vs per-level risk sizing comparison).
- The size of each order is computed from the risk level, the balance, the 2.00 stop and the broker's tick value, then shared among the hunters on that level (
LOT_RISK_PER_LEVEL). InpMaxLot(5.0) caps every order. In the tests it only came into play after the balance had grown twenty-fold.- Custom mode also offers fixed lots (
LOT_FIXED+InpFixedLot), lots per 1,000 of balance, and risk per order (each fill risks the full percentage — in the same tests this took the drawdown past 40 %; not recommended). - No minimum balance of its own; the broker's margin sets it. KINGFISHER skips an order only when the broker would refuse it for margin (counted as
marginin the summary line). One 0.01 lot of gold needs about the gold price divided by your leverage: 5-9 at 1:500, 25-45 at 1:100, 120-225 on EU-regulated accounts, where retail gold leverage is capped at 1:20 whatever the account leverage says. Below that no order is placed: the account waits, and that is the broker's limit, not a setting of the EA. Since 1.16 the EA says so: a Journal note once a day while orders are held back, and the panel lineWaiting for marginwhile the free margin is short. - Leverage: up to seven positions can be open at once, so on a small account 1:500 lets them fit. At 1:30 and Medium the resting orders can exhaust free margin on small accounts; use Low or set
InpMaxRestingMarginPct.
10. Optimising (for advanced users)
Every value that moves a trade is an input, so the Strategy Tester's genetic optimiser can search any of them: the five hunters' offsets, stops, targets, patience, swing width and timeframe; the gate; the exit thresholds; the weekend times. Two warnings from the people who built it:
- The defaults are the values that survived out-of-sample tests, random-control tests and four brokers. A parameter that looks better on last quarter alone is usually curve-fitting.
- The first thing worth optimising is not an offset but the per-hunter risk weights (
InpS1RiskWeightin particular) — they change how the risk budget is split between the busy hunter and the profitable ones, and a change there is a sizing decision, not a curve fit. - Optimise on real ticks ("Every tick based on real ticks"), never on OHLC — the entries depend on the tick path.
11. What is saved and what is not
KINGFISHER keeps no files. After a restart it re-adopts its own orders and positions by magic number and comment.
Since 1.14 each open trade's Grip state is saved (in the terminal's global variables, F3): whether it rides or is gripped, whether the Grip has started, and its best profit so far. A restart, a new version dropped on the chart or a closed terminal therefore leaves every exit exactly where it was. Up to 1.13 that state lived only in memory: after a restart the best profit started again from the current price and the "fast or slow fill" read was taken again at that moment, so a riding trade could come back gripped. The saved values are removed when the trade closes. The panel's pause is saved the same way.
Orders from an older version are replaced at start (InpRefreshOldOrders, on). When KINGFISHER starts, any of its resting orders
whose stop or target distance is not the current one - placed by an older version, under other settings, or on a euro account before
1.13 (2.28 / 17.07 instead of 2.00 / 15.00) - is removed, and the hunter places it again at once with the current distances. Open
trades are never changed.
12. Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No orders for days | quiet market — the gate | expected; watch the hourly range on the H1 chart; set InpGateStopAtr = 0 only if you accept the drawdown that comes with trading quiet markets |
| Orders appear and vanish within minutes | hourly range dropping below the gate, or the weekend shield | expected |
not enough money in the journal |
netting account or low leverage | InpMaxRestingMarginPct = 60, or Low risk |
No orders at all on a small account; a large margin count in the summary line |
the broker's margin for one 0.01 lot is more than your free margin (EU-regulated gold accounts: leverage 1:20, about 120-225 per 0.01 lot) | add funds, or use an account with higher gold leverage; orders resume as soon as one fits (chapter 9). Since 1.16 the Journal and the panel say so |
| Fills much worse than 2.00 on losers | broker execution | compare brokers on demo (chapter 4) |
| No orders; Journal says "trades gold only" | attached to a chart that is not gold | attach it to your broker's XAUUSD chart (section 6 can allow other symbols) |
| Changing a hunter's stop or offset changes nothing | Strategy settings = Recommended ignores the [Custom] sections | set Strategy settings = Custom (chapter 2a) |
| Every risk level gives the same lot | small account: the broker's minimum lot | expected; the second Journal line says so (chapter 2a) |
| Different results than the screenshots | different broker, window, or model | the figures are Strategy Tester runs on specific brokers' real ticks; results differ by feed — chapter 14 reproduces them exactly |
| Two charts cancel each other's orders | two instances with the same magic number | give the second chart its own InpMagic (for example 89831) |
| Prop mode seems to ignore the risk level | expected | the account type overrides the risk level; set Personal to use chapter 3 |
| Panel buttons do nothing | Algo Trading is off | switch on Algo Trading in the toolbar; the panel's last line says so |
| No new orders, panel says PAUSED | the panel's pause is saved across restarts | press Resume entries |
| Panel covers the one-click trading buttons | both use the top-left corner | hide one-click trading (right-click the chart) or set InpPanel = false |
13. Final checklist and disclaimer
- [ ] Demo run of at least four weeks on your broker
- [ ] Hedging account, or
InpMaxRestingMarginPctset on netting - [ ] Risk level Low for the first eight live weeks
- [ ] Algo Trading enabled; VPS or a PC that stays on (orders are server-side, but the Grip and the gate need the EA running)
- [ ] You accept that a quiet year can mean months without trades
- [ ] Prop-firm account: Account type set (chapter 3a), and the firm's news, weekend and trade-duration rules checked
Disclaimer. Trading leveraged products carries a high level of risk and may not be suitable for all investors. All performance figures in this manual and its listing are Strategy Tester results on historical broker tick data; they are not results from live trading and do not predict future performance. Past performance is not indicative of future results. Only trade with money you can afford to lose.
14. Reproduce the tests yourself
Every figure the listing quotes comes with the exact settings that produced it. Reproducing one takes a few minutes and needs no .set file.
By hand, in MetaTrader 5 (the BlackBull holdout row; open the Strategy Tester with Ctrl+R):
| Step | Setting |
|---|---|
| 1 | Expert: KINGFISHER — the Journal's first line must name the version below |
| 2 | Symbol: XAUUSD on your terminal (the row was measured on BlackBull, symbol XAUUSDp) |
| 3 | Timeframe: M15 |
| 4 | Date: Custom period, 2026.07.01 to 2026.09.19 |
| 5 | Forward: No · Delays: Zero latency, ideal execution |
| 6 | Modelling: Every tick based on real ticks |
| 7 | Deposit: 10000 USD (leverage is your account's own) |
| 8 | Inputs tab: right-click → Defaults, then set Strategy settings = Classic (this row was recorded with the 1.05-1.09 exits) |
| 9 | Start. On BlackBull this is a backtest of 284 trades, net +6,576.13, profit factor 1.89, equity drawdown 15.60 % (v1.05; 1.10 Classic is identical, proved deal for deal). The same row on the 1.10 defaults (Recommended) is being recorded |
On another broker the entries are the same but the numbers are not (chapter 8): expect the same order of magnitude, not the same cent. The Journal must say "real ticks" for the whole window — a tester that fills a gap with generated ticks produces a different, invalid result.
Complete reference — every input, its set-file key and default
Generated from the compiled source; enum defaults are the source names — the Inputs tab shows their plain labels.
| Group | Input | Type | Default | Meaning |
|---|---|---|---|---|
| 1. Start here | InpAccountMode |
AccountMode | ACCOUNT_PERSONAL | Account type |
| 1. Start here | InpProfile |
StrategyProfile | PROFILE_RECOMMENDED | Strategy settings |
| 1. Start here | InpRisk |
RiskLevel | RISK_MEDIUM | Risk level |
| 1. Start here | InpVirtualBalance |
double | 0.0 | Size as if the balance were (0 = real) |
| 1. Start here | InpMaxSpreadUsd |
double | 5.00 | Max spread for new orders, USD (0 = off) |
| 2. Hunters on or off | InpDive1 |
bool | true | Dive 1 - 4-hour level, 30 h patience |
| 2. Hunters on or off | InpDive2 |
bool | true | Dive 2 - 4-hour level, 20 h patience |
| 2. Hunters on or off | InpDive3 |
bool | true | Dive 3 - 4-hour level, 60 h patience |
| 2. Hunters on or off | InpDive4 |
bool | true | Dive 4 - 4-hour level, 55 h patience |
| 2. Hunters on or off | InpSkim |
bool | true | Skim - 1-hour level, 15 h patience |
| 2. Hunters on or off | InpRebound |
bool | false | Rebound - reverse after a Skim stop-out (opt-in; raw-ECN brokers) |
| 2. Hunters on or off | InpAllowBuy |
bool | true | Allow buy trades |
| 2. Hunters on or off | InpAllowSell |
bool | true | Allow sell trades |
| 3. Exit [Custom] | InpExitMode |
ExitMode | EXIT_SMART | How trades close |
| 3. Exit [Custom] | InpGripStart |
double | 1.00 | Grip starts at this profit per 0.01 lot, USD on gold |
| 3. Exit [Custom] | InpGripKeepPct |
double | 50.0 | Grip closes at this % of the best profit |
| 3. Exit [Custom] | InpGripAtrCap |
double | 0.40 | Grip gives back at most this x the 15-minute ATR (0 = off; Classic: off) |
| 3. Exit [Custom] | InpSmartPushAtr |
double | 0.045 | Smart: a fast fill moved >= this x ATR |
| 4. Prop-firm rules (0 = rule off) | InpPropAccountSize |
double | 0 | Account size (0 = balance when the EA first starts) |
| 4. Prop-firm rules (0 = rule off) | InpPropDailyLossPct |
double | 0 | Daily loss limit % (0 = off) |
| 4. Prop-firm rules (0 = rule off) | InpPropDailyPctOf |
PropPctOf | PROP_PCT_OF_SIZE | Daily loss limit is a % of |
| 4. Prop-firm rules (0 = rule off) | InpPropDailyFrom |
PropDayFrom | PROP_DAY_HIGHER | Daily loss is counted from |
| 4. Prop-firm rules (0 = rule off) | InpPropMaxLossPct |
double | 0 | Maximum loss limit % (0 = off) |
| 4. Prop-firm rules (0 = rule off) | InpPropMaxRule |
PropMaxRule | PROP_MAX_FIXED | Maximum loss limit type |
| 4. Prop-firm rules (0 = rule off) | InpPropTrailLock |
bool | true | A trailing limit stops rising at the account size |
| 4. Prop-firm rules (0 = rule off) | InpPropSafetyPct |
double | 0.5 | Act this many % of account size BEFORE each loss limit |
| 4. Prop-firm rules (0 = rule off) | InpPropTargetPct |
double | 0 | Profit target %: close all and stop for good (0 = off) |
| 4. Prop-firm rules (0 = rule off) | InpPropDayGainPct |
double | 0 | Best-day cap %: close all and pause for the day (0 = off) |
| 4. Prop-firm rules (0 = rule off) | InpPropDayStartHour |
int | 0 | Hour the firm's day starts, broker server time (0-23) |
| 4. Prop-firm rules (0 = rule off) | InpPropFridayCloseHour |
int | 0 | Friday: close all at this hour (0 = off) |
| 4. Prop-firm rules (0 = rule off) | InpPropResetState |
bool | false | New challenge, same login: true once |
| 5. When not to trade | InpWeekendShield |
bool | true | Remove orders before the weekend |
| 5. When not to trade | InpFriCutoffHour |
int | 19 | Friday: no new orders after (broker hour) |
| 5. When not to trade | InpFriCutoffMinute |
int | 55 | Friday: ... and minute |
| 5. When not to trade | InpMonResumeHour |
int | 5 | Monday: resume at (broker hour) |
| 5. When not to trade | InpMonResumeMinute |
int | 1 | Monday: ... and minute |
| 5. When not to trade | InpGateStopAtr |
double | 0.20 | [Custom] Quiet market: stop > this x ATR |
| 5. When not to trade | InpGateSpreadAtr |
double | 0.0 | [Custom] Skip if spread > x ATR (0 = off) |
| 5. When not to trade | InpGateSpreadSl |
double | 0.0 | [Custom] Skip if spread > x stop (0 = off) |
| 5. When not to trade | InpGatePushAtr |
double | 0.0 | [Custom] Skip slow approaches (0 = off) |
| 5. When not to trade | InpGateNearDollars |
double | 0.50 | [Custom] Slow approach = within this $ |
| 6. Safety | InpMaxLot |
double | 5.0 | Maximum lot per order |
| 6. Safety | InpMaxRestingMarginPct |
double | 0.0 | Max margin in use, % of equity (0 = off) |
| 6. Safety | InpAllowOtherSymbols |
bool | false | Allow live trading on non-gold symbols |
| 6. Safety | InpMagic |
int | 89830 | Magic number (a 2nd chart needs another) |
| 6. Safety | InpComment |
string | KF | Order comment prefix |
| 6. Safety | InpSlippagePoints |
int | 50 | Maximum slippage, points |
| 7. Custom sizing (Risk level = Custom) | InpLotMode |
LotMode | LOT_RISK_PER_LEVEL | Sizing method |
| 7. Custom sizing (Risk level = Custom) | InpRiskPct |
double | 1.0 | Risk %, per level or per order |
| 7. Custom sizing (Risk level = Custom) | InpFixedLot |
double | 0.01 | Fixed lot size |
| 7. Custom sizing (Risk level = Custom) | InpLotPer1000 |
double | 0.01 | Lots per 1,000 of balance |
| 8. Engine [Custom] | InpAtrTf |
ENUM_TIMEFRAMES | PERIOD_H1 | ATR timeframe (quiet gate and exit) |
| 8. Engine [Custom] | InpAtrPeriod |
int | 14 | ATR period |
| 8. Engine [Custom] | InpPushSec |
int | 5 | Push window, seconds |
| 8. Engine [Custom] | InpMaxOrdersPerSide |
int | 3 | Max resting orders per hunter and side |
| 8. Engine [Custom] | InpActivityFastMin |
int | 15 | Activity: fast window, minutes |
| 8. Engine [Custom] | InpActivitySlowMin |
int | 240 | Activity: slow window, minutes |
| 9. Dive 1 - 4-hour level [Custom] | InpD1SwingTf |
ENUM_TIMEFRAMES | PERIOD_H4 | Swing timeframe |
| 9. Dive 1 - 4-hour level [Custom] | InpD1Width |
int | 4 | Swing width, bars each side |
| 9. Dive 1 - 4-hour level [Custom] | InpD1OffBuy |
double | 0.0456 | Buy stop inside the level, % of price |
| 9. Dive 1 - 4-hour level [Custom] | InpD1OffSell |
double | 0.0430 | Sell stop inside the level, % of price |
| 9. Dive 1 - 4-hour level [Custom] | InpD1Stop |
double | 2.0 | Stop loss per 0.01 lot, USD on gold (any account) |
| 9. Dive 1 - 4-hour level [Custom] | InpD1Target |
double | 15.0 | Take profit per 0.01 lot, USD on gold (any account) |
| 9. Dive 1 - 4-hour level [Custom] | InpD1ExpiryH |
double | 30 | Order patience, hours (0 = no expiry) |
| 9. Dive 1 - 4-hour level [Custom] | InpD1CheckTf |
ENUM_TIMEFRAMES | PERIOD_M15 | Re-check the level at each close of |
| 9. Dive 1 - 4-hour level [Custom] | InpD1Lookback |
int | 48 | Swing search depth, bars |
| 9. Dive 1 - 4-hour level [Custom] | InpD1RiskWeight |
double | 1.0 | Risk weight (1 = as tested, 0 = min lot) |
| 9. Dive 1 - 4-hour level [Custom] | InpD1GateStopAtr |
double | 0.0 | Own quiet gate, x ATR (0 = global) |
| 9. Dive 1 - 4-hour level [Custom] | InpD1GateActivity |
double | 0.0 | Own activity gate (0 = off) |
| 9. Dive 1 - 4-hour level [Custom] | InpD1Exit |
HunterExit | HEXIT_GLOBAL | Own exit mode |
| 10. Dive 2 - 4-hour level [Custom] | InpD2SwingTf |
ENUM_TIMEFRAMES | PERIOD_H4 | Swing timeframe |
| 10. Dive 2 - 4-hour level [Custom] | InpD2Width |
int | 5 | Swing width, bars each side |
| 10. Dive 2 - 4-hour level [Custom] | InpD2OffBuy |
double | 0.0472 | Buy stop inside the level, % of price |
| 10. Dive 2 - 4-hour level [Custom] | InpD2OffSell |
double | 0.0619 | Sell stop inside the level, % of price |
| 10. Dive 2 - 4-hour level [Custom] | InpD2Stop |
double | 2.0 | Stop loss per 0.01 lot, USD on gold (any account) |
| 10. Dive 2 - 4-hour level [Custom] | InpD2Target |
double | 14.0 | Take profit per 0.01 lot, USD on gold (any account) |
| 10. Dive 2 - 4-hour level [Custom] | InpD2ExpiryH |
double | 20 | Order patience, hours (0 = no expiry) |
| 10. Dive 2 - 4-hour level [Custom] | InpD2CheckTf |
ENUM_TIMEFRAMES | PERIOD_M15 | Re-check the level at each close of |
| 10. Dive 2 - 4-hour level [Custom] | InpD2Lookback |
int | 48 | Swing search depth, bars |
| 10. Dive 2 - 4-hour level [Custom] | InpD2RiskWeight |
double | 1.0 | Risk weight (1 = as tested, 0 = min lot) |
| 10. Dive 2 - 4-hour level [Custom] | InpD2GateStopAtr |
double | 0.0 | Own quiet gate, x ATR (0 = global) |
| 10. Dive 2 - 4-hour level [Custom] | InpD2GateActivity |
double | 0.0 | Own activity gate (0 = off) |
| 10. Dive 2 - 4-hour level [Custom] | InpD2Exit |
HunterExit | HEXIT_GLOBAL | Own exit mode |
| 11. Dive 3 - 4-hour level [Custom] | InpD3SwingTf |
ENUM_TIMEFRAMES | PERIOD_H4 | Swing timeframe |
| 11. Dive 3 - 4-hour level [Custom] | InpD3Width |
int | 5 | Swing width, bars each side |
| 11. Dive 3 - 4-hour level [Custom] | InpD3OffBuy |
double | 0.0228 | Buy stop inside the level, % of price |
| 11. Dive 3 - 4-hour level [Custom] | InpD3OffSell |
double | 0.0565 | Sell stop inside the level, % of price |
| 11. Dive 3 - 4-hour level [Custom] | InpD3Stop |
double | 2.0 | Stop loss per 0.01 lot, USD on gold (any account) |
| 11. Dive 3 - 4-hour level [Custom] | InpD3Target |
double | 15.0 | Take profit per 0.01 lot, USD on gold (any account) |
| 11. Dive 3 - 4-hour level [Custom] | InpD3ExpiryH |
double | 60 | Order patience, hours (0 = no expiry) |
| 11. Dive 3 - 4-hour level [Custom] | InpD3CheckTf |
ENUM_TIMEFRAMES | PERIOD_M15 | Re-check the level at each close of |
| 11. Dive 3 - 4-hour level [Custom] | InpD3Lookback |
int | 48 | Swing search depth, bars |
| 11. Dive 3 - 4-hour level [Custom] | InpD3RiskWeight |
double | 1.0 | Risk weight (1 = as tested, 0 = min lot) |
| 11. Dive 3 - 4-hour level [Custom] | InpD3GateStopAtr |
double | 0.0 | Own quiet gate, x ATR (0 = global) |
| 11. Dive 3 - 4-hour level [Custom] | InpD3GateActivity |
double | 0.0 | Own activity gate (0 = off) |
| 11. Dive 3 - 4-hour level [Custom] | InpD3Exit |
HunterExit | HEXIT_GLOBAL | Own exit mode |
| 12. Dive 4 - 4-hour level [Custom] | InpD4SwingTf |
ENUM_TIMEFRAMES | PERIOD_H4 | Swing timeframe |
| 12. Dive 4 - 4-hour level [Custom] | InpD4Width |
int | 4 | Swing width, bars each side |
| 12. Dive 4 - 4-hour level [Custom] | InpD4OffBuy |
double | 0.0494 | Buy stop inside the level, % of price |
| 12. Dive 4 - 4-hour level [Custom] | InpD4OffSell |
double | 0.0619 | Sell stop inside the level, % of price |
| 12. Dive 4 - 4-hour level [Custom] | InpD4Stop |
double | 2.0 | Stop loss per 0.01 lot, USD on gold (any account) |
| 12. Dive 4 - 4-hour level [Custom] | InpD4Target |
double | 15.0 | Take profit per 0.01 lot, USD on gold (any account) |
| 12. Dive 4 - 4-hour level [Custom] | InpD4ExpiryH |
double | 55 | Order patience, hours (0 = no expiry) |
| 12. Dive 4 - 4-hour level [Custom] | InpD4CheckTf |
ENUM_TIMEFRAMES | PERIOD_M15 | Re-check the level at each close of |
| 12. Dive 4 - 4-hour level [Custom] | InpD4Lookback |
int | 48 | Swing search depth, bars |
| 12. Dive 4 - 4-hour level [Custom] | InpD4RiskWeight |
double | 1.0 | Risk weight (1 = as tested, 0 = min lot) |
| 12. Dive 4 - 4-hour level [Custom] | InpD4GateStopAtr |
double | 0.0 | Own quiet gate, x ATR (0 = global) |
| 12. Dive 4 - 4-hour level [Custom] | InpD4GateActivity |
double | 0.0 | Own activity gate (0 = off) |
| 12. Dive 4 - 4-hour level [Custom] | InpD4Exit |
HunterExit | HEXIT_GLOBAL | Own exit mode |
| 13. Skim - 1-hour level [Custom] | InpS1SwingTf |
ENUM_TIMEFRAMES | PERIOD_H1 | Swing timeframe |
| 13. Skim - 1-hour level [Custom] | InpS1Width |
int | 5 | Swing width, bars each side |
| 13. Skim - 1-hour level [Custom] | InpS1OffBuy |
double | 0.0783 | Buy stop inside the level, % of price |
| 13. Skim - 1-hour level [Custom] | InpS1OffSell |
double | 0.0767 | Sell stop inside the level, % of price |
| 13. Skim - 1-hour level [Custom] | InpS1Stop |
double | 2.0 | Stop loss per 0.01 lot, USD on gold (any account) |
| 13. Skim - 1-hour level [Custom] | InpS1Target |
double | 15.0 | Take profit per 0.01 lot, USD on gold (any account) |
| 13. Skim - 1-hour level [Custom] | InpS1ExpiryH |
double | 15 | Order patience, hours (0 = no expiry) |
| 13. Skim - 1-hour level [Custom] | InpS1CheckTf |
ENUM_TIMEFRAMES | PERIOD_M15 | Re-check the level at each close of |
| 13. Skim - 1-hour level [Custom] | InpS1Lookback |
int | 100 | Swing search depth, bars |
| 13. Skim - 1-hour level [Custom] | InpS1RiskWeight |
double | 0.25 | Risk weight (1 = as tested, 0 = min lot) |
| 13. Skim - 1-hour level [Custom] | InpS1GateStopAtr |
double | 0.0 | Own quiet gate, x ATR (0 = global) |
| 13. Skim - 1-hour level [Custom] | InpS1GateActivity |
double | 0.0 | Own activity gate (0 = off) |
| 13. Skim - 1-hour level [Custom] | InpS1Exit |
HunterExit | HEXIT_GRIP_ALL | Own exit mode |
| 14. Panel and chart | InpPanel |
bool | true | Show the control panel (Pause, Refresh orders, Lock profit, Close all) |
| 14. Panel and chart | InpDrawTrades |
bool | true | Draw the Grip line, the levels and every exit on the chart |
| 14. Panel and chart | InpRefreshOldOrders |
bool | true | On start, replace resting orders placed with other stop / target distances |
| 14. Panel and chart | InpGripServerStop |
bool | false | Grip: also move the broker stop to the Grip exit (protects a trade while offline) |
| 14. Panel and chart | InpCleanChart |
bool | true | Clean chart: hide the grid (put back when the EA is removed) |
| 14. Panel and chart | InpTextSize |
int | 10 | Text size of the panel and the chart labels (8-16) |