PROCESS INTERMEDIATE

How to Backtest Properly

This lesson explains how to test a trading idea using historical market data without allowing hindsight, changing rules, or unrealistic execution to distort the results. You will learn how to define an objective setup, select a useful sample, record every qualified trade, calculate expectancy and drawdown, separate market conditions, and determine whether the results justify additional testing. By the end of this lesson, you should be able to design a repeatable backtest that produces evidence rather than simply collecting winning screenshots.

45 min readEducational lesson

What Is Backtesting?

Backtesting is the process of applying a clearly defined trading method to historical market data.

The trader reviews past price action and records what would have happened if the method had been followed exactly as written.

A proper backtest attempts to answer questions such as:

• How often does the setup appear?

• How often does it win?

• How large are the average winners?

• How large are the average losses?

• What losing streaks occur?

• What market conditions support the setup?

• What conditions weaken the setup?

• Does the method show positive expectancy?

Backtesting does not prove that future results will be identical.

It helps the trader determine whether an idea has enough historical evidence to justify further testing.

  1. Backtesting Is an Experiment

A backtest should be treated like an experiment.

A good experiment begins with:

• A specific question

• Defined rules

• A consistent procedure

• Accurate observations

• Results that can be reviewed

A weak experiment changes its rules whenever an unwanted result appears.

A weak backtest works the same way.

If the trader changes the entry, stop, target, timeframe, and confirmation after every loss, the final results do not represent one strategy.

They represent many different decisions selected with hindsight.

  1. What Backtesting Cannot Prove

A backtest cannot guarantee:

• Future profitability

• Identical market conditions

• Perfect live execution

• Exact entry fills

• Exact stop fills

• Emotional discipline

• Stable commissions and slippage

• That the strategy will never stop working

Historical results show how a rule set performed under selected past conditions.

They provide evidence, not certainty.

  1. What Backtesting Can Help You Learn

A strong backtest can help the trader understand:

• Whether the setup is clearly definable

• Whether two traders could identify the same setup

• How frequently the setup appears

• Which sessions produce the best results

• Which market conditions create losses

• How wide stops normally need to be

• Which targets are realistic

• Whether the strategy can survive normal losing streaks

• Whether the expected reward justifies the risk

Backtesting may also reveal that an idea should be rejected.

Discovering that a strategy has no clear edge before risking money is a valuable result.

  1. Begin With One Testable Question

A backtest should begin with a narrow question.

Weak question:

“Does price action work?”

This question is too broad.

Stronger question:

“When a defined bullish setup forms during the New York morning while higher-timeframe structure is bullish, does price reach a 2R target before reaching the planned stop?”

The stronger question identifies:

• Direction

• Market condition

• Trading session

• Setup type

• Stop

• Target

The exact setup rules will come from the trader’s model.

The test should focus on one clearly defined idea.

  1. Write a Hypothesis

A hypothesis is a statement that can be tested.

Example:

“When the market is in bullish higher-timeframe structure and price produces the required confirmation from a meaningful support area during the tested trading window, long trades will produce positive expectancy across a minimum sample of 100 qualified setups.”

This hypothesis may be supported or rejected.

The trader should not begin with the belief that the strategy must work.

  1. Define the Market

Record exactly which market is being tested.

Examples:

• NQ

• MNQ

• ES

• MES

• GC

A method that works on NQ may not produce the same behavior on GC.

Different markets can have different:

• Volatility

• Session behavior

• Point values

• Reaction speed

• News sensitivity

• Average stop requirements

Do not combine several instruments into one result without recording them separately.

  1. Define the Contract Data

Futures contracts expire.

Historical charts may use:

• Individual contract months

• Continuous contracts

• Back-adjusted data

• Unadjusted data

The data type can affect visible prices and gaps.

The trader should record:

Platform:

Symbol:

Contract type:

Data source:

Time zone:

Using consistent data prevents part of the sample from being measured differently from the rest.

  1. Define the Timeframe Hierarchy

Write which timeframes perform each job.

Example:

Higher-timeframe context:

Four-hour chart

Recent structure:

One-hour chart

Setup context:

15-minute chart

Execution confirmation:

Five-minute chart

The purpose is not to require these exact timeframes.

The purpose is to prevent the tester from switching timeframes after seeing the result.

  1. Define the Trading Window

Specify when entries are permitted.

Example:

Entry window:

9:30 AM to 11:30 AM Eastern Time

Questions to define include:

• Can a setup begin before the window?

• Must confirmation complete inside the window?

• Are entries allowed exactly at the ending time?

• Are trades managed after the entry window closes?

A setup appearing outside the tested window should not be included as a qualified trade unless the rules explicitly allow it.

  1. Define the Days Being Tested

Record whether the strategy permits trading on:

• Monday

• Tuesday

• Wednesday

• Thursday

• Friday

Also define rules for:

• Holidays

• Shortened sessions

• Rollover days

• Major scheduled news

• Extremely low-volume sessions

Do not exclude difficult days after seeing that they lost.

Exclusions must be written before testing or investigated in a separate analysis.

  1. Define the Setup Objectively

A setup must be described in language that another trained person could apply.

Weak rule:

“Enter when the chart looks bullish.”

Stronger rule:

“Price must reach a preidentified area, complete the required confirmation, and provide a measurable invalidation and target inside the permitted session.”

The full strategy may contain additional rules.

The important requirement is that each condition can be recorded as:

• Present

• Absent

• Not applicable

Avoid vague descriptions such as:

• Strong-looking candle

• Nice rejection

• Clean setup

• Good momentum

If these terms are used, they must be defined.

  1. Define Every Required Condition

Create a checklist containing all conditions required for a qualified setup.

Possible categories include:

• Market

• Session

• Higher-timeframe condition

• Directional bias

• Location

• Liquidity condition

• Confirmation

• Entry type

• Stop placement

• Target method

• Minimum risk-to-reward

• News restrictions

The free course does not provide the exact checklist for a proprietary model.

The trader must use the rules of the strategy being tested.

  1. Required Versus Optional Conditions

Separate required rules from optional observations.

Required condition:

The trade cannot exist without it.

Optional observation:

The information is recorded for later analysis but does not determine whether the trade qualifies.

Example

Required:

Setup forms during the trading window.

Optional:

The overnight range is narrow.

If optional observations are treated as required only after a losing trade, the test becomes biased.

  1. Define the Entry

The entry rule should identify the price that would realistically have been available.

Possible entry methods include:

• Market order after a candle closes

• Limit order at a defined price

• Stop order beyond a defined level

• Entry on a retest

The test must define:

• When the order is placed

• Whether the price must trade through the order

• Whether touching the price counts as a fill

• What happens if the market gaps beyond the entry

• Whether the order expires

  1. Candle-Close Entries

Suppose the rule requires a completed five-minute candle.

Candle close:

20,100

The tester cannot assume entry at:

20,080

simply because that price traded earlier inside the candle.

The required confirmation did not exist at 20,080.

A realistic entry may be:

• At the closing price

• At the next candle open

• At a defined pullback after the close

The chosen method must remain consistent.

  1. Limit-Order Entries

A limit order attempts to enter at a specific price or better.

Suppose a long limit is placed at:

20,100

Price reaches exactly:

20,100

and then moves higher.

Did the order fill?

Historical candles may not reveal:

• Order queue position

• Available contracts

• Bid and ask behavior

• Whether the market traded enough volume at the price

A conservative backtest may require price to trade slightly through the level before counting the fill.

The rule should be decided in advance.

  1. Missed Limit Orders

Suppose the entry limit is:

20,100

Price only reaches:

20,101

and then moves to the target.

The trade is a missed entry.

The trader should not move the entry one point higher after seeing the move succeed.

Missed trades are part of the strategy’s real behavior.

  1. Market-Order Entries

A market order enters at the next available price.

Historical testing often assumes the tester received the visible candle price.

Live execution may include slippage.

A realistic test may add:

• A fixed slippage estimate

• Different slippage for normal and news conditions

• Actual bid and ask data when available

The assumption should be documented.

  1. Define the Stop Loss

The stop rule must explain where the setup becomes invalid.

Possible methods include:

• Beyond a defined swing

• Beyond a support or resistance zone

• Fixed point distance

• Volatility-based distance

• Model-specific invalidation

