Table of Contents
Bas Kooijman—hedge fund manager at DHF Capital with more than $76 million AUM—sits down in Dubai to break down how real capital is deployed, why retail myths miss the mark, and what actually moves FX markets. He’s a coder-turned-manager who runs a boutique team and treats trading like a profession with rules, prospectuses, and accountability, not vibes. If you’ve wondered how a fund splits desks, enforces limits, and keeps traders calm under pressure, this interview is your clean window into that world.
In this piece, you’ll learn the core differences between retail and hedge fund execution (think leverage, drawdown caps, and desk-level risk), the daily and weekly stop rules that force discipline, and how automation is used for entries while humans still manage exits. You’ll also see how the team uses tech and data—plus where AI fits today—to keep strategies consistent across short-term, swing, and longer position trades, so you can adapt these ideas to your own playbook without the usual guesswork.
Bas Kooijman Playbook & Strategy: How He Actually Trades
Risk Framework: Caps, Stops, and Non-Negotiables
Bas runs capital with hard guardrails so small mistakes never become existential threats. Think in absolute drawdown terms first, then translate that into per-trade and per-day limits you can actually follow.
- Define max total drawdown at 10% of equity; pause trading for 5 sessions if hit.
- Cap daily loss at 1.5% and weekly loss at 4%; stop trading immediately when tripped.
- Limit open risk (sum of all position risks if stops hit) to ≤ 2% at any time.
- Use hard, broker-side stops; never widen a stop after entry.
- If slippage or spreads jump and violate risk caps, flatten first, analyze later.
Position Sizing: Volatility-Based, Not Ego-Based
Sizing comes from the instrument’s current volatility so that each trade risks the same fraction of equity regardless of market mood. This keeps your P&L smooth and prevents one outlier move from wrecking a month.
- Risk 0.25%–0.5% per trade; reserve 1% only for A+ setups with confluence.
- Size by ATR or recent true range: PositionSize = (Risk $) ÷ (ATR×StopMultiplier).
- When volatility doubles, halve position size to keep R constant.
- In correlated FX baskets (e.g., USD legs), ** haircut size by 30–50%** to reflect shared risk.
- If your stop is inside the instrument’s intraday noise, your size is too big—recompute.
Setup Selection: Mechanics Over Prediction
Bas prioritizes rule-driven structures over macro guesses. Your edge should be repeatable criteria that fire with or without your opinion about where “it should go.”
- Trade only pre-defined patterns you can name and backtest (e.g., pullback to AVWAP, failed breakout at prior day high, FVG fill into HTF level).
- Require two timeframes of agreement (e.g., H4 bias + M15 trigger).
- Demand one objective confluence: session level, AVWAP, previous VWAP bands, or liquidity sweep.
- Skip first touch after major news spikes; let the impulse settle and retest.
- If you can’t write the entry as a 3-line rule, it’s not a setup—pass.
Entries & Exits: Semi-Automated Precision
Entries can be automated because they’re binary; exits require discretion to balance win rate and expectancy. Bas treats exits as a separate edge, not an afterthought.
- Automate entries with limit/stop orders tied to your trigger (e.g., AVWAP reclaim + structure break).
- Place initial stop at the invalidated structure (not arbitrary pips).
- Pre-define two exits: (1) Kill switch when structure breaks again; (2) Scale at 1R and trail behind higher-low/lower-highs or an anchored VWAP trail.
- If unrealized +2R coincides with session close or opposing HTF level, bank partial.
- Never move a stop away; only to breakeven after ≥1R or when a new structure forms.
Portfolio Construction: Diversify by Idea, Not Just Ticker
Diversification means spreading edge across instruments, timeframes, and strategy families. Bas thinks in “buckets,” so one environment can’t nuke the entire book.
- Maintain 3 strategy buckets: mean-reversion intraday, momentum breakout, and swing trend-following.
- Operate across 3 horizons (scalp/intraday/swing) with separate risk budgets.
- Avoid idea overlap: don’t hold EURUSD long and DXY short as two “different” trades.
- Cap per-instrument exposure at ≤ 35% of total open risk.
- If two strategies fire on one pair, stagger entries; do not stack full-size simultaneously.
Process & Discipline: A Fund-Style Daily Routine
Edge decays without a process. Bas runs checklists before, during, and after the session so execution quality stays stable even when markets don’t.
- Pre-market (20–30 min): mark HTF bias, key AVWAPs, previous HI/LO, session levels, and news windows.
- Intraday: log intent (setup name, risk, invalidation) before entry; no ad-hoc trades.
- Mid-session: if two consecutive losses or -1.5R on a day, stop trading.
- End-of-day: export trades, tag setup, regime, mistake type, and write a 2-minute debrief.
- Weekly: review expectancy by setup and cut the bottom decile until fixed.
Volatility & Regime Filters: Trade the Market You Have
Bas gates his strategies by regime, so they fire only when the environment matches their design. You don’t need to predict the next regime—just recognize the current one.
- Maintain a simple regime score (trend, chop, expansion) using ATR% of price and swing structure.
- Enable trend systems only when swing highs/lows align and ATR% is above your threshold.
- Enable mean-reversion only when ranges compress and false breaks dominate.
- During event-driven expansion (CPI, NFP, rate decisions), reduce size by 50% or trade post-retest only.
- If the regime score flips mid-week, halt the misaligned strategy until next week.
News & Liquidity: Respect the Tape, Not the Hype
Institutional risk is as much about when not to trade as it is about entries. Bas time-boxes exposure around known liquidity shocks.
- Create a no-trade window of ±10 minutes around top-tier releases for intraday systems.
- For swing trades, place pending orders outside knee-jerk ranges; let the spike draw in liquidity first.
- Avoid opening fresh positions in the final 15 minutes of your session unless it’s a swing with HTF context.
- If spreads widen beyond 2× average, cancel pending orders automatically.
- During holidays or low-liquidity sessions, halve targets and size or stand down.
Technology & Automation: Codify, Don’t Complicate
Bas uses code to enforce rules and remove hesitation. Start with the smallest script that prevents your most common error, then expand.
- Hard-code risk caps so orders won’t route if limits are exceeded.
- Auto-draw anchored VWAPs (from session open, prior day high/low, and key swing points) and ADR bands.
- Build a pre-trade form (ticker, setup, stop, R, notes) that must be filled to enable the trade button.
- Auto-tag trades by setup and regime on entry; export nightly to a journal.
- Keep automation modular: entries in one module, exits/alerts in another for fast iteration.
Execution Quality: Slippage, Spreads, and Brokers
A good strategy can drown in bad execution. Bas treats execution like another strategy with its own rules and benchmarks.
- Track effective spread and slippage per instrument; cut size or switch sessions if metrics degrade.
- Route orders with limit-if-touched where possible; avoid market orders during releases.
- If a fill occurs >0.3R worse than modeled, treat it as full R loss for journaling.
- Maintain two brokers/venues; fail over if disconnects or routing delays hit.
- Re-benchmark quarterly: if execution costs exceed 20% of gross edge, refactor or retire the setup.
Scaling & Risk-On/Risk-Off: Earn Your Size
Bas grows in size only when data proves the edge is stable. This protects the book and your psychology.
- Increase size after 20–30 trade samples where expectancy and drawdown meet targets.
- Scale geometrically (e.g., +20–25% size steps), not linearly.
- If the last 10 trades include 3 consecutive losers or expectancy < 0, revert to prior size.
- Add size to winners only after structure confirms (e.g., higher-low after breakout).
- Never scale during a recovery from a drawdown; return to baseline first.
Compliance Mindset: Treat Retail Like a Fund
Bas runs a boutique fund culture—retail traders can borrow the same discipline. Write the rules once, follow them always.
- Maintain a written risk prospectus for yourself: allowed instruments, leverage caps, and stops.
- Separate research (idea generation) from execution (following rules) on your calendar.
- Use read-only dashboards during live trading; editing/backtesting is for off-hours.
- Record screen + audio for live sessions; review one mistake clip each day.
- If you break a rule, stop trading for 24 hours and document a fix before resuming.
Risk First: Daily and Weekly Loss Caps That Protect Capital
Bas Kooijman treats risk like oxygen—you don’t notice it until it’s gone. His playbook starts with hard limits: a daily stop to prevent spiral days and a weekly cap to keep one bad week from wrecking a quarter. He also locks in a max total drawdown, so the account automatically shifts from offense to defense when needed. These caps are non-negotiable, enforced before entries, so emotions never get a vote.
In practice, that means you size trades so the worst-case loss can’t break the daily limit, and if the cap is hi, you shut it down—no “one more try.” If volatility explodes and spreads widen, you flatten first and diagnose later, because execution risk counts toward the cap too. You pause after a weekly stop, review mistakes, and only resume when rules and mindset are reset. The result is survival math: protect the next 100 trades by refusing to let a single day or week define your future.
Size Positions by ATR: Volatility Controls, Not Your Ego
Bas Kooijman sizes every trade-off against current volatility so each risk unit is consistent across changing markets. He treats ATR like a speedometer: when the market drives faster, he automatically shrinks size to keep the crash distance the same. The formula is simple—risk dollars divided by ATR times your stop multiple—so there’s no room for impulse or “I feel good today” sizing.
In practice, that means cutting size when ATR spikes, haircuts for correlated pairs, and passing on setups where the stop must sit inside the noise. Bas Kooijman only scales up when volatility compresses and structure is clean, never because he wants to “make back” losses. The goal is smooth expectancy, not hero trades; one oversized position should never decide your month. If the math says the position is too big for the environment, he listens to the math and waits.
Trade Rules, Not Predictions: Two-Timeframe Confirmation and Clear Invalidation
Bas Kooijman builds entries from rules, not guesses, so the setup works even when his opinion is wrong. He wants a higher-timeframe bias first, then a lower-timeframe trigger that’s objective and repeatable. If the rule doesn’t fit on three lines, it’s not a setup—he passes.
Two-timeframe confirmation keeps him out of coin-flip trades, while a written invalidation level kicks him out fast when structure breaks. Bas Kooijman anchors triggers to mechanics—AVWAP reclaims, prior day high/low flips, or a clean liquidity sweep—so the entry is binary. He never moves a stop away; an invalid is invalid, and the next trade will come. By separating opinion from execution, he protects expectancy and lets the rulebook do the heavy lifting.
Diversify By Idea and Duration, Not Just Tickers
Bas Kooijman thinks diversification isn’t about collecting symbols—it’s about spreading edge across different ideas and time horizons. Holding EURUSD long and DXY short is the same bet in disguise, so he avoids overlapping exposures that rise and fall together. He runs distinct “buckets” like mean reversion, momentum breakout, and swing trend, so one market mood can’t sink the whole book.
Duration matters just as much. Bas Kooijman separates intraday, multi-day swing, and position trades with their own risk budgets and expectations. When markets chop, the mean-reversion bucket may carry the load; when they trend, the swing bucket steps up while the others dial down. The result is a portfolio that adapts without hero calls—different ideas, different clocks, one cohesive risk plan.
Automate Entries, Manage Exits: Journal, Review, and Enforce Discipline
Bas Kooijman treats entries like a checklist a bot can follow and exits like a craft a trader must master. He automates triggers—structure break, AVWAP reclaim, or prior day level flip—so hesitation and FOMO can’t sabotage the fill. Stops sit at structural invalidation, never at a round number, and they’re never widened after entry.
Exits get human attention because context matters. Bas Kooijman scales partials at 1R to de-risk, then trails behind fresh higher-lows or lower-highs, or hands the job to an anchored VWAP trail when momentum is clean. Every trade is journaled with setup name, regime tag, and a quick post-mortem so he can prune weak patterns and double down on strong ones. If discipline slips—two procedural errors in a session—he stands down and reviews before the next trade. The system makes the decisions; the journal makes the system better.
In the end, Bas Kooijman’s edge isn’t a magic indicator—it’s ruthless risk control wrapped around simple, testable mechanics. He caps damage before he seeks gains, sizes by ATR so volatility doesn’t hijack outcomes, and refuses to stack correlated bets that secretly mirror each other. Entries are binary rules anyone can code, while exits are managed with structure-aware discretion so expectancy stays intact. The journal isn’t homework; it’s the engine room where weak ideas get cut and strong ones earn more risk.
If you take one thing from Bas Kooijman, let it be this: build a rulebook that survives your worst day. Protect capital with daily and weekly stops, let volatility dictate size, and separate your strategies by idea and duration so one regime can’t sink the ship. Trade the market you have—not the one you want—by gating systems with simple regime filters and time-boxing around news. Automate what removes hesitation, review what sharpens judgment, and never move a stop the wrong way. Do that consistently, and your next 100 trades will look a lot more like a plan and a lot less like luck.

























