Dynamic Grid Trading: ATR-Based Strategy + Free EA [2026]

Forex trading carries a high risk of loss. Nothing on this page is personalised investment advice — see our Risk Disclosure.

Table of Contents

What Is Dynamic Grid Trading?

This page is the dedicated reference for dynamic grid trading — the volatility-adaptive variant of the grid method. For the fixed-spacing baseline see the grid trading strategy guide, for the core concept see what is grid trading, and for the mechanical build order see how to set up grid trading.

Quick answer: Dynamic grid trading is grid trading in which the interval between orders is recomputed from a live volatility reading instead of being fixed at launch. The standard rule is spacing = ATR(14) on the H1 chart multiplied by 0.8x to 1.2x, so the ladder widens as the market speeds up and tightens again when it calms. That is a change to the strategy’s risk shape, not a promise about its returns: wider spacing during a fast move means fewer grid levels sit in front of the price when it arrives, which changes how much floating loss accumulates — the arithmetic for exactly how much is worked out below, and it holds regardless of what any backtest says.

Dynamic Grid at a Glance

ElementRule
Spacing sourceATR(14) on the H1 chart
Multiplier0.8x–1.2x ATR (0.9x in the EUR/USD configuration below)
Typical EUR/USD spacing range12–35 pips
Asian session spacing12–18 pips
London / New York overlap spacing22–35 pips
Recalculation cadenceEvery 4–6 hours, or continuously by the EA
Take profitEqual to the current spacing (1:1)
Maximum open positions8 total, hard cap
Equity stopClose all positions below 75% of balance
Evidence statusNo published backtest table for this configuration — rule-based parameters only

The SteadyPips dynamic grid configuration for EUR/USD sets spacing to 0.9 × ATR(14) on the H1 chart, caps total open positions at 8, and closes every position if equity falls below 75% of balance (SteadyPips dynamic grid trading guide, as of August 2026). This is a description of the rule set, not a measured result — see backtest methodology and results for the EAs we do and do not have tested figures for.

Dynamic grid trading is an evolution of the classic grid trading strategy that adapts its parameters in real time based on market volatility. Instead of placing buy and sell orders at fixed intervals — say, every 20 pips — a dynamic grid widens or tightens its spacing, adjusts lot sizes, and shifts its boundaries as conditions change.

The core principle remains the same as traditional grid trading: place a series of pending orders above and below the current price and profit from natural price oscillation. The difference is intelligence. A static grid treats a quiet Monday Asian session the same as a volatile NFP Friday. A dynamic grid does not.

Why Static Grids Fail in Real Markets

Consider a standard 20-pip grid on EUR/USD. During a typical Tuesday in the Asian session, price might oscillate 25-30 pips — triggering 1-2 grid levels that may close at their small take-profit targets. That same 20-pip grid during a high-impact news release, when EUR/USD can move many tens of pips in minutes, will trigger every level on one side, accumulating exposure before a single take-profit is hit.

This is not a theoretical problem. It is a leading reason grid traders blow accounts. Static parameters in a non-static market create asymmetric risk: small wins during calm periods, larger losses during volatile ones.

Dynamic grid trading addresses this by treating grid spacing as a variable, not a constant. It does not solve the underlying problem — a sustained one-way trend still overruns any spacing rule eventually — it only changes how quickly the damage accumulates.

How a Dynamic Grid Adjusts

A well-designed dynamic grid uses one or more volatility indicators to modify its behavior:

  • ATR-based spacing: Grid interval = ATR(14) on the H1 chart, multiplied by a factor (typically 0.8x to 1.2x). When ATR is 15 pips, spacing is 12-18 pips. When ATR spikes to 40 pips during news, spacing widens to 32-48 pips.
  • Session-aware parameters: Tighter grids during Asian hours (06:00-14:00 JST), wider grids during London-New York overlap (21:00-02:00 JST).
  • Volatility filters: Pause new grid orders entirely when ATR exceeds a threshold (e.g., 2x the 20-day average ATR), preventing exposure during extreme events.
  • Regime detection: A trend-strength reading (ADX is the conventional choice) that decides whether a grid should run at all this session — spacing answers “how wide,” regime detection answers “whether.” The section below covers this in detail, since it is the part most spacing-only explanations skip.

How Dynamic Grid Trading Differs from Static Grids