The tester cannot widen the stop after seeing that the original stop would have lost.

  1. Initial Stop Versus Managed Stop

Separate the initial stop from later management.

Initial stop:

The maximum risk when the trade begins.

Managed stop:

A stop moved according to a tested rule after price reaches a specific condition.

The backtest should record:

• Initial risk

• Time the stop was moved

• New stop location

• Reason for the move

Moving the stop randomly during testing creates results that cannot be reproduced.

  1. Define the Target

The target rule may be based on:

• A fixed R-multiple

• Previous high or low

• Session liquidity

• Range boundary

• Model-specific target

The target should be known before the trade result is revealed.

A tester cannot select the highest price of the move after the fact and call it the target.

  1. Fixed Target Example

Entry:

20,000

Stop:

19,980

Risk:

20 points

A 2R target is:

20,040

A 3R target is:

20,060

The test should state which target is being evaluated.

Do not count the trade as a 3R winner when price only reached 2R.

  1. Variable Targets

A variable target changes according to market structure or liquidity.

This can be valid, but the selection rule must be objective.

Weak rule:

“Target the next good level.”

Stronger rule:

“Target the nearest qualifying external liquidity area that provides at least the required minimum risk-to-reward.”

The word qualifying must be defined by the strategy.

  1. Define Trade Management

Management can strongly affect expectancy.

Possible decisions include:

• Full exit at one target

• Partial profit

• Break-even movement

• Structure-based trailing

• Time-based exit

• Closing before major news

Each method should be tested separately or applied consistently.

  1. Partials Must Be Calculated Correctly

Suppose a trader enters:

Four contracts

Two contracts exit at:

+1R

Two contracts exit at:

+3R

Total result:

Two contracts × 1R = 2R units

Two contracts × 3R = 6R units

Combined:

8R units

Divide by four original contracts:

8 ÷ 4 = +2R average result

The trade did not produce +4R.

The correct weighted result is +2R.

  1. Define Break-Even Rules

A break-even rule should state:

• What price condition must occur

• When the stop moves

• Whether fees are included

• Whether the stop moves exactly to entry

Example:

Move the stop to entry only after price reaches +2R.

This can be tested.

“Move to break even when I feel uncomfortable” cannot be tested consistently.

  1. Define Time-Based Exits

A strategy may require closing at a specific time.

Example:

Close any remaining position at:

11:30 AM Eastern Time

The backtest should use the price realistically available at that time.

A time exit may reduce large winners but also prevent afternoon reversals.

Its effect must be measured rather than assumed.

  1. Define Same-Candle Ambiguity

A historical candle may touch both the stop and target.

Example:

Long entry:

20,000

Stop:

19,980

Target:

20,040

Five-minute candle high:

20,045

Five-minute candle low:

19,975

Both the target and stop were reached during the candle.

A basic candle chart may not reveal which occurred first.

Possible solutions include:

• Review a lower timeframe

• Use tick or one-minute data

• Count the stop first as a conservative assumption

• Mark the result as ambiguous and exclude it under a predefined rule

Do not automatically count the favorable outcome.

  1. Conservative Assumptions

When data cannot reveal the exact result, conservative assumptions help prevent inflated performance.

Examples include:

• Stop counted first when sequence is unknown

• Slippage added to market orders

• Exact touches not counted as limit fills

• Fees deducted

• Missed entries recorded honestly

Conservative testing may underestimate performance slightly.

Optimistic testing can create a false edge.

  1. Prevent Look-Ahead Bias

Look-ahead bias occurs when the tester uses information that would not have been available at the time of the decision.

Examples include:

• Seeing the full day before marking levels

• Knowing which side of the range eventually broke

• Drawing support after seeing the reaction

• Changing bias after seeing the target

• Selecting only successful liquidity sweeps

The chart should be advanced one candle at a time whenever possible.

  1. Bar Replay

Bar replay hides future candles and reveals historical price action gradually.

A useful replay process is:

  1. Select the date without reviewing the complete session.

  2. Pause before the trading window.

  3. Complete the premarket analysis.

  4. Advance price one candle at a time.

  5. Record decisions before revealing the outcome.

  6. Save screenshots.

Replay more closely reproduces the uncertainty experienced in live trading.

  1. Avoid Scrubbing Ahead

Scrubbing ahead means moving quickly through the chart until an obvious setup or result appears.

This introduces hindsight.

The tester may unconsciously:

• Ignore unclear setups

• Stop only at winning examples

• Know where the daily high and low will form

• Adjust levels based on future movement

Replay should move at a controlled pace.

  1. Blind Testing

Blind testing means the tester does not know the date’s final outcome before analyzing it.

Possible methods include:

• Randomly selected dates

• Hiding the date

• Using replay software

• Having another person select sessions

Blind testing improves the quality of the experiment because the result is unknown.

  1. In-Sample Testing

In-sample data is used to develop or refine the strategy.

The trader may study a historical period and determine:

• Which rules appear useful

• Which stop method fits

• Which session produces opportunity

• Which variables should be recorded

There is nothing wrong with developing rules on historical data.

The danger is judging the final strategy only on the same data used to create it.

  1. Out-of-Sample Testing

Out-of-sample data is a separate historical period not used to build the rules.

After the strategy is defined, it is applied to this unseen period without changing the method.

This helps answer:

Did the strategy work only because the rules were fitted to the original sample?

A strategy that performs well in development but fails badly on unseen data may be overfit.

  1. Training, Validation, and Test Sets

A more advanced process may divide data into three sections.

Training set:

Used to develop the initial idea.

Validation set:

Used to compare reasonable rule variations.

Test set:

Used for the final evaluation after the rules are locked.

The final test set should remain untouched until the strategy is complete.

This separation reduces the chance of repeatedly adjusting the strategy to one historical period.

  1. What Is Overfitting?

Overfitting occurs when a strategy is designed too precisely around historical data.

It may perform extremely well on the sample used to create it but poorly on new data.

Possible signs include:

• Too many conditions

• Very specific candle sizes

• Exact times chosen from a small sample

• Many filters added after individual losses

• Performance collapsing with small rule changes

• Strong results on one month but weak results elsewhere

An overfit strategy memorizes the past rather than capturing a broader market behavior.

  1. Example of Overfitting

Initial rule:

Trade the first valid setup during the New York morning.

After one loss, the tester adds:

No trades on Tuesdays.

After another loss:

No trades when the overnight range is above 127 points.

After another loss:

Only trade if the confirmation candle body is between 22 and 31 points.

The strategy may eventually remove every historical loss.

It may also become too specific to work in the future.

  1. Robust Rules

A robust rule works across a reasonable range of conditions.

For example, a strategy should not completely collapse because:

• The entry changes by one point

• The stop changes by two points

• The session begins five minutes later

• One month is removed

Small changes may affect results.

They should not destroy the entire edge.

  1. Sensitivity Testing

Sensitivity testing changes one variable slightly to see whether the results remain stable.

Examples:

Original stop:

20 points

Test alternatives:

18, 22, and 25 points

Original target:

3R

Test alternatives:

2.5R and 3.5R

Original window:

9:30 to 11:30

Test alternatives:

9:45 to 11:30 and 9:30 to 11:15

If only one exact setting produces profit, the strategy may be fragile.

  1. Change One Variable at a Time

Suppose the trader changes:

• Stop

• Target

• Trading window

• Confirmation

at the same time.

If results improve, the trader cannot identify which change caused the improvement.

A controlled test changes one variable while the others remain fixed.

  1. Create a Version Number

Every rule change should create a new strategy version.

Example:

Model 1.0

Original rules

Model 1.1

Different target method

Model 1.2

News filter added

This prevents results from several different rule sets being combined into one sample.

  1. Do Not Change Rules Mid-Sample

Suppose the tester plans to collect 100 trades.

After 30 trades, several losses occur.

The trader changes the stop for the remaining 70 trades.

The final 100-trade result combines two different methods.

Instead:

• Complete the original test

• Record the idea for improvement

• Begin a new test with the revised rules

Finishing the sample provides an honest baseline.

  1. Record Every Qualified Setup

Selective testing occurs when the trader records only examples that look clean or successful.

Every setup meeting the written rules should be included.

This includes:

• Winners

• Losses

• Break-even trades

• Missed fills

• Trades that look unattractive

• Trades occurring after losing days

• Trades that produce immediate stops

