Join today
Strategies / Momentum / Candle Body Sum Daily

Candle Body Sum Daily Strategy

This system tracks the change in candle body size summed over 84 bars. It buys when that sum falls below minus 6 pips and keeps falling, and sells short when it rises above 81 pips and keeps rising. After the first trade it is always in the market.

MomentumLong & shortSwingS&P 500Daily
2.05Profit factor
7,391Net profit EUR
58.93%Win rate
168Trades
-1,461Max drawdown
43.99Avg trade

Best run of 47. S&P 500, Daily, spread 1, from run pf:2026-09-24-USA500-D.tsv:7.

Entry rules, long

  1. Members only

Entry rules, short

  1. Members only

Exit rules

  1. No stop or target
  2. Members only

Test conditions

PeriodUp to 2026-09-25
InstrumentS&P 500, Daily
Spread1 points
Contracts1
Starting capital1,000,000
CostsSpread only. Commissions and overnight financing are not included.
BarsUp to 200,000 bars, fewer where the instrument has less history
Last tested2026-09-25

Parameters

positionSize
Contracts per trade
1
bodyPeriod
Bars summed
84
upperFilter
Bullish threshold in pips
81
lowerFilter
Bearish threshold in pips (negative side)
6
signalDirection
1 as tested, -1 flips the signals
1

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
S&P 500Best runDaily2.05 16858.937,391 EUR-1,461
DAX 40Daily1.37 1,45660.1043,937 EUR-3,725
FTSE 100Daily1.33 94358.5415,876 EUR-3,480
USD/JPYDailyn/a 2,01958.541,522,030 JPY-979,600
Silver1 hourn/a 54455.701,157,199 USD-1,136,375
USD/JPY30 minn/a 16453.05544,940 JPY-290,420
USD/JPY10 minn/a 6844.12423,420 JPY-259,370
USD/JPY15 minn/a 10447.12313,510 JPY-278,280
EUR/USD2 minn/a 11644.83161,269 USD-152,814
USD/JPY2 minn/a 862.50124,490 JPY-110,110
Nikkei 225Dailyn/a 2,59057.6150,177 USD-24,805
Silver3 minn/a 43652.7536,747 USD-20,634
Silver15 minn/a 52654.5634,973 USD-23,794
Silver30 minn/a 56458.6934,752 USD-27,173
Nasdaq 100Dailyn/a 79157.2718,454 EUR-9,098
Dow Jones10 minn/a 4,82455.2416,310 EUR-9,369
Brent Crude1 hourn/a 1,91457.4214,583 EUR-7,508
Nasdaq 1001 hourn/a 2,69355.1813,942 EUR-6,913
DAX 4015 minn/a 1,42853.9911,016 EUR-5,159
Brent Crude10 minn/a 1,14653.4910,492 EUR-7,652
DAX 401 hourn/a 2,66155.3210,194 EUR-7,160
DAX 405 minn/a 44255.209,947 EUR-3,313
Nasdaq 10010 minn/a 1,80254.779,508 EUR-6,907
DAX 4010 minn/a 80452.498,923 EUR-4,512
FTSE 1001 hourn/a 31657.918,874 EUR-2,903
DAX 4030 minn/a 2,13053.668,670 EUR-8,477
FTSE 1004 hoursn/a 58253.267,313 EUR-2,977
S&P 5004 hoursn/a 9257.616,967 EUR-1,506
Nasdaq 1005 minn/a 1,03850.296,630 EUR-6,593
S&P 5001 hourn/a 4650.005,804 EUR-1,392
S&P 50030 minn/a 2259.095,379 EUR-1,378
GoldDailyn/a 6854.415,203 EUR-1,629
FTSE 10030 minn/a 11455.265,174 EUR-2,735
Gold4 hoursn/a 5263.465,008 EUR-1,016
Nasdaq 1002 minn/a 32454.324,970 EUR-4,896
Gold1 hourn/a 3060.004,444 EUR-1,193
S&P 50015 minn/a 2454.174,124 EUR-1,318
Gold30 minn/a 2445.833,175 EUR-1,709
S&P 50010 minn/a 1650.002,842 EUR-1,335
Gold15 minn/a 1442.862,712 EUR-1,793
Gold10 minn/a 2045.002,690 EUR-1,635
Gold5 minn/a 1040.002,516 EUR-1,606
FTSE 10010 minn/a 1650.002,496 EUR-1,463
S&P 5005 minn/a 666.672,229 EUR-1,347
Gold3 minn/a 1080.002,008 EUR-1,461
FTSE 1005 minn/a 850.001,962 EUR-1,516
Gold2 minn/a 250.001,958 EUR-1,650