Understanding the distinction between dynamic and static grids is critical for choosing the right approach. Here is a direct comparison across the dimensions that matter most.

Spacing Behavior

Static grid: Fixed intervals. If you set 20 pips, every order is exactly 20 pips apart, regardless of whether the market is asleep or in crisis.

Dynamic grid: Variable intervals. Spacing expands and contracts with volatility. A dynamic grid might use 14-pip spacing on a quiet Wednesday and 35-pip spacing on the day of a rate decision.

Two stacked panels: a volatility reading rising during a scheduled-event window and falling back afterward, and grid spacing beneath it showing a flat static line versus a dynamic line that widens during the spike and narrows during calm periods
A fixed spacing does not react to the volatility reading; an ATR-scaled spacing widens through the spike and tightens again once it passes. Schematic — not measured backtest data.

Floating-Loss Comparison: Why Wider Spacing Changes the Risk Shape

This is arithmetic, not a backtest, and it holds for any pair of numbers you plug in. Take a single one-way move of distance X pips from the anchor. A grid with spacing s fills n = floor(X / s) levels on the losing side before running out of room, and the floating loss at that point — from the worked grid example — is:

floating loss = pip_value x s x n(n-1)/2

Compare two configurations facing the same 100-pip adverse move:

  • Fixed 20-pip spacing. The move fills n = floor(100/20) = 5 levels. Floating loss = pip_value × 20 × (5×4/2) = pip_value × 200.
  • ATR-scaled spacing that reads 35 pips during that move (because volatility rose along with it). The move fills n = floor(100/35) = 2 levels. Floating loss = pip_value × 35 × (2×1/2) = pip_value × 35.

Same adverse move, same pip value, and the floating loss is roughly six times smaller — not because the dynamic grid predicted anything, but because fewer levels were sitting in front of the move when it happened. That is the entire mechanical case for dynamic spacing, and it is also incomplete on its own: the ATR reading that produced 35 pips was itself measured from the volatility accompanying the move, which raises the timing question covered in the look-ahead section below.

Trade Characteristics: What Changes Structurally

The table below describes structural behavior, not measured results — GridMaster’s dynamic-spacing mode does not have a published backtest table (see backtest methodology and results).

DimensionStatic grid (fixed spacing)Dynamic grid (ATR-scaled spacing)
Fill frequencyConstant regardless of regimeHigher in calm regimes, lower in volatile ones
Per-trade target sizeFixed at the configured spacingScales up with ATR during volatile regimes
Levels filled per unit of adverse movementFixed, by n = distance / spacingFalls as ATR rises, by the arithmetic above
Behavior in a genuine trendPoor — exposure accumulates at a fixed ratePoor — exposure accumulates more slowly, not painlessly
Dependence on the volatility reading being currentNoneHigh — a stale or lagging ATR reading undersizes the response

When to Use Each

Static grids still have a place. If you are trading a historically low-volatility pair like EUR/GBP or AUD/NZD during a period of confirmed ranging, a simple static grid with tight spacing can outperform a dynamic grid because the volatility adjustments add unnecessary conservatism.

Dynamic grids are a better structural fit for:

  • Major pairs (EUR/USD, GBP/USD) that experience regular volatility shifts
  • Accounts that must survive news events without manual intervention
  • Automated systems running 24/5 without human oversight

Volatility Regime Detection: ADX Filter and Hysteresis

ATR-based spacing answers “how wide should the grid be.” It does not answer “should the grid be trading at all.” A grid can be perfectly spaced for current volatility and still be the wrong tool if the market has stopped ranging and started trending — spacing alone does not detect that shift. A regime filter answers the second question, and it is the part most spacing-only explanations of dynamic grids skip.

Classifying the Regime

A conventional three-way split, applied on the same H1 chart used for the ATR reading:

  • Ranging — a trend-strength reading (ADX(14) is the conventional choice) sits below your chosen lower threshold. The grid runs at full configuration.
  • Transitional — ADX(14) sits between the two thresholds. Reduce grid levels, widen spacing beyond what the ATR formula alone produces, or halve position size.
  • Trending — ADX(14) sits above your chosen upper threshold, or price is making a fresh multi-week high or low. Pause new grid orders entirely. Do not just widen spacing further — a strong trend eventually outruns any spacing multiplier, and the floating-loss formula above still applies once enough levels fill.