If the trader would have been allowed to take it live, it belongs in the test.

  1. Record No-Trade Sessions

A session without a qualified setup still provides useful information.

Record:

• Date

• Market condition

• Why no trade qualified

• Whether price moved without the setup

• Whether the trader would have felt FOMO

This helps measure true setup frequency.

  1. Define the Unit of Observation

Decide what one record represents.

Possible units include:

• One qualified setup

• One trading day

• One session

• One directional attempt

For strategy statistics, one row commonly represents one trade.

Session-level information can be stored in additional columns.

  1. Core Data Fields

Each trade record should include:

• Date

• Market

• Direction

• Setup version

• Session

• Entry time

• Entry price

• Stop price

• Target price

• Stop distance

• Position size

• Planned risk

• Result in dollars

• Result in R

• Fees

• Slippage

• Maximum favorable excursion

• Maximum adverse excursion

• Screenshot reference

• Notes

  1. Context Data Fields

Useful contextual fields may include:

• Higher-timeframe bias

• Market condition

• Premium, discount, or equilibrium

• Support or resistance location

• Liquidity condition

• Overnight range size

• News day

• Day of week

• First or second trade

• Setup quality score

• Rule-following score

The strategy conditions should be recorded as objective values whenever possible.

  1. Maximum Favorable Excursion

Maximum favorable excursion, commonly called MFE, is the greatest amount price moved in the trade’s favor before the trade closed.

Example:

Long entry:

20,000

Price reaches:

20,060

Trade later closes at:

20,030

MFE:

60 points

If initial risk was 20 points:

MFE in R:

60 ÷ 20 = 3R

The realized result was:

30 ÷ 20 = 1.5R

MFE helps evaluate whether the management method captures enough of the available move.

  1. Maximum Adverse Excursion

Maximum adverse excursion, commonly called MAE, is the greatest amount price moved against the trade before it closed.

Example:

Long entry:

20,000

Price falls to:

19,988

Then rises to the target.

MAE:

12 points

If the initial stop was 20 points:

MAE:

12 ÷ 20 = 0.6R

MAE can help evaluate stop placement.

It should not be used to tighten stops until every historical winner barely survives.

  1. MFE and Target Analysis

Suppose 100 winning trades show:

Average MFE:

3.4R

Median MFE:

2.7R

Only 25 percent reach:

4R

A 4R target may create large winners but may be reached infrequently.

The tester can compare:

• 2R target results

• 3R target results

• 4R target results

The best target is not automatically the one producing the largest individual winner.

It should support the best overall expectancy and acceptable drawdown.

  1. MAE and Stop Analysis

Suppose many winning trades experience:

0.8R adverse movement

before reaching the target.

Moving the stop to:

0.5R

would remove many eventual winners.

However, if most winning trades never exceed:

0.3R adverse movement

a smaller stop may deserve separate testing.

The stop should not be adjusted based on one example.

  1. Record Rule Violations Separately

A backtest should represent perfect rule execution.

Forward testing and live trading may include behavioral mistakes.

When reviewing manually tested sessions, record any accidental deviations separately.

Do not quietly change the official result to match the mistake.

  1. Data Accuracy

A spreadsheet with hundreds of inaccurate rows is less useful than a smaller clean sample.

Check for:

• Incorrect formulas

• Duplicate trades

• Missing fees

• Wrong point values

• Incorrect long or short calculations

• Dates in the wrong session

• Trades from different strategy versions combined

Data should be reviewed regularly.

  1. Preliminary Sample Size

A small preliminary sample can show whether the idea is worth studying further.

Approximately 20 to 30 trades may help reveal:

• Whether the setup can be identified consistently

• Whether the rules are incomplete

• Whether the stop is obviously unrealistic

• Whether the setup is too rare

This sample is not strong enough for confident conclusions.

  1. Developing Sample Size

A sample of approximately 50 to 100 qualified trades provides more useful information.

It may begin to reveal:

• Win rate range

• Average R

• Common losing streaks

• Setup frequency

• Differences among market conditions

However, 100 trades are not a magical guarantee of reliability.

The quality and diversity of the sample matter.

  1. Larger Sample Size

A larger sample may include:

• 200 trades

• 300 trades

• Several market environments

• Multiple months or years

Larger samples are especially useful when the trader wants to divide results into categories.

If 100 trades are divided into ten categories, each category may contain too little data to support conclusions.

  1. Sample Size Depends on Setup Frequency

A setup that appears five times per day can reach 100 trades quickly.

A setup that appears twice per month may require several years.

The trader should not weaken the setup rules simply to collect more trades.

A rare setup may still be useful.

Its lower frequency should be considered when evaluating income expectations and opportunity.

  1. Sample Size Does Not Fix Biased Data

One thousand cherry-picked trades do not create a reliable test.

A useful sample requires:

• Consistent rules

• Complete trade inclusion

• Realistic assumptions

• Multiple market conditions

• Accurate records

Quantity cannot repair poor methodology.

  1. Use Multiple Market Regimes

A market regime is a broad type of market environment.

Examples include:

• Strong bullish trend

• Strong bearish trend

• Low-volatility range

• High-volatility range

• News-driven market

• Slow overnight conditions

A strategy tested only during a strong trend may perform differently during extended consolidation.

  1. Test Across Different Months

Testing several months helps avoid building conclusions around one unusual period.

Record whether the sample includes:

• High-volatility months

• Low-volatility months

• Bullish periods

• Bearish periods

• Holiday periods

• Major economic-event cycles

The goal is not to force the strategy to trade every condition.

The goal is to understand where it performs.

  1. Chronological Testing

Chronological testing moves through historical dates in order.

Advantages include:

• Natural exposure to changing conditions

• Easier tracking of drawdown

• Realistic setup frequency

• Better understanding of losing streaks

Random testing can also be useful for reducing familiarity.

Both methods can be used at different stages.

  1. Win Rate

Win rate is calculated as:

Winning trades ÷ total completed trades × 100

Example

Total trades:

100

Winners:

45

Win rate:

45 ÷ 100 × 100 = 45 percent

Win rate does not determine profitability by itself.

  1. Loss Rate

Loss rate is calculated as:

Losing trades ÷ total completed trades × 100

If there are no separate break-even trades:

Loss rate = 100 percent − win rate

Example

Win rate:

45 percent

Loss rate:

55 percent

  1. Average Winner

Average winner is:

Total profit from winning trades ÷ number of winners

Example

Total winning R:

108R

Number of winners:

45

Average winner:

108 ÷ 45 = 2.4R

  1. Average Loser

Average loser is:

Total loss from losing trades ÷ number of losses

Use the absolute value for expectancy calculations.

Example

Total losing R:

−55R

Number of losses:

55

Average loser:

1R

  1. Expectancy

Expectancy estimates the average result per trade across the tested sample.

Formula:

(Win rate × average winner) − (Loss rate × average loser)

Example

Win rate:

45 percent

Loss rate:

55 percent

Average winner:

2.4R

Average loser:

1R

Calculation

0.45 × 2.4R = 1.08R

0.55 × 1R = 0.55R

Expectancy:

1.08R − 0.55R = +0.53R per trade

This means the historical sample produced an average of approximately +0.53R per completed trade before any omitted costs.

  1. Expectancy Does Not Mean Every Trade Earns the Average

An expectancy of +0.53R does not mean the next trade will earn 0.53R.

The next trade may produce:

• −1R

• +2.4R

• Break even

• Another result allowed by management

Expectancy becomes visible across many trades.

  1. Gross Profit

Gross profit is the total of all winning trades before subtracting losses.

Example:

45 winners

Average winner:

2.4R

Gross profit:

45 × 2.4R = 108R

  1. Gross Loss

Gross loss is the total absolute value of all losing trades.

Example:

55 losses

Average loss:

1R

Gross loss:

55 × 1R = 55R

  1. Profit Factor

Profit factor is:

Gross profit ÷ gross loss

Using the example:

Gross profit:

108R

Gross loss:

55R

Profit factor:

108 ÷ 55 = approximately 1.96

A profit factor above 1 means gross profit exceeded gross loss in the sample.

A higher number is generally better, but it should be interpreted with sample size and drawdown.

  1. Net R

Net R is:

Total winning R − total losing R

Example

Gross profit:

108R

Gross loss:

