← All strategy tests
Historical simulationStocks15m barsLong onlyIntraday

MSFT: Bollinger band re-entry, 15m (2026-07-03 to 2026-09-30)

TradesViz example study: Bollinger band re-entry on MSFT.US, 15-minute bars, 2026-07-03 through 2026-09-30. This is a historical simulation with preset rules, not a live account or an optimized strategy. Tests whether a close back inside the lower Bollinger band is followed by a return toward its middle band. Entry: [CROSSED(input_col=close, input_col2=BOLLBANDS_LOWER(period=20, sd_levels=2), direction=above)] Exit: [close > BOLLBANDS_MIDDLE(period=20, sd_levels=2)] Settings: long only; next-bar-open fills; 25,000 starting equity in quote currency; 25% of current equity per position; 14-period ATR, 2 ATR initial stop, 3R target, 3 ATR trailing stop, and a 100-bar maximum holding period. Session 09:30 to 16:00 in exchange time (selected hours). Positions close at the end of each session. Assumed costs: 0.01% of traded value commission per side and 0.01 points slippage per market fill. These are illustrative fixed assumptions, not broker quotes. Funding, financing, borrow fees, varying spreads, and market impact are not separately modeled. Limitations: Volatility bands do not bound losses; a strong downtrend can continue after a re-entry signal. The catalog includes preset markets and periods without selecting winners. This recent-intraday window is a separate study, not out-of-sample proof. Data availability, gaps and ambiguous intrabar fills must be checked in the completed report. Requested period: 2026-07-03 to 2026-09-30. Available test data: 2026-07-06 to 2026-09-30, 1,274 bars (America/New_York dates). Simulated historical strategy test for MSFT.US using 15-minute bars from 2026-07-03 to 2026-09-30. Asset class: stocks. Indicators and functions used: BOLLBANDS_LOWER, BOLLBANDS_MIDDLE, CROSSED; Box 1 condition: [CROSSED(input_col=close, input_col2=BOLLBANDS_LOWER(period=20, sd_levels=2), direction=above)]; Box 2 condition: [close > BOLLBANDS_MIDDLE(period=20, sd_levels=2)]. Long only. Fills at the next bar's open. Opposite signal reverses the position. Starting equity: 25,000. Position size: 25 % of equity. Stop loss: 2 ATR. Take profit: 3 R. Trailing stop: 3 ATR. Commission per side: 0.01 %. Slippage per fill: 0.01 points. Maximum holding period: 100 bars. Close positions at session end. Risk-setting ATR period: 14. Session: 09:30 to 16:00 (exchange time). Saved results. Trades: 23; Net P&L: 568.437203; Return: 2.273749%; Win rate: 91.304348%.

Shared by pk78 · Published 2026-10-15 · Snapshot 2026-10-15 · Report revision 1

Test your versionLoads these rules and settings. Review them before starting a new test.

What was tested

Market
MSFT.US
Timeframe
15-minute bars
Test window
2026-07-03 – 2026-09-30
Engine
tv-engine-3

Simulated historical results, not live trading performance. Historical results do not predict future returns. Shared sections are selected by the author; hidden sections have not been independently verified. The author controls which sections are visible. This is a saved result; market data revisions or engine updates can change a later rerun.

Result and evidence

Too few trades

Only 23 trades, which is not enough to judge the strategy. Test a longer period.

Net P&L
568.44
Return
2.27%
Trades
23
Win rate
91.3%
Profit factor
7.49
Maximum drawdown
-0.46%
Average trade
24.71
Average R
0.42R
Sharpe ratio
7.60
Commission paid
28.09
Chance a no-edge strategy does this well
0.0%
P&L without the 2 best trades
425.03

Read before trusting the numbers

  • Only 23 trades. That is too few to tell skill from luck; test a longer period or a faster timeframe.

The luck check is a statistical estimate for this sample, not the probability of future success. Costs, sample size and testing many variants affect how much confidence a result deserves.

Full performance statistics

Compare the full run with its long and short trades.