The specific ADX values that separate these buckets are a starting convention, not a law. Derive your own by reviewing how ADX behaved during that pair’s last several genuine trending episodes versus its ranging ones, then set the boundary between them with margin on both sides rather than copying a number from this page.

Hysteresis: Why a Single Threshold Whipsaws the Grid

A grid that flips between “ranging: trade” and “trending: stand down” every time ADX crosses one line will open and close positions right at the boundary — the worst possible timing, since it pays trading costs on both the entry and the emergency exit for what may turn out to be a false signal. The standard fix is a hysteresis band: use one threshold to switch ranging into transitional, and a distinctly lower threshold to switch transitional back into ranging, so ADX has to travel back through a buffer zone before the grid re-arms. Size the band to that pair’s typical ADX noise rather than reusing a fixed number across pairs — a pair with choppier ADX behavior needs a wider band or it will whipsaw regardless.

Combining the Regime Filter with ATR Spacing

The two indicators answer different questions and neither substitutes for the other: ATR sizes the ladder, ADX (or an equivalent trend-strength reading) decides whether the ladder should exist right now. A dynamic grid that only scales spacing but never checks regime will still widen its way into a strong trend — wider spacing delays the damage, as the floating-loss arithmetic above shows, but it does not prevent it. This regime test is also the first filter in the grid trading strategy guide’s rule-based blueprint — the version here adds the hysteresis band that page does not cover.


Dynamic Grid Trading Settings for EUR/USD (2026)

EUR/USD remains the most actively traded currency pair globally. The euro was the second most-traded currency overall, appearing on one side of 28.9% of global foreign-exchange turnover, as published by the Bank for International Settlements’ Triennial Central Bank Survey, September 2025. Its combination of deep liquidity, moderate volatility, and well-defined ranging periods makes it a natural fit for dynamic grid trading. Here is a dynamic grid configuration for EUR/USD in 2026.

Based on EUR/USD’s typical behavior:

Grid Spacing: 0.9x ATR(14) on the H1 chart

  • Typical range: 12-35 pips
  • Asian session average: 12-18 pips
  • London session average: 18-28 pips
  • New York overlap average: 22-35 pips

Grid Levels: 5 per side (5 buy limits below, 5 sell limits above)

Lot Size: 0.01 per $1,000 equity (micro lots)

  • $1,000 account: 0.01 lots per level
  • $5,000 account: 0.05 lots per level
  • $10,000 account: 0.10 lots per level

Take Profit: Equal to grid spacing (1:1 ratio). If spacing is 20 pips, TP is 20 pips per order.

Maximum Open Positions: 8 total (hard cap). If 8 positions are open, no new grid orders are placed until one closes.

Equity Stop: Close all positions if account equity drops below 75% of balance. This is the nuclear option that prevents a margin call.

Session-Based Optimization

The Asian session (00:00-07:00 GMT / 09:00-16:00 JST) is commonly cited as EUR/USD’s tightest-ranging window, with a session-optimized approach shifting spacing through the day rather than holding one setting:

  1. Asian session (09:00-16:00 JST): Active grid, 12-18 pip spacing, all levels enabled
  2. London open (16:00-19:00 JST): Widen to 20-28 pips, reduce to 3 levels per side
  3. New York overlap (21:00-02:00 JST): Widen to 25-35 pips or pause during major news
  4. Late New York (02:00-09:00 JST): Resume tight grid as volatility fades

The GridMaster EA implements this session-aware logic automatically, adjusting parameters without manual intervention.


How to Calculate Dynamic Grid Spacing from Volatility

Getting grid spacing right is one of the most important decisions in grid trading. Too tight, and you accumulate excessive exposure during volatile moves. Too wide, and you miss profitable oscillations during calm periods. What makes the spacing dynamic is that it is recomputed from a live volatility reading rather than fixed once at launch — if you have not yet built a grid at all, work through the 10-step grid setup walkthrough first and treat this section as the upgrade to it.

The Average True Range (ATR) indicator measures recent volatility over a specified period. For grid trading, ATR(14) on the H1 chart provides a workable balance of responsiveness and stability.