55R

Net result:

108R − 55R = +53R

Across 100 trades:

Average result:

53R ÷ 100 = +0.53R per trade

This matches the expectancy calculation.

  1. Break-Even Win Rate

Break-even win rate is the win rate required to avoid loss before costs for a fixed average reward and risk.

For a strategy risking 1R to make 1R:

Break-even win rate:

50 percent

For a strategy risking 1R to make 2R:

Break-even win rate:

1 ÷ (1 + 2) = 33.3 percent

For a strategy risking 1R to make 3R:

Break-even win rate:

1 ÷ (1 + 3) = 25 percent

Trading costs raise the actual break-even requirement.

  1. Average Risk-to-Reward Versus Planned Risk-to-Reward

The planned risk-to-reward may be:

1:3

However, actual management may produce:

Average winner:

1.8R

Average loser:

1.1R

The true strategy performance should use the realized numbers.

A plan claiming 1:3 does not matter if the trader consistently exits early and allows losses to exceed 1R.

  1. Payoff Ratio

The payoff ratio compares the average winner with the average loser.

Formula:

Average winner ÷ average loser

Example

Average winner:

2.4R

Average loser:

1R

Payoff ratio:

2.4 ÷ 1 = 2.4

The average winner is 2.4 times the average loss.

  1. Maximum Drawdown

Maximum drawdown is the largest decline from a previous equity high during the test.

Example equity sequence in R:

0R

+3R

+5R

+4R

+2R

+1R

+4R

The account peak was:

+5R

The lowest point before a new peak was:

+1R

Drawdown:

5R − 1R = 4R

Maximum drawdown in this sequence is:

4R

  1. Why Trade Order Matters

Two strategies may produce the same net result but create different experiences.

Strategy A:

Losses are spread out.

Strategy B:

Ten losses occur consecutively.

Both may finish at +20R.

Strategy B requires more financial and emotional tolerance.

Chronological testing preserves the real order of results.

  1. Longest Losing Streak

Record the greatest number of consecutive losses.

Example:

Longest losing streak:

Seven trades

If risk per trade is:

$150

Seven full losses equal:

7 × $150 = $1,050

The risk plan should be able to survive this historical streak and the possibility of a larger future streak.

  1. Historical Maximum Is Not a Guaranteed Maximum

If the largest tested losing streak is seven, the future can still produce:

• Eight losses

• Ten losses

• More

The sample only shows what occurred historically.

A safety margin should be included in risk planning.

  1. Longest Winning Streak

Winning streaks should also be recorded.

They can create:

• Overconfidence

• Size increases

• Unrealistic expectations

A profitable strategy does not win in a smooth pattern.

Both winning and losing clusters occur.

  1. Recovery Factor

A simple recovery factor can be calculated as:

Net profit ÷ maximum drawdown

Example

Net result:

+30R

Maximum drawdown:

6R

Recovery factor:

30 ÷ 6 = 5

This helps compare the amount earned with the severity of the drawdown.

It should not be used alone.

  1. Average Trade Duration

Record how long trades remain open.

This helps determine:

• Whether the strategy is intraday or scalp-oriented

• Whether economic news may occur during trades

• Whether traders can realistically manage the positions

• Whether the account allows the holding period

A strategy with an average 90-minute hold may not fit a trader who can watch the market for only 30 minutes.

  1. Setup Frequency

Calculate:

Total qualified setups ÷ number of tested sessions

Example

Qualified trades:

60

Sessions tested:

100

Average frequency:

60 ÷ 100 = 0.6 trades per session

This suggests the setup appears fewer than once per session on average.

The trader should not expect daily activity.

  1. No-Trade Rate

No-trade rate is:

Sessions without a qualified setup ÷ total sessions

Example

No-trade sessions:

40

Total sessions:

100

No-trade rate:

40 percent

A trader testing this strategy should be prepared for many sessions without an entry.

  1. Distribution of Results

Average results do not show every detail.

Suppose the average winner is:

2R

The winners may be distributed as:

Many 1R winners

A few 5R winners

Or:

Most winners near 2R

These strategies may behave differently even with the same average.

Review the distribution of:

• Winners

• Losses

• Trade duration

• MFE

• MAE

  1. Median Result

The median is the middle result when trades are ordered from smallest to largest.

The median can be useful when a few unusually large winners increase the average.

Example:

Most winners are approximately 1.5R.

One trade produces 10R.

The average winner may appear high.

The median reveals what a typical winner looks like.

  1. Outliers

An outlier is an unusually large or unusual result.

Examples include:

• A 12R news winner

• Severe slippage creating a −3R loss

• A data error

Do not automatically delete outliers.

Determine whether they represent:

• A real possible market event

• A rule violation

• Incorrect data

• A prohibited condition

Valid extreme results belong in the sample.

  1. Segment by Direction

Compare long and short trades separately.

Record:

Long win rate:

Long expectancy:

Long maximum drawdown:

Short win rate:

Short expectancy:

Short maximum drawdown:

The strategy may perform differently by direction.

Do not remove one direction based on only a few trades.

  1. Segment by Day of Week

Compare:

Monday

Tuesday

Wednesday

Thursday

Friday

A day may appear weak because of:

• Small sample size

• One extreme loss

• Specific news events

Use caution before adding a weekday filter.

  1. Segment by Time of Day

Compare setup performance across periods.

Example:

9:30 to 10:00

10:00 to 10:30

10:30 to 11:00

11:00 to 11:30

Record:

• Number of trades

• Win rate

• Expectancy

• Average stop

• Average target

A strategy may have a stronger window.

  1. Segment by Market Condition

Compare results during:

• Bullish trend

• Bearish trend

• Range

• High volatility

• Low volatility

• Pullback

• Expansion

This can reveal whether the strategy’s edge depends on a specific environment.

  1. Segment by Location

Compare trades entered:

• In premium

• In discount

• Near equilibrium

• At support

• At resistance

• In the middle of a range

This helps determine whether location meaningfully changes performance.

  1. Segment by Setup Quality

A quality score may be useful if it is defined consistently.

Example:

A setup receives one point for each optional confluence factor.

The required setup rules remain unchanged.

Then compare:

Base setups

Base setup plus one confluence

Base setup plus two or more confluences

Do not assign quality scores based on whether the trade won.

  1. Small Subgroups Are Unreliable

Suppose the full test contains:

100 trades

Only six occurred on Friday.

Five of the six lost.

It may be tempting to ban Friday trades.

Six trades are a very small subgroup.

More Friday data is required before drawing a strong conclusion.

  1. Statistical Uncertainty

A backtest result is an estimate of a strategy’s behavior.

A 60 percent win rate across ten trades is not as reliable as a 60 percent win rate across 500 trades.

Small samples can be heavily affected by chance.

The reported win rate should be understood as:

“What happened in this sample,”

not:

“The exact permanent win rate of the strategy.”

  1. Confidence Ranges in Simple Terms

Suppose a strategy wins:

60 of 100 trades

The observed win rate is:

60 percent

The strategy’s true future win probability may be somewhat higher or lower.

A larger sample generally produces a narrower range of uncertainty.

The trader does not need advanced statistics to understand the key lesson:

Do not treat one sample percentage as an exact law.

  1. Monte Carlo Analysis

Monte Carlo analysis rearranges or resamples trade results many times to estimate different possible equity paths.

The original backtest may show a maximum drawdown of:

6R

When the same wins and losses are rearranged, some simulated sequences may produce:

10R

12R

or larger drawdowns.

This helps demonstrate that the historical order may have been unusually favorable or unfavorable.

  1. Why Monte Carlo Matters

Suppose a strategy has positive expectancy.

The trader may still fail because the position size cannot survive a difficult sequence.

Monte Carlo testing can help estimate:

• Possible losing streaks

• Possible drawdowns

• Range of ending results

• Risk of crossing an account threshold

It does not predict the exact future path.

It provides a broader view of sequence risk.

  1. Fees and Commissions

All realistic costs should be included.

Possible costs include:

• Brokerage commission

• Exchange fees

• Clearing fees

• Platform fees

• Data costs

• Prop account costs

A high-frequency strategy may appear profitable before costs and weak after costs.

  1. Cost Per Trade Example

Average round-trip cost:

$4

Total trades:

200

Total execution cost:

200 × $4 = $800