Statistics from the saved run, for All, Long and Short trades. N/A means unavailable or not applicable.
MetricAllLongShort
Performance
Net P&L568.44568.44N/A
Return on starting equity2.27%N/AN/A
Profit factor7.497.49N/A
Average trade (expectancy)24.7124.71N/A
Average R per trade0.42R0.42RN/A
Total R9.55R9.55RN/A
Buy & hold return (same period)32.52%N/AN/A
Trades
Trades23230
Win rate91.30%91.30%N/A
Average win31.2431.24N/A
Average loss-43.80-43.80N/A
Average win / average loss0.710.71N/A
Largest win84.7084.70N/A
Largest loss-53.01-53.01N/A
Most wins in a row1414N/A
Most losses in a row22N/A
Average bars in trade9.839.83N/A
Average time in trade2h 26m2h 26mN/A
Average adverse excursion (MAE)22.3822.38N/A
Average favorable excursion (MFE)40.2040.20N/A
Risk
Max drawdown-116.57N/AN/A
Max drawdown %-0.46%N/AN/A
Longest drawdown41d 2hN/AN/A
Sharpe ratio (daily, annualized)7.60N/AN/A
Sortino ratio (daily, annualized)13.90N/AN/A
Time in the market17.58%N/AN/A
Costs
Commission paid28.0928.09N/A
Same-bar exits assumed stop-first0N/AN/A
Luck check
Chance a no-edge strategy does this well0%N/AN/A
Net P&L without the 2 best trades425.03N/AN/A

N/A means the metric is unavailable or does not apply to that side. Colors describe individual metrics, not the reliability of the strategy.

Strategy rules

Entry / long entry

[CROSSED(input_col=close, input_col2=BOLLBANDS_LOWER(period=20, sd_levels=2), direction=above)]

Exit / short entry

[close > BOLLBANDS_MIDDLE(period=20, sd_levels=2)]

Execution and risk settings

Direction
Long only
Signal mode
Entry and exit
Order fills
Next bar's open
Opposite signal
Reverse position
Starting equity
25,000.00
Position size
25.00 % of equity
Stop loss
2.00 ATR
Take profit
3.00 R
Trailing stop
3.00 ATR
Move stop to breakeven at R
Not set
Maximum bars in trade
100.00
Flat at session end
Yes
Commission per side
0.01 %
Slippage per fill
0.01 points
Session
09:30 – 16:00 (exchange time)

Equity and drawdown

Saved simulated equity across this test window. Drag the range control to inspect a period.

Simulated trades

23 trades in this snapshot. All times are UTC.

#SideEntryExitSizeEntry priceExit priceNet P&LExit reason
1.0Long2026-07-06 14:30:002026-07-06 18:15:0016.00384.0900385.770025.65exit_signal
2.0Long2026-07-08 14:45:002026-07-08 18:00:0016.00382.9500383.47007.09exit_signal
3.0Long2026-07-09 14:45:002026-07-09 17:30:0016.00377.0550380.800058.71exit_signal
4.0Long2026-07-14 14:30:002026-07-14 17:00:0016.00384.6200387.549945.64exit_signal
5.0Long2026-07-16 14:00:002026-07-16 14:30:0015.00393.3200396.010039.17exit_signal
6.0Long2026-07-17 14:30:002026-07-17 17:30:0016.00392.9500394.650025.94exit_signal
7.0Long2026-07-20 14:15:002026-07-20 14:30:0016.00392.6700394.350025.62exit_signal
8.0Long2026-07-21 15:30:002026-07-21 19:15:0015.00398.7100399.23006.60exit_signal
9.0Long2026-07-22 15:00:002026-07-22 19:15:0016.00389.5900389.73000.99exit_signal
10.0Long2026-07-23 15:30:002026-07-23 18:30:0016.00378.6050381.575046.30exit_signal
11.0Long2026-07-27 13:45:002026-07-27 14:00:0016.00389.8700391.120118.75exit_signal
12.0Long2026-07-29 14:00:002026-07-29 16:30:0016.00392.3750395.650051.14exit_signal
13.0Long2026-08-05 14:30:002026-08-05 18:15:0012.00489.5300490.16006.38exit_signal
14.0Long2026-08-11 14:00:002026-08-11 17:30:0012.00501.4700502.630012.72exit_signal
15.0Long2026-08-12 14:30:002026-08-12 17:50:0012.00495.8389491.5200-53.01stop_loss
16.0Long2026-08-17 14:45:002026-08-17 16:40:0013.00483.0250480.4600-34.60trailing_stop
17.0Long2026-08-20 15:45:002026-08-20 16:45:0013.00481.1500483.990035.67exit_signal
18.0Long2026-08-31 14:30:002026-08-31 17:00:0012.00509.3200511.375023.44exit_signal
19.0Long2026-09-21 14:45:002026-09-21 17:45:0012.00493.0857497.930056.94exit_signal
20.0Long2026-09-22 15:30:002026-09-22 17:45:0012.00495.2300497.365024.43exit_signal
21.0Long2026-09-24 14:30:002026-09-24 17:00:0012.00493.7650496.160027.55exit_signal
22.0Long2026-09-28 14:15:002026-09-28 16:30:0012.00509.4700512.290032.61exit_signal
23.0Long2026-09-29 14:15:002026-09-29 14:45:0012.00505.0900512.250084.70exit_signal