Charts

Results by run

Profit factor by run

Above 1.0 made money, below 1.0 lost money.

0.00.61.31.92.51.0 = break-evenS&P 500 · Daily2.05DAX 40 · Daily1.37FTSE 100 · Daily1.33

Net profit against max drawdown

Net profitMax drawdown
0-2.0M-1.0M1.0M2.0MUSD/JPY · DailySilver · 1 hourUSD/JPY · 30 minUSD/JPY · 10 minUSD/JPY · 15 minEUR/USD · 2 minUSD/JPY · 2 minNikkei 225 · DailyDAX 40 · DailySilver · 3 minSilver · 15 minSilver · 30 minNasdaq 100 · DailyDow Jones · 10 minFTSE 100 · DailyBrent Crude · 1 hour

The code

ProBuilder, rewritten to house standard

Every file in the library uses the same header, the same section order and the same variable names. The numbers above were produced by the original version before the rewrite, and the rewrite has not yet been compiled in ProRealTime.

// ============================================================
// Candle Body Sum Daily
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Momentum
// Direction: Long & short
// Timeframe tested: Daily
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1          // contracts per trade
bodyPeriod = 84           // bars summed for the body change
upperFilter = 81          // body sum must exceed this many pips to count as bullish
lowerFilter = 6           // body sum must fall below minus this many pips to count as bearish
signalDirection = 1       // 1 as tested, -1 flips every signal

// --- Indicators ---
// Sum of the bar-to-bar change in candle body size.
bodySize = close - open
bodyChange = bodySize - bodySize[1]
bodySum = Summation[bodyPeriod](bodyChange)

// Latest bullish and bearish readings, kept until the next one.
IF bodySum > upperFilter * PipSize THEN
  greenSum = bodySum
ENDIF
IF bodySum < (0 - lowerFilter) * PipSize THEN
  redSum = bodySum
ENDIF

21 more lines: the entry and exit rules.

Read this first

Known weaknesses

  • No stop or target. The position only changes on the opposite signal.
  • Drawdowns on some markets rivalled the profit. Silver 1 hour made 1,157,199 USD with a 1,136,375 USD drawdown.
  • Several intraday rows rest on a handful of trades, such as Gold 2 minutes with 2 trades and USD/JPY 2 minutes with 8.
  • Only S&P 500 Daily, DAX 40 Daily and FTSE 100 Daily have a recorded profit factor.

How to load it

  1. Copy the code with the copy button above the code block.
  2. In ProRealTime, open a chart of the instrument and timeframe you want to test, then open ProOrder > New trading system and choose "Create with programming".
  3. Paste the code, give the system a name and save it.
  4. Click "Backtest", set your own spread and position size, and run it before you consider trading it live.

Questions

About this strategy

Can I run it in ProOrder?

Yes. It is a stop and reverse system, so once live it always holds 1 contract long or short.

How did it test on other markets?

All tested rows were positive. DAX 40 Daily reached a profit factor of 1.37 over 1456 trades, and FTSE 100 Daily 1.33.

What drawdown comes with 1 contract?

On S&P 500 Daily the worst drawdown was 1,461.08 EUR, with an average trade of 43.99 EUR.

Why daily bars?

The 84 bar body sum moves slowly on daily data, and the daily charts had the most trades and the recorded profit factors.

Related

Strategies like this one

Candle Body Sum Intraday

Best run on the same market, S&P 500.

2.86 PF · 124 trades

MACD Trend Day Trader

A similar profit factor.

2.06 PF · 4,783 trades

Twelve Minus Two Momentum

Also a momentum strategy.

12.00 PF · 52 trades

Join the ProRealAlgos waitlist to follow how daily systems perform in a live portfolio.

Copy trading on US indices is available to ProRealAlgos members as spots open.

Past backtest results do not guarantee future results. This is not financial advice. Curated and maintained by ProRealAlgos. ProRealTime™ is a trademark of ProRealTime SAS. prorealalgos.comStatsDocs