If the gross strategy profit is:

$2,000

Net before other costs:

$2,000 − $800 = $1,200

Costs removed 40 percent of the gross result.

  1. Slippage

Slippage is the difference between the expected execution price and the actual fill.

Backtests using candle closes may ignore slippage.

Possible testing assumptions include:

• One tick of slippage per market order

• Larger slippage around news

• Actual recorded fills from forward testing

The assumption should be realistic for the market and order type.

  1. Spread

The bid-ask spread can affect entries and exits.

The chart may display a last-traded price that does not reflect the exact price available to buy or sell.

This matters most when:

• Targets are small

• Markets are less liquid

• Trading occurs overnight

• News creates wider spreads

  1. Taxes and Business Costs

Taxes are not normally included in strategy expectancy because they depend on personal circumstances.

However, the trader should distinguish:

Strategy performance

from:

Personal net income after taxes and business expenses

A profitable backtest does not automatically represent spendable income.

  1. Backtest in Points and R

Recording points helps evaluate market movement.

Recording R helps compare trades with different stop distances.

Example:

Trade A:

20-point risk

40-point profit

Result:

+2R

Trade B:

40-point risk

80-point profit

Result:

+2R

The point results differ.

The trade quality relative to risk is the same.

  1. Backtest Dollar Results Carefully

Dollar results depend on contract size.

A strategy can show the same R performance using:

• One MNQ

• Five MNQ

• One NQ

The dollar outcome changes.

The underlying edge does not improve because more contracts are used.

  1. Do Not Build Results With Maximum Size

First test the strategy in:

• Points

• R

Then apply reasonable position sizing.

Starting with oversized dollar projections can distract from whether the model actually has an edge.

  1. Separate Strategy From Position Sizing

Strategy test:

Does the setup produce positive expectancy in R?

Position-sizing test:

What risk level can survive the drawdown?

A strategy can have positive expectancy and still fail an account when size is too large.

  1. Equity Curve

An equity curve shows cumulative performance over time.

The horizontal axis may show trade number or date.

The vertical axis may show:

• Dollars

• Points

• R

A useful equity curve can reveal:

• Growth

• Drawdown

• Flat periods

• Sudden dependence on one large trade

• Changes in performance

  1. Smooth Equity Curves Can Be Suspicious

Real trading performance is rarely perfectly smooth.

An unusually smooth curve may result from:

• Ignoring losses

• Using future information

• Adjusting rules in hindsight

• Unrealistic fills

A strategy with an edge can still experience irregular results.

  1. Rolling Performance

Rolling analysis examines a moving group of trades.

Example:

Calculate expectancy for every rolling 20-trade window.

This can reveal:

• Periods of strong performance

• Periods of weak performance

• Whether the edge remains stable

• Whether one early period created most of the profit

  1. Flat Periods

A strategy may experience long periods without new equity highs.

Record:

• Longest time between equity peaks

• Longest number of trades without a new high

A trader must be prepared to follow the strategy during periods when it appears to be doing nothing.

  1. Regime Dependence

Suppose nearly all profit comes from high-volatility bullish months.

The strategy may be regime-dependent.

This does not automatically make it invalid.

The trader must decide whether they can identify the supporting regime without hindsight.

  1. Compare Results With a Baseline

A baseline can help determine whether a complex filter adds value.

Example:

Baseline strategy:

All qualified setups

Filtered strategy:

Only setups with an additional condition

Compare:

• Number of trades

• Expectancy

• Profit factor

• Maximum drawdown

• Opportunity frequency

A filter that slightly raises win rate but removes most profit may not improve the system.

  1. More Filters Are Not Always Better

A filter may:

• Reduce losses

• Reduce winners

• Reduce opportunity

• Increase complexity

The correct question is not:

Did the filter remove losing trades?

The correct question is:

Did the filter improve the complete performance profile on unseen data?

  1. Avoid Outcome-Based Labeling

Do not label winning trades as:

Clean

Perfect

High quality

and losing trades as:

Messy

Low quality

after seeing the result.

Setup quality must be scored before the outcome is known.

  1. Screenshot Before Outcome

Save a screenshot at the entry decision.

The screenshot should show:

• Current structure

• Marked levels

• Setup conditions

• Entry

• Stop

• Target

Then save another screenshot after the trade ends.

This helps prevent hindsight from changing the story.

  1. Written Decision Before Outcome

Before revealing future candles, record:

Setup valid:

Yes or no

Entry:

Stop:

Target:

Risk-to-reward:

Reason:

Then advance the replay.

The written decision creates an audit trail.

  1. Inter-Rater Reliability

A more advanced test may ask another trained person to apply the same rules independently.

If both testers identify very different setups, the rules may be too subjective.

The goal is not perfect agreement.

The strategy should be clear enough to produce substantial consistency.

  1. Backtesting Discretionary Strategies

A discretionary strategy allows some judgment.

It can still be backtested.

The trader should define:

• Which decisions are discretionary

• Which rules are fixed

• How the judgment is scored

• What information was visible at the time

Discretion should not mean unlimited hindsight.

  1. Create a Decision Rubric

A rubric converts judgment into structured categories.

Example:

Higher-timeframe clarity:

0 to 2 points

Location quality:

0 to 2 points

Confirmation quality:

0 to 2 points

Target room:

0 to 2 points

The score should be assigned before the result.

Later, the trader can compare performance by score.

  1. Automation Versus Manual Testing

Manual testing is useful when:

• The rules include visual judgment

• The trader is still learning the setup

• Context matters

Automated testing is useful when:

• Rules can be expressed precisely

• Large samples are needed

• Several variables must be compared

Automated results are only as accurate as the code and data.

  1. Coding Does Not Remove Bias

A coded backtest can still be misleading when:

• Rules are overfit

• Data is inaccurate

• Future information leaks into calculations

• Fees are excluded

• Fills are unrealistic

• The code contains errors

Automation increases speed.

It does not guarantee validity.

  1. Validate Calculations Manually

Before trusting an automated backtest, manually verify several trades.

Check:

• Entry time

• Entry price

• Stop

• Target

• Position sizing

• Fees

• Result

A coding error repeated across thousands of trades can create a convincing but false result.

  1. Backtesting Workflow

A complete workflow may include:

  1. Write the research question.

  2. Define the market and timeframe.

  3. Define every rule.

  4. Select the historical period.

  5. Choose in-sample and out-of-sample data.

  6. Test one candle at a time.

  7. Record every qualified setup.

  8. Include realistic costs and fills.

  9. Calculate core statistics.

  10. Review drawdown and losing streaks.

  11. Segment results carefully.

  12. Perform sensitivity testing.

  13. Test unseen data.

  14. Forward test in simulation.

  15. Review before considering live risk.

  16. Phase One: Concept Test

The first phase determines whether the concept is clear enough to study.

Suggested purpose:

• Test 20 to 30 setups

• Find unclear rules

• Confirm data fields

• Identify execution problems

Do not optimize heavily during this phase.

  1. Phase Two: Structured Backtest

After the rules are clarified:

• Lock the strategy version

• Test at least 50 to 100 setups

• Include all qualified trades

• Calculate expectancy and drawdown

• Review major categories

This phase creates the first serious evidence.

  1. Phase Three: Out-of-Sample Test

Apply the locked rules to unseen data.

Do not change the strategy during this phase.

Compare:

• Win rate

• Average winner

• Average loser

• Expectancy

• Profit factor

• Drawdown

Large deterioration may indicate overfitting or changing market conditions.

  1. Phase Four: Forward Test

Forward testing applies the strategy as new price action develops.

It can be performed in:

• Simulation

• Paper trading

• Very small size after sufficient evidence

Forward testing adds factors that historical testing may miss:

• Waiting

• Missed entries

• Platform behavior

• Real-time uncertainty

• Emotional reaction

• Actual execution

  1. Backtest Versus Forward Test

Backtest:

Uses historical data.

Forward test:

Uses new data as it occurs.

Backtesting can collect many trades quickly.

Forward testing better represents the waiting and decision pressure of live execution.

Both are necessary for a complete development process.

  1. When a Backtest Fails

A strategy may fail the test because:

• Expectancy is negative

• Drawdown is unacceptable

• The setup cannot be identified consistently

• Costs remove the edge

• Results depend on one trade

• Unseen data performs poorly