Step-by-step setup:

  1. Open your EUR/USD H1 chart in MetaTrader 4
  2. Add the ATR indicator with period 14
  3. Note the current ATR value from the last fully closed bar (e.g., 22 pips) — see the look-ahead trap below for why this matters
  4. Set grid spacing = ATR value x 0.9 (e.g., 22 x 0.9 = 19.8, round to 20 pips)
  5. Set take profit = grid spacing (20 pips)
  6. Recalculate every 4-6 hours, or let an EA do it automatically

Or run steps 3-4 through the grid spacing calculator, which applies this same ATR-multiplier formula to the reading you enter and also estimates how many grid levels your account can fund at the resulting spacing.

The Bollinger Band Method

An alternative approach uses Bollinger Band width to determine grid boundaries and spacing:

  1. Apply Bollinger Bands (20, 2.0) to the H1 chart
  2. Grid upper boundary = Upper band
  3. Grid lower boundary = Lower band
  4. Grid spacing = Band width / 10
  5. When bands narrow (squeeze), tighten the grid. When bands expand, widen or pause.

This method naturally aligns the grid with the current trading range, avoiding the common mistake of setting grid boundaries based on arbitrary round numbers.

Parameter Optimization Table

Account SizeLot SizeGrid LevelsMin SpacingMax SpacingEquity Stop
$5000.014 per side15 pips30 pips80%
$1,0000.015 per side12 pips35 pips78%
$2,0000.025 per side12 pips35 pips76%
$5,0000.056 per side10 pips40 pips75%
$10,0000.107 per side10 pips45 pips75%

Common Mistakes to Avoid

Over-leveraging: Using 0.1 lots on a $1,000 account with 5 grid levels means each level risks $10/pip. Five levels on one side = $50/pip of aggregate exposure. A 40-pip move against you would roughly double the account’s floating loss relative to the equity base — well past any conservative equity-stop setting.

No maximum position cap: Without a hard cap on open positions, a trending market will keep triggering new orders indefinitely. Always set a maximum.

Ignoring news events: Even a well-designed dynamic grid can be overwhelmed by a large scheduled-event spike. Use an economic calendar filter or manually pause the EA during high-impact events.

Widening spacing instead of pausing: A wider spacing rule delays a trend’s damage; it does not prevent it. Once the regime filter above signals a trend, the correct response is to stop new orders, not to widen the ATR multiplier further.

Before deploying any configuration with real capital, backtest your EA thoroughly using at least 12 months of tick data — and read the look-ahead trap below before trusting the result.


Backtesting a Dynamic Grid: The Look-Ahead Trap

A dynamic grid is harder to backtest honestly than a static one, and the reason is subtle enough that a backtest can get it wrong without the author noticing.

The Problem

ATR(14) is computed from the 14 most recently completed bars. If a backtest recalculates spacing using an ATR value that includes the bar currently in progress — rather than the last fully closed bar — the spacing decision for that bar has access to information (that bar’s own high-low range) that would not exist yet on a live account watching the same bar unfold. The leak is small on any single bar, but it compounds over a multi-year test, and it always leaks in the model’s favor: the backtest “happens” to widen spacing right as the volatile bar begins, rather than one bar late, the way a live account actually would.

The Check

Confirm the spacing recalculation in your test harness uses ATR sourced strictly from bars closed before the recalculation timestamp, with the in-progress bar excluded. If your platform’s built-in ATR function returns a value for the current, incomplete bar, verify what it does with that bar’s not-yet-final high and low before trusting a walk-forward result. This class of bug does not throw an error or produce an obviously wrong number — the equity curve just looks better than the strategy actually is, which is the same general failure mode our backtest methodology and results page warns about for hypothetical results industry-wide.

Recalculation Cadence Matters Too

A grid that recalculates spacing continuously (every tick) versus one that recalculates on a fixed schedule (every 4-6 hours, as the settings table above specifies) will produce different backtest results even with an identical ATR formula, because the two cadences see different volatility snapshots. Match the backtest’s recalculation cadence to whatever the live EA will actually run, not to whatever is easiest to script — a continuously-recalculating backtest will look smoother than a live account rechecking every four hours ever could.


Grid Trading vs Trend Following

Grid trading and trend following represent fundamentally different philosophies. Understanding where each excels helps you deploy the right strategy at the right time — or combine both for a more robust portfolio.

When Grid Trading Wins

