OneShot2
Evolution of the original OneShot evaluation passing algo.
OneShot2 — User Guide
Overview
OneShot2 is a breakout strategy built specifically for NQ (Nasdaq-100 E-mini futures) and prop firm evaluation accounts. It takes a single, high-conviction trade per day based on price action from the opening session. The philosophy is simple: one clean setup, one clean trade, done for the day.
The strategy is designed to:
Operate within the strict risk rules of prop firm evaluations
Require minimal screen time — orders are placed automatically at a defined time each morning
Be fully configurable so you can dial it in to your specific account size and firm's rules
Important: OneShot2 must be set to either Long Only or Short Only — it does not trade both directions simultaneously. Choose the direction that aligns with your market bias or backtest findings. Consider using it with 2 accounts for each "attempt", one long and one short.
How It Works
OneShot2 monitors a specific time window each morning and records the high and low of price action during that window. When the window closes, it places a stop-limit order just outside that range — above the high for a long trade, or below the low for a short trade.
The idea is that when price breaks convincingly beyond the morning range, it tends to follow through. The strategy captures that move with a defined profit target and stop loss.
Key behavioral notes:
One trade per day, maximum. Once an entry order is placed, no additional entries are attempted that session.
Unfilled orders are automatically cancelled at a time you define. If price never reaches the breakout level by mid-session, the order is pulled and the strategy sits flat for the rest of the day.
The strategy exits at session close if still in a trade (standard NinjaTrader session close behavior).
Parameter Reference
Exit Settings
Profit Target (Ticks)
62
How far in your favor the trade needs to go to lock in profit
Stop Loss (Ticks)
62
How far against you the trade can go before it's closed
Max Contracts
10
The number of contracts to trade. Set this to the maximum your prop firm allows
NQ tick value: Each tick is worth $5 per contract (0.25 points × $20/point). At 62 ticks and 10 contracts, the profit target is $3,100 and the stop loss is also $3,100.
Adjust these values based on your account size and the firm's daily loss limit. A common starting point for a $50,000 evaluation is equal-sized targets and stops in the 50–80 tick range.
Direction Settings
Long Only
Off
Only trade breakouts above the range high
Short Only
Off
Only trade breakouts below the range low
You must enable exactly one of these. Enabling both (or neither) will prevent any trades from being taken that day.
Use your backtesting results to determine which direction is more consistent across your target time window. Some windows perform better long, others short — this is worth exploring.
Time Settings
Data Window Start
9:30 AM
When the strategy begins tracking the range
Data Window End
9:44 AM
When range tracking stops and the entry order is submitted
Cancel Unfilled By
12:00 PM
If the entry order is still unfilled by this time, it is automatically cancelled
This is the most important group to backtest. The default window (9:30–9:44) represents a specific opening range concept, but there is no single "correct" window. Different windows will produce very different results. See the Backtesting Guide section below for guidance on how to find your own profitable windows.
The cancel time prevents the strategy from entering a trade late in the session when the move has likely already played out.
Entry Order Settings
Limit Offset (Ticks)
2
Buffer added to the stop-limit order to improve fill probability
When a stop-limit order is placed, the stop price triggers the order, and the limit price is the worst fill you'll accept. Setting a 2-tick offset means you'll accept a fill up to 2 ticks beyond the breakout level. This helps on fast-moving breakouts. Setting it too tight may result in missed trades; setting it too wide may result in poor fills.
Trail Stop Settings
The trailing stop is an optional feature that locks in profit as the trade moves in your favor. It does not activate until the trade reaches a dollar threshold you define, and once active, it ensures you keep a percentage of your maximum unrealized gain.
Enable Trail Stop
Off
Turns the trailing stop on or off
Trail Trigger ($)
$1,000
The unrealized profit level (in dollars, across all contracts) that activates the trail
Trail Protection %
50%
Once activated, the stop is set to protect this percentage of the highest unrealized profit seen
Example — 10 contracts, $1,000 trigger, 50% protection:
Trade enters. No trail stop yet.
Unrealized profit reaches $1,000. Trail stop activates.
Trade continues to $1,400 unrealized (new high-water mark).
50% of $1,400 = $700 protected
Stop is now placed to lock in $700 of profit
Trade pulls back to $1,200. High-water mark is still $1,400, stop stays at $700.
Trade runs to $2,000 (new high-water mark).
50% of $2,000 = $1,000 protected
Stop is updated to lock in $1,000 of profit
Price reverses and hits the stop. Trade closes with approximately $1,000 profit.
The higher the Trail Protection %, the tighter the stop and the sooner it may stop you out. Lower values give the trade more room to breathe but protect less of your gains.
The trail stop replaces the regular stop loss once activated. Before the trigger is hit, the original stop loss remains in effect.
Consistency Rule
Many prop firms enforce a consistency rule: no single trading day can account for more than a set percentage of your overall profit target. For example, a firm with a $10,000 account target and a 30% consistency rule means no single day can show more than $3,000 in profit.
OneShot2 has a built-in consistency rule that automatically reduces the profit target on a given trade to comply with this restriction.
Use Consistency Rule
Off
Enables the automatic profit target reduction
Consistency %
33%
The maximum percentage of the configured profit target allowed per day
How the math works:
Your configured Profit Target (Ticks) is treated as the "full" daily allowance. The Consistency % is applied to reduce the actual order target.
Example — 62 tick target, 33% consistency:
33% of 62 ticks = 20 ticks effective profit target per trade
At 10 contracts: 20 ticks × $5/tick × 10 contracts = $1,000 per day maximum
Your stop loss remains at the full configured value (62 ticks)
Example — 62 tick target, 50% consistency:
50% of 62 ticks = 31 ticks effective profit target per trade
At 10 contracts: 31 ticks × $5/tick × 10 contracts = $1,550 per day maximum
Use this setting when your prop firm's rules explicitly cap daily profits as a percentage of your evaluation target. Check your firm's terms carefully — some firms use percentage of total profit target, others use percentage of account balance.
The stop loss is not affected by the consistency rule. Only the profit target is reduced.
Ignore Days
Use these checkboxes to exclude specific days of the week from trading entirely. If a day is skipped, no range tracking or order submission occurs.
Skip Monday
Off
Skip Tuesday
Off
Skip Wednesday
Off
Skip Thursday
Off
Skip Friday
Off
Mondays and Fridays can sometimes exhibit erratic behavior due to weekend gaps and end-of-week positioning. Run your backtests with individual days isolated to see which days contribute positively or negatively to your results.
Realtime Recovery
Enable Entry Reject Recovery
Off
If the stop-limit entry order is rejected by the broker, automatically resubmit as a market order
Fallback To Market On Reject
On
Controls whether the fallback uses a market order (recommended to leave on if recovery is enabled)
Entry rejections can happen when price moves too fast and the stop price becomes invalid by the time the order reaches the exchange. Enabling recovery ensures you still get into the trade via a market order. Note that a market order fill may be at a slightly different price than the original entry.
This feature is realtime only — backtests are not affected.
Backtesting Guide
The most valuable thing you can do with OneShot2 is explore different time windows through backtesting. The default 9:30–9:44 window is a starting point, not a universal best setting.
What to vary
Data Window Start / End — Try different combinations:
9:25–9:30 (pre-open range)
9:30–9:35 (first 5 minutes)
9:30–9:45 (first 15 minutes)
9:30–10:00 (first 30 minutes)
9:45–10:00 (post-open range)
Direction — Test Long Only and Short Only separately for each window. Some windows will have a strong directional bias.
Profit Target vs. Stop Loss ratio — Test symmetric (equal PT and SL) vs. asymmetric (e.g., 2:1 PT:SL or 1:2 PT:SL).
Day filters — Run backtests with individual days removed to identify which days of the week are profitable and which are not.
What to look for in results
Consistency of results across 3, 6, 12 month periods...not just a week — A window that works for one month but not others is likely just a lucky streak.
Win rate vs. payoff ratio balance — Neither a 90% win rate nor a 90% loss rate is sustainable; look for something in between that makes mathematical sense
Recommended workflow
Set a fixed date range (e.g., Jan 2025 – Jan 2026)
Run Long Only with several different time windows and record the results
Repeat with Short Only
Identify the 2–3 most consistent windows and test them on out-of-sample data or in SIM.
Use the Consistency Rule and trail stop in a second pass once you've settled on a window
Recommended Setup for a Prop Firm Evaluation
Below is a general starting configuration. Adjust based on your firm's specific rules and your backtest findings.
Max Contracts
Per firm rules
Never exceed your firm's contract limit
Profit Target
62 ticks ($3,100 at 10 contracts)
Adjust to fit daily profit cap if applicable
Stop Loss
62 ticks
Symmetric is a safe default to start
Direction
Based on backtest
Test both before going live
Cancel Unfilled By
11:00 AM – 12:00 PM
Prevents late entries on stale setups
Use Consistency Rule
On (if your firm requires it)
Set the % to match your firm's rule
Enable Trail Stop
Optional
Useful for protecting large open profits
Trail Trigger
50–75% of daily limit
Activates when a meaningful profit is at risk
Trail Protection %
50%
Balanced starting point
Frequently Asked Questions
Can I run this on multiple accounts at the same time? Yes. Load a separate instance of the strategy on each account, each configured independently with that account's specific contract limit and consistency rule settings.
The entry order never filled — what happened? Price did not reach the breakout level before the Cancel Unfilled By time. This is expected behavior. The strategy intentionally skips days where the breakout does not happen within the session.
Can I change the settings mid-day? It is not recommended. OneShot2 is designed to be loaded once before market open and run hands-off. Changing settings after the data window has already passed may cause unexpected behavior.
Does it trade every day? No. If no days are skipped and the market is open, an order is placed every day. However, if the breakout level is never reached, the order expires and no trade occurs. Some days will simply produce no trade.
Is this strategy compatible with Market Replay? Yes. You can replay historical days to observe exactly how the strategy behaves on a specific date and time.
Last updated