The correct response is not to hide the result.

  1. Rejecting an Idea

A rejected strategy has saved the trader money.

Record:

• What was tested

• Why it failed

• What was learned

• Whether a different research question is justified

Do not continue modifying the idea forever simply because time was already invested.

  1. When to Modify a Strategy

A modification may be justified when the data reveals a consistent pattern.

Example:

Trades entered in the middle of a range show negative expectancy across a meaningful sample.

The trader may test a new version excluding middle-of-range entries.

This should become a new experiment.

The original results should remain unchanged.

  1. Avoid Endless Optimization

A trader can continue testing filters until the historical results appear perfect.

Every new adjustment increases the chance of overfitting.

Stop optimizing when:

• Rules are understandable

• Results are robust

• Out-of-sample data remains acceptable

• Small parameter changes do not destroy performance

• The strategy fits the trader’s risk and schedule

  1. Determine Practical Fit

A strategy may be profitable but unsuitable for the trader.

Questions include:

Can I trade during the required hours?

Can I tolerate the longest losing streak?

Can I use the required stop size?

Can my account survive the drawdown?

Can I wait through the no-trade periods?

Can I execute the management method?

A mathematically positive strategy can still be a poor personal fit.

  1. Income Expectations

Do not multiply the best historical month by twelve and call it expected annual income.

A more responsible estimate considers:

• Average monthly result

• Weak months

• Drawdowns

• No-trade periods

• Costs

• Position-size limits

• Account rules

• Taxes

Historical performance should be presented as a range rather than a guaranteed salary.

  1. Scaling Backtest Results

Suppose the strategy produces:

Average expectancy:

+0.3R per trade

Average trades:

20 per month

Estimated monthly expectancy:

20 × 0.3R = +6R

If risk is:

$100 per trade

Theoretical average:

6 × $100 = $600 before costs

This is not a guaranteed monthly result.

Actual months may finish:

• Negative

• Flat

• Much higher

The calculation describes a long-run estimate.

  1. Risk Based on Drawdown

Suppose maximum historical drawdown is:

8R

The trader should not assume an 8R account buffer is sufficient.

A safety margin may be required because future drawdown can exceed the sample.

If the account can survive only the exact historical maximum, the position size may be too large.

  1. Common Risk Estimate

A trader may review:

• Historical maximum drawdown

• Monte Carlo drawdown

• Longest losing streak

• Account rules

• Emotional tolerance

Then choose risk small enough to survive a difficult period.

The exact amount is a personal and account-specific decision.

  1. Document the Final Strategy

After testing, create a final strategy document containing:

• Strategy version

• Market

• Timeframes

• Session

• Required conditions

• Entry rule

• Stop rule

• Target rule

• Management rule

• Risk rule

• No-trade conditions

• Tested sample

• Statistics

• Known weaknesses

• Conditions requiring review

The document becomes the standard for forward testing.

Common Beginner Mistake

“I went through the chart and found 50 winning examples.”

Finding winning examples is not the same as testing a strategy.

Imagine a trader scrolls through six months of NQ data.

The trader pauses only when a strong reversal is visible.

After seeing the reversal, the trader draws:

• A support zone

• A liquidity level

• A confirmation candle

The trader records a winning trade.

When a similar setup loses, the trader decides:

• The level was not clean enough

• The candle was too weak

• The session was unusual

• The setup did not really count

The final spreadsheet contains:

50 trades

45 winners

5 losses

Reported win rate:

90 percent

The test is unreliable because the trader:

• Saw the outcome before defining the setup

• Selected winners instead of consecutive sessions

• Changed the definition after losses

• Used future information

• Excluded unfavorable examples

A proper test would:

• Define the rules first

• Use replay

• Review consecutive or randomly selected sessions

• Record every qualified setup

• Preserve missed trades and losses

• Use realistic fills

The goal is not to prove the strategy works.

The goal is to discover how it actually performs.

Practical Example

Imagine a trader wants to test a bullish continuation concept on MNQ.

Research question

“When higher-timeframe structure is bullish and the required long setup forms during the New York morning, does a fixed 3R target produce positive expectancy?”

Market

MNQ

Higher-timeframe context

Four-hour chart

Setup chart

Five-minute chart

Entry window

9:30 AM to 11:30 AM Eastern Time

News rule

No new entry within the trader’s defined restricted period around major scheduled news.

Entry

Enter at the next available price after the required confirmation candle closes.

Stop

Place the stop at the model’s defined technical invalidation.

Target

Fixed 3R target.

Management

No partial profits.

No break-even movement.

Full stop or full target.

Costs

Estimated round-trip costs are included.

One tick of estimated slippage is applied to market entries and exits.

Sample

100 consecutive qualified setups across several months.

Recorded results

Total trades:

100

Winners:

42

Losses:

58

Win rate

42 ÷ 100 × 100 = 42 percent

Average winner

Full winners reach:

+3R

After costs and slippage, average net winner:

+2.9R

Average loss

Planned loss:

−1R

After costs and slippage, average net loss:

−1.05R

Expectancy

Win rate:

0.42

Loss rate:

0.58

Winning contribution

0.42 × 2.9R = 1.218R

Losing contribution

0.58 × 1.05R = 0.609R

Expectancy

1.218R − 0.609R = +0.609R per trade

Gross winning R

42 × 2.9R = 121.8R

Gross losing R

58 × 1.05R = 60.9R

Profit factor

121.8 ÷ 60.9 = 2.0

Net result

121.8R − 60.9R = +60.9R

Longest losing streak

Eight trades

Maximum historical drawdown

10.4R

No-trade sessions

The setup appeared during approximately 55 percent of tested sessions.

Initial conclusion

The strategy produced positive historical expectancy.

However, the trader does not immediately risk large live capital.

Additional questions remain:

• Does the result hold on unseen dates?

• Does the strategy depend on one market regime?

• Can the trader tolerate eight consecutive losses?

• Can the account survive more than 10.4R of drawdown?

• Can the trader follow a full-stop or full-target method live?

Out-of-sample test

The trader tests another 50 qualified setups from a different period.

Results

Winners:

18

Losses:

32

Win rate

18 ÷ 50 = 36 percent

Average winner

2.9R

Average loss

1.05R

Expectancy

0.36 × 2.9R = 1.044R

0.64 × 1.05R = 0.672R

Expectancy:

1.044R − 0.672R = +0.372R per trade

The out-of-sample expectancy is lower than the original test but remains positive.

Interpretation

The performance weakened on unseen data.

It did not completely collapse.

The trader now has:

• Positive in-sample expectancy

• Positive out-of-sample expectancy

• A known historical drawdown

• A known losing streak

• Evidence supporting forward testing

Forward-test plan

The trader plans to collect:

30 simulated trades

without changing the rules.

The trader will record:

• Missed entries

• Actual slippage

• Emotional reactions

• Rule violations

• Differences from backtest results

What does the example prove?

It does not prove the strategy will remain profitable.

It shows a structured process:

• Rules were defined first

• Costs were included

• A meaningful sample was tested

• Unseen data was evaluated

• Drawdown was considered

• Forward testing was required before increasing risk

Knowledge Check

Question 1

What is backtesting?

A. Searching historical charts for winning examples

B. Applying clearly defined rules to historical data and recording the results

C. Predicting future prices with certainty

D. Changing rules after every loss

Answer: B

Question 2

What should be completed before testing begins?

A. The expected payout

B. The strategy rules and research question

C. Only the target

D. The final win rate

Answer: B

Question 3

What is look-ahead bias?

A. Using information that would not have been available at the time of the trade

B. Testing several years of data

C. Recording fees

D. Using a stop loss

Answer: A

Question 4

Why is bar replay useful?

A. It reveals future price immediately.

B. It hides future candles and reproduces decision uncertainty.

C. It guarantees accurate fills.

D. It removes all subjectivity.

Answer: B

Question 5

What should happen when a limit order is not reached?

A. Move the entry after seeing the winner.

B. Record a missed trade according to the rules.

C. Count the trade as profitable.

D. Remove the date.

Answer: B

Question 6

What is same-candle ambiguity?

A. The entry and target are on different days.

B. A candle reaches both the stop and target without showing which occurred first.

C. The market creates an inside candle.

D. The tester forgets the date.

Answer: B

Question 7

What is a conservative response to unknown stop-target sequence?