Grid trading is structurally suited to ranging, mean-reverting markets:

  • Consolidation phases, which occupy a substantial share of total market time on major pairs
  • Low-volatility environments (ATR below roughly 25 pips on EUR/USD’s H1 chart, as a starting reference)
  • Pairs with mean-reversion tendencies (EUR/GBP, AUD/NZD, USD/CHF)

In these conditions, trend-following systems tend to generate more false signals and whipsaw losses, while grids accumulate small profits from each oscillation.

When Trend Following Wins

Trend following is structurally suited to sustained directional moves:

  • Breakouts from long consolidation ranges
  • Central bank policy divergence periods
  • Risk-on/risk-off episodes driving one-way flows

In a sustained bullish or bearish run of several hundred pips without a meaningful pullback, a trend-following system captures the move directly. A grid trader holding levels on the wrong side of that move accumulates losing positions the entire way — the same one-way-trend failure mode covered throughout this guide, just seen from the losing side of the ladder rather than the winning one.

The Hybrid Approach

The most sophisticated approach combines both. The SteadyPips EA uses trend detection to determine market regime and adjusts its behavior accordingly:

  • Ranging regime detected (ADX below 20): Full grid mode with tight spacing
  • Weak trend detected (ADX 20-30): Asymmetric grid — more levels in the trend direction, fewer counter-trend
  • Strong trend detected (ADX above 30): Grid paused, switch to trend-following entries only

We do not publish a measured backtest table for this hybrid regime-switching logic — see backtest methodology and results for the EAs we do have tested figures for. The structural claim holds without a number attached to it: pausing grid entries once ADX crosses into trending territory removes the grid’s specific failure mode from that regime, at the cost of also removing the grid’s specific profit source during it. Whether that trade-off pays for itself over any given period is an empirical question this page does not claim to have answered.


Risk Management for Grid Trading

Risk management is not optional in grid trading — it is the strategy. A grid without proper risk controls is a fast path to a margin call. Most retail traders lose money over time, and grid trading does not repeal that fact; it only changes the shape of the loss for the ones who get the risk controls wrong. Here are the non-negotiable rules for managing grid risk.

For a deeper dive into forex risk management principles, see our complete risk management guide.

Rule 1: Calculate Maximum Exposure Before You Start

Before placing a single grid order, calculate your worst-case scenario. Two related numbers matter here, and it is worth keeping them distinct:

  • The n(n-1)/2 formula from earlier on this page gives the floating loss with price sitting exactly at the last filled level — the number that matters for the look-ahead and static-vs-dynamic comparisons above.
  • For pre-trade sizing, the more conservative number is the sum of every level’s distance from the anchor, since it assumes price has moved one further spacing past the deepest level rather than stopping exactly on it.

Example (5 levels, 0.01 lots, 20-pip spacing, pip value $0.10): level 1 is 20 pips from the anchor ($2.00), level 2 is 40 pips out ($4.00), level 3 is 60 pips out ($6.00), level 4 is 80 pips out ($8.00), level 5 is 100 pips out ($10.00). Summed, that is $30.00 maximum exposure — about 3% of a $1,000 account, and $10 higher than the n(n-1)/2 figure for the same 5 levels because it assumes price has pushed one spacing further.

Size to the $30 figure, not the $20 one — the conservative assumption is the correct one for pre-trade planning. If the same calculation shows 15% or more of your account at risk, reduce lot sizes or grid levels.

Rule 2: Set an Equity Stop-Loss

Every grid system must have a hard equity stop — the point at which all positions are closed to preserve capital. Common reference points:

  • Conservative: Close all if equity drops to 85% of starting balance
  • Moderate: Close all at 75% of starting balance
  • Aggressive: Close all at 65% of starting balance (not recommended for accounts under $5,000)

Rule 3: Limit Maximum Open Positions

Set a hard cap on total open positions. For accounts under $2,000, this should be 6-8 maximum. For accounts over $5,000, up to 10-12. Never allow unlimited position accumulation.

Rule 4: Use Drawdown-Based Lot Scaling

As drawdown increases, reduce lot sizes on new grid orders:

  • 0-5% drawdown: Full lot size (e.g., 0.01)
  • 5-10% drawdown: 75% lot size (0.0075, rounded to 0.01 on micro)
  • 10-15% drawdown: 50% lot size (0.005)
  • Above 15% drawdown: No new orders, wait for recovery

Rule 5: Weekly Equity Review

