All Playbooks
Playbook

Risk Management Fundamentals

Profitable traders don't just find good entries — they manage risk obsessively. This is how you survive long enough to profit.

10 min read
Beginner

Core Concepts

Risk Per Trade

The percentage of your account you risk on each trade

Recommended: 1-2% for beginners, up to 3% for experienced
Formula: Risk Amount = Account Balance × Risk Percentage
Example: $10,000 × 2% = $200 maximum loss per trade

Position Sizing

Calculating lot size based on stop loss distance

Recommended: Calculate for every trade, never use fixed lots
Formula: Lots = Risk Amount ÷ (Stop Loss Pips × Pip Value)
Example: $200 ÷ (20 pips × $10) = 1.0 lot

Maximum Drawdown

The largest peak-to-trough decline in account equity

Recommended: Plan for 2x your expected drawdown
Formula: Max DD Tolerance = Risk Per Trade × Expected Losing Streak
Example: 2% × 10 consecutive losses = 20% max drawdown

Risk-Reward Ratio

The relationship between potential profit and potential loss

Recommended: Minimum 1:1.5, preferably 1:2 or better
Formula: R:R = Take Profit Distance ÷ Stop Loss Distance
Example: 40 pips TP ÷ 20 pips SL = 1:2 R:R

Position Sizing Code

  1. 1Determine account risk percentage (e.g., 2%)
  2. 2Calculate risk amount in currency (Balance × %)
  3. 3Measure stop loss distance in pips
  4. 4Get pip value for your lot size and pair
  5. 5Calculate lots: Risk Amount ÷ (SL Pips × Pip Value)
// Position sizing calculation
double CalculateLotSize(double riskPercent, double slPips) {
  double balance = AccountInfoDouble(ACCOUNT_BALANCE);
  double riskAmount = balance * (riskPercent / 100);
  
  double tickSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);
  double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
  double pipValue = tickValue / tickSize * _Point * 10;
  
  double lots = riskAmount / (slPips * pipValue);
  
  double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
  double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);
  double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
  
  lots = MathFloor(lots / lotStep) * lotStep;
  lots = MathMax(minLot, MathMin(maxLot, lots));
  
  return lots;
}

Drawdown Response Levels

DrawdownActionNotes
10%Normal operationExpected for most strategies
15%Review modeCheck if strategy performing as expected
20%Reduce size by 50%Limit further damage while analyzing
25%Pause tradingFull strategy review required
30%+Stop EAStrategy may be broken or market changed

Essential Risk Rules

Never risk more than 2% per trade as a beginner

Allows 25+ consecutive losses before 50% drawdown

Total open risk should not exceed 6%

Limits exposure if multiple trades go wrong

Daily loss limit of 5%

Prevents catastrophic single-day losses

Weekly loss limit of 10%

Forces review before significant damage

Always use stop losses

Unlimited loss potential without them

Never move stop loss further away

Increases risk beyond planned amount

Risk Management Checklist

Risk per trade defined and coded into EACritical
Position sizing based on stop loss (not fixed lots)Critical
Maximum drawdown levels with actions definedCritical
All trades have stop lossesCritical
Daily and weekly loss limits implemented
Maximum concurrent open trades limited
Correlation risk considered for multiple pairs
Risk:Reward minimum of 1:1 enforced
Never risk money you can't afford to loseCritical

Common Mistakes

Using fixed lot sizes regardless of stop loss

Why: 20 pip stop and 50 pip stop have very different risk with same lots.

Fix: Always calculate position size based on stop loss distance.

Risking 5-10% per trade

Why: Only takes 10-20 losses to blow the account. Losing streaks happen.

Fix: Start at 1%. Only increase after proven consistent profitability.

No maximum drawdown rule

Why: Strategy keeps trading through dysfunction. Losses compound.

Fix: Define drawdown levels with specific actions. Automate if possible.

Ignoring correlation risk

Why: 5 trades on correlated pairs = 5x intended risk if all lose.

Fix: Count total correlated exposure as single risk unit.

Widening stops during trades

Why: Turning a small loss into a large one. Emotional decision.

Fix: Set stop before entry. Never modify away from price.

Build Risk-Managed EAs

Create trading bots with proper position sizing and risk controls built-in.

Start Building