A. Always count the target first.

B. Use lower-timeframe data or count the less favorable result under a predefined rule.

C. Delete the trade after seeing the result.

D. Double the target.

Answer: B

Question 8

What is in-sample data?

A. Data used to develop or refine the strategy

B. Data collected only from live trades

C. Data that cannot be reviewed

D. Future data

Answer: A

Question 9

What is out-of-sample data?

A. The same dates used to create the rules

B. A separate period used to test locked rules

C. Only losing trades

D. Data without commissions

Answer: B

Question 10

What is overfitting?

A. Creating a strategy that is too precisely designed around past data

B. Using a larger sample

C. Applying realistic slippage

D. Recording every trade

Answer: A

Question 11

What is sensitivity testing?

A. Changing several rules after every trade

B. Slightly changing one variable to see whether performance remains stable

C. Removing all losses

D. Testing only winning months

Answer: B

Question 12

Why should one variable be changed at a time?

A. So the trader can identify which change affected the results

B. So the sample becomes smaller

C. So drawdown disappears

D. So the win rate becomes exact

Answer: A

Question 13

Why should every qualified setup be recorded?

A. To prevent selective inclusion from inflating the results

B. To guarantee profit

C. To increase setup frequency

D. To reduce commissions

Answer: A

Question 14

What is MFE?

A. The largest amount price moved in the trade’s favor before exit

B. The largest account fee

C. The planned stop distance

D. The number of contracts

Answer: A

Question 15

What is MAE?

A. The largest amount price moved against the trade before exit

B. The final profit target

C. The market’s daily range

D. The average commission

Answer: A

Question 16

Is 20 to 30 trades enough to prove a strategy?

A. Yes

B. No, it is mainly useful for preliminary testing and rule clarification.

C. Only when all trades win

D. Only on NQ

Answer: B

Question 17

What determines the reliability of a sample?

A. Sample size alone

B. Size, rule consistency, data quality, and diversity of conditions

C. Only the win rate

D. Only the number of months

Answer: B

Question 18

What is expectancy?

A. The result the next trade must produce

B. The average result per trade across a sample

C. The largest winner

D. The target distance only

Answer: B

Question 19

A strategy has a 40 percent win rate, a 2R average winner, and a 1R average loss. What is expectancy?

A. −0.2R

B. 0R

C. +0.2R

D. +1R

Answer:

0.40 × 2R = 0.8R

0.60 × 1R = 0.6R

Expectancy:

0.8R − 0.6R = +0.2R

Correct answer: C

Question 20

What is profit factor?

A. Gross profit divided by gross loss

B. Win rate divided by trade count

C. Target divided by entry

D. Account balance divided by drawdown

Answer: A

Question 21

What is maximum drawdown?

A. The largest decline from a previous equity peak

B. The largest individual loss only

C. The smallest winner

D. The stop distance

Answer: A

Question 22

Why should the longest losing streak be recorded?

A. It helps evaluate financial and emotional survival requirements.

B. It guarantees the future streak cannot be longer.

C. It determines the contract point value.

D. It removes the need for risk management.

Answer: A

Question 23

Why should fees be included?

A. They can reduce or remove a small theoretical edge.

B. They improve expectancy.

C. They occur only during live trading and never matter.

D. They change the market structure.

Answer: A

Question 24

What is an equity curve?

A. A display of cumulative strategy performance over time

B. A support level

C. A market-volume indicator

D. A contract specification

Answer: A

Question 25

Why can subgroup analysis be misleading?

A. Small subgroups may produce extreme results by chance.

B. Every subgroup has identical performance.

C. Categories remove all bias.

D. Larger samples are less useful.

Answer: A

Question 26

What does Monte Carlo analysis help estimate?

A. Exact future trade order

B. Possible drawdowns and equity paths from different result sequences

C. Guaranteed profit

D. The next market high

Answer: B

Question 27

What is forward testing?

A. Applying the strategy to new price action as it develops

B. Looking farther ahead on a historical chart

C. Removing historical losses

D. Increasing position size

Answer: A

Question 28

What should happen when a strategy shows negative expectancy?

A. Hide the losing trades.

B. Record the result and reject or redesign the idea through a new test.

C. Increase position size.

D. Trade it live to recover.

Answer: B

Question 29

What should happen when strategy rules change?

A. Combine all results.

B. Create a new version and test it separately.

C. Delete the original test.

D. Keep only the new winners.

Answer: B

Question 30

What is the final purpose of backtesting?

A. To create the highest possible historical win rate

B. To gather honest evidence about how a defined strategy behaved

C. To guarantee future income

D. To eliminate all losing trades

Answer: B

Lesson Assignment

Complete this assignment before moving to Lesson 16.

Part 1: Define the Terms

Write one or two sentences explaining each term in your own words:

• Backtesting

• Hypothesis

• Look-ahead bias

• Bar replay

• In-sample data

• Out-of-sample data

• Overfitting

• Sensitivity testing

• Expectancy

• Profit factor

• Maximum drawdown

• Maximum favorable excursion

• Maximum adverse excursion

• Monte Carlo analysis

• Forward testing

Part 2: Write a Research Question

Complete:

Market:

Strategy version:

Direction:

Higher-timeframe condition:

Setup timeframe:

Trading window:

Entry condition:

Stop method:

Target method:

Management method:

News rule:

Minimum risk-to-reward:

Then write one testable research question.

Part 3: Create an Objective Checklist

Create yes-or-no questions covering:

• Correct market

• Correct session

• Higher-timeframe condition

• Bias

• Location

• Liquidity

• Confirmation

• Entry rule

• Stop rule

• Target rule

• Risk-to-reward

• News restrictions

A setup qualifies only when every required condition is satisfied.

Part 4: Define Execution Assumptions

Write rules for:

Market orders:

Limit orders:

Exact entry touches:

Slippage:

Fees:

Same-candle stop and target:

Missed entries:

Gap beyond entry:

Order expiration:

These assumptions must remain unchanged throughout the test.

Part 5: Build a Data Sheet

Create columns for:

• Trade number

• Date

• Day of week

• Market

• Strategy version

• Direction

• Session

• Higher-timeframe bias

• Market condition

• Price location

• Entry time

• Entry price

• Stop price

• Target price

• Risk in points

• Reward in points

• Planned R

• Result in R

• Result in dollars

• Fees

• Slippage

• MFE

• MAE

• Trade duration

• Setup screenshot

• Exit screenshot

• Notes

Part 6: Preliminary Test

Test 20 to 30 qualified setups.

The goal is not to prove profitability.

Identify:

• Unclear rules

• Execution ambiguity

• Missing spreadsheet columns

• Unrealistic stop placement

• Unrealistic targets

• Setup frequency

After completing the preliminary sample, lock the first formal strategy version.

Part 7: Structured Test

Test at least 50 to 100 qualified setups using the locked rules.

Record every qualified trade.

Do not:

• Change the stop

• Change the target

• Add filters

• Remove losses

• Move entries after seeing the outcome

Complete the full sample before evaluating changes.

Part 8: Calculate Core Statistics

Calculate:

Total trades:

Winners:

Losses:

Break-even trades:

Win rate:

Loss rate:

Average winner in R:

Average loser in R:

Expectancy:

Gross profit:

Gross loss:

Profit factor:

Net R:

Payoff ratio:

Maximum drawdown:

Longest losing streak:

Longest winning streak:

Average trade duration:

Setup frequency:

No-trade rate:

Part 9: Expectancy Exercises

Scenario A

Win rate:

50 percent

Average winner:

1.8R

Average loser:

1R

Calculation:

0.50 × 1.8R = 0.9R

0.50 × 1R = 0.5R

Expectancy:

+0.4R per trade

Scenario B

Win rate:

35 percent

Average winner:

3R

Average loser:

1R

Calculation:

0.35 × 3R = 1.05R

0.65 × 1R = 0.65R

Expectancy:

+0.40R per trade

Scenario C

Win rate:

70 percent

Average winner:

0.6R

Average loser:

1.5R

Calculation:

0.70 × 0.6R = 0.42R

0.30 × 1.5R = 0.45R

Expectancy:

−0.03R per trade

Part 10: Profit-Factor Exercise

Gross winning R:

80R

Gross losing R:

50R

Profit factor:

80 ÷ 50 = 1.6