Every Friday, compare your current equity to the previous Friday. If equity has declined for 3 consecutive weeks, stop the grid and reassess. The market regime may have shifted from ranging to trending, requiring the regime filter above to be revisited rather than overridden by hand.


Frequently Asked Questions

Q: What is dynamic grid trading?

A: Dynamic grid trading is a forex strategy that recomputes grid spacing from a live volatility reading — typically ATR(14) — instead of holding it fixed at launch. Static grids use one interval regardless of conditions; dynamic grids widen when volatility rises and tighten when it falls. The effect is on risk shape, not a guaranteed outcome: fewer grid levels fill during a volatility spike when spacing scales with it, which mechanically shrinks the worst-case floating loss for that move — the arithmetic is worked through earlier on this page — but it does not remove the exposure a sustained trend creates.

Q: What is the best grid spacing for EUR/USD?

A: For EUR/USD, a common dynamic spacing rule ranges from 12-18 pips during low-volatility sessions (Asian) to 22-35 pips during high-volatility sessions (London/New York overlap). The most common method is ATR(14) on the H1 chart with a 0.8x to 1.2x multiplier, sourced from the last fully closed bar. These are configuration parameters, not a backtest result.

Q: Is grid trading profitable?

A: Grid trading can work in ranging markets and lose money in trending ones — strong trends cause significant drawdowns, and a grid with inadequate risk controls can lose an entire account. Most retail traders lose money over time, and grid trading does not repeal that arithmetic. Any return figure quoted for grid trading — including in our own material — comes from hypothetical backtests where we have run one, or is not a measured result where we have not, and neither predicts future performance. Long-term outcomes depend on risk management, proper position sizing, and the ability to detect and avoid trending conditions.

Q: What is the difference between static and dynamic grid trading?

A: Static grids use fixed pip spacing regardless of market conditions. Dynamic grids adjust spacing based on volatility indicators like ATR or Bollinger Band width. We do not publish a measured backtest table for GridMaster’s dynamic-spacing mode. What is verifiable without one: wider spacing means fewer grid levels fill for the same adverse move, and because the floating-loss formula scales with the square of filled levels, spacing that tracks volatility produces a mechanically smaller worst case than spacing that stays fixed through the same move.


Ready to Try Dynamic Grid Trading?

Dynamic grid trading changes the strategy’s risk shape by construction, not its safety. It does not make grid trading profitable on its own: grid systems remain vulnerable to sustained one-way trends, and no spacing rule removes that exposure — a regime filter that pauses the grid entirely is what actually addresses it.

Our free Expert Advisors implement the dynamic grid concepts covered in this guide:

  • GridMaster EA — Pure grid trading with ATR-based dynamic spacing, session filters, and built-in equity protection
  • SteadyPips EA — Hybrid trend + grid system with automatic regime detection

Both EAs run on MetaTrader 4 and MetaTrader 5 and include configurable risk limits. Neither is a set-and-forget system: review the settings and the open positions regularly. Start with a demo account, backtest with historical data using the look-ahead check above, and only move to live trading when you are confident in the results.

Further Reading

This analysis is for educational purposes only and does not constitute financial advice. Forex trading involves substantial risk of loss and is not suitable for all investors. Past performance, including backtested results, does not guarantee future results. Always trade with capital you can afford to lose and consult a licensed financial advisor before making investment decisions.

Automate Your Trading with Free Expert Advisors

Our free EAs execute a defined rule set 24/5 with configurable risk limits. Automation removes the manual work, not the risk — test on demo first.

Automated trading carries real risk of loss — review the risks before running any EA.

Download Free EAs Open Free XM Account
Join Telegram for Daily Signals | Explore Our EAs

Written and maintained per our Editorial Policy. Substantive errors are corrected in place and logged in our correction history.

Disclaimer: The information provided on this website is for educational and informational purposes only. Nothing on this site constitutes financial advice, investment advice, trading advice, or any other sort of advice. You should not treat any of the website's content as such. SteadyPips does not recommend that any financial instrument should be bought, sold, or held by you. Do conduct your own due diligence and consult your financial advisor before making any investment decisions.

Past performance is not indicative of future results. Trading results shown on this website are hypothetical and do not guarantee future performance.

Affiliate Disclosure: This website contains affiliate links. If you sign up with a broker through our links, we may receive a commission at no additional cost to you. This helps us maintain this website and continue providing free trading tools and educational content.