Gross winning R:

45R

Gross losing R:

60R

Profit factor:

45 ÷ 60 = 0.75

The second sample lost more than it gained.

Part 11: Drawdown Exercise

Use the following cumulative equity results:

0R

+2R

+4R

+3R

+1R

0R

+2R

+5R

+4R

First peak:

+4R

Following low:

0R

Drawdown:

4R

New peak:

+5R

Following low:

+4R

Drawdown:

1R

Maximum drawdown:

4R

Part 12: Losing-Streak Planning

Record your longest historical losing streak.

Then calculate:

Historical streak:

Risk per trade:

Dollar drawdown from the streak:

Historical maximum drawdown:

Monte Carlo or safety estimate:

Can the account survive a larger streak?

Should risk be reduced?

Part 13: Segment the Results

Compare performance by:

• Long versus short

• Day of week

• Time of day

• Bullish versus bearish higher-timeframe structure

• Trend versus range

• High versus low volatility

• Premium versus discount

• First versus second trade

For every subgroup, record the number of trades.

Do not draw strong conclusions from very small categories.

Part 14: MFE and MAE Analysis

For every trade, record MFE and MAE in R.

Then calculate:

Average winning-trade MFE:

Median winning-trade MFE:

Percentage reaching 1R:

Percentage reaching 2R:

Percentage reaching 3R:

Average winning-trade MAE:

Average losing-trade MFE:

Average losing-trade MAE:

Use this information to design separate stop and target experiments.

Part 15: Sensitivity Test

Select one variable.

Examples:

• Stop distance

• Target

• Entry timing

• Trading window

Test three reasonable values.

Keep every other rule unchanged.

Compare:

Trade count:

Win rate:

Expectancy:

Profit factor:

Maximum drawdown:

Determine whether the strategy remains stable across nearby values.

Part 16: Out-of-Sample Test

Select a historical period that was not used to build the rules.

Apply the locked strategy without modification.

Compare in-sample and out-of-sample:

Win rate:

Average winner:

Average loser:

Expectancy:

Profit factor:

Maximum drawdown:

Longest losing streak:

Trade frequency:

Explain whether the strategy remained stable, weakened, improved, or collapsed.

Part 17: Forward-Test Plan

Create a forward-testing plan containing:

Number of simulated trades:

Trading window:

Risk used in simulation:

Rules that cannot change:

Data fields:

Screenshot requirements:

Weekly review time:

Conditions for restarting the test:

Conditions required before considering live risk:

Part 18: Five-Day Replay Journal

For five historical days, use bar replay.

Before revealing the session, record:

• Economic events

• Higher-timeframe bias

• Support

• Resistance

• Liquidity

• Dealing range

• Bullish scenario

• Bearish scenario

• No-trade conditions

Advance one candle at a time.

For every decision, record:

• What information was available

• Whether a setup qualified

• Entry

• Stop

• Target

• Result

• Whether hindsight affected the decision

Part 19: Backtest Audit

Review the completed test and answer:

Did I define the rules before testing?

Did I change rules during the sample?

Did I include every qualified setup?

Did I count missed entries honestly?

Did I use future information?

Did I use realistic fills?

Did I include fees?

Did I include slippage?

Did I resolve ambiguous candles conservatively?

Did I test multiple market conditions?

Did I separate strategy versions?

Did I reserve unseen data?

Could another person apply my rules?

Did one trade create most of the profit?

Does the strategy fit my account and schedule?

Key Takeaways

• Backtesting applies defined trading rules to historical data.

• A backtest should be treated as an experiment.

• The goal is to gather evidence, not prove the trader’s idea correct.

• A backtest cannot guarantee future profitability.

• A narrow research question produces more useful results than a vague idea.

• The market, timeframe, session, entry, stop, target, and management rules must be defined before testing.

• Required and optional conditions should be separated.

• Entry assumptions must reflect prices that were realistically available.

• Candle-close confirmation cannot use earlier intrabar prices unless the strategy defines a later pullback entry.

• Missed limit orders must be recorded honestly.

• The stop cannot be widened after seeing a loss.

• Targets cannot be selected from the final high or low after the move occurs.

• Partial exits must be calculated using weighted results.

• Break-even and trailing rules must be objective.

• Same-candle stop-target ambiguity should be resolved with lower-timeframe data or conservative assumptions.

• Look-ahead bias uses information that was unavailable at the decision time.

• Bar replay helps reproduce uncertainty.

• Blind testing reduces hindsight.

• In-sample data may be used for development.

• Out-of-sample data evaluates locked rules on unseen history.

• Overfitting creates rules that memorize the historical sample.

• Robust strategies should not collapse after small parameter changes.

• Sensitivity testing changes one variable at a time.

• Every rule change should create a new strategy version.

• Rules should not change in the middle of a formal sample.

• Every qualified setup must be recorded.

• No-trade sessions provide information about setup frequency.

• MFE measures the greatest favorable movement.

• MAE measures the greatest adverse movement.

• A preliminary sample can clarify rules but cannot prove an edge.

• Larger samples provide more information but do not repair biased methodology.

• Samples should include multiple market conditions.

• Win rate does not determine profitability by itself.

• Expectancy combines win rate, average winner, loss rate, and average loss.

• Profit factor compares gross profit with gross loss.

• R allows trades with different stop sizes to be compared.

• Maximum drawdown measures the largest decline from a previous equity peak.

• The order of trades affects losing streaks and drawdown.

• Future losing streaks can exceed the historical maximum.

• Trade frequency and no-trade rate affect practical expectations.

• Averages should be reviewed alongside medians and result distributions.

• Outliers should be investigated rather than automatically removed.

• Subgroup analysis requires enough trades in each category.

• Statistical results contain uncertainty.

• Monte Carlo analysis helps estimate alternative drawdown and equity paths.

• Fees, commissions, spread, and slippage can reduce or eliminate an edge.

• Dollar projections should come after the strategy is evaluated in points and R.

• Strategy performance and position sizing should be analyzed separately.

• Equity curves reveal growth, drawdown, flat periods, and dependence on outliers.

• Filters should be compared with an unfiltered baseline.

• Setup quality must be scored before the result is known.

• Screenshots and written decisions create an audit trail.

• Discretionary strategies can be tested with structured rubrics.

• Automated testing is only as reliable as its data, code, and assumptions.

• Manual verification is required before trusting automated results.

• Backtesting should be followed by out-of-sample and forward testing.

• A failed strategy test is useful because it can prevent live losses.

• Modifications should be tested as new experiments.

• Endless optimization increases overfitting risk.

• A profitable strategy must also fit the trader’s schedule, account, and emotional tolerance.

• Historical income projections should be treated as uncertain ranges.

• The final strategy should be documented before forward testing begins.

Final Lesson Reminder

Before trusting a backtest, ask:

Did I define the rules before seeing the results?

Can another trained person identify the same setup?

Did I test consecutive or randomly selected sessions?

Did I record every qualified trade?

Did I record missed entries?

Did I use information that was unavailable at the time?

Were my entries realistic?

Did I include commissions and slippage?

How did I handle candles that touched both the stop and target?

Did I change rules during the sample?

Did I separate each strategy version?

How large is the sample?

Does the sample include different market conditions?

What is the expectancy?

What is the profit factor?

What is the maximum drawdown?

What is the longest losing streak?

Does one unusual winner create most of the profit?

Does performance remain positive on unseen data?

Can my account survive a worse drawdown than the one recorded?

Can I realistically execute this method in real time?

Backtesting is not the process of proving that a chart pattern works.

It is the process of trying to disprove a trading idea through honest, repeatable testing.

An idea that survives careful testing may deserve forward testing.

An idea that fails has protected the trader from risking money on unsupported beliefs.

In Lesson 16, you will learn how to build a complete trading journal, record the information that existed before entry, separate process quality from financial outcome, track emotional behavior, and turn individual trades into useful performance data.

Educational Disclaimer

Tick Lab is provided for educational and informational purposes only. Nothing in this lesson should be interpreted as financial advice, investment advice, statistical assurance, or a guarantee of trading results. Historical performance does not guarantee future performance. Backtests can be affected by inaccurate data, hindsight, unrealistic fills, fees, slippage, market changes, and programming errors. Always validate historical findings through out-of-sample and simulated forward testing before considering real financial risk.