I am looking for an experienced trading algo developer to build a fully automated trading bot (EA) based on my specific 5-minute New York Opening Range Breakout strategy.
The EA must identify setups, confirm breakouts, identify retests, confirm continuation, execute trades, calculate position size, place stop-loss and take-profit orders, and manage daily trading limits automatically.
The EA must follow my strategy rules exactly. It must not introduce additional indicators or discretionary trading rules without my approval.
Primary instrument: ES – E-mini S&P 500
Initial execution instrument: MES – Micro E-mini S&P 500
Trading session: New York cash open
Chart timeframe: 5 minutes
Risk-to-reward: Fixed 1:2
Initial trade limit: One trade per trading day.
The EA must:
Automatically identify the New York cash market opening time of 09:30.
Identify the first 5-minute candle, running from 09:30 to 09:35 New York time.
Record the high and low of this candle.
Draw and maintain horizontal levels at the opening range high and opening range low.
Correctly account for US daylight saving time changes.
Use New York local time rather than a fixed broker/server time.
The opening range must remain fixed after the first candle closes.
The EA must monitor price after the opening range has been established.
A valid bullish breakout requires:
A completed 5-minute candle to close above the opening range high.
A valid bearish breakout requires:
A completed 5-minute candle to close below the opening range low.
Important:
A wick through the level does not count as a breakout.
Price must close beyond the relevant opening range boundary.
The EA must identify the breakout direction correctly.
It must not enter immediately on the breakout candle.
After a confirmed breakout, the EA must wait for price to retest the broken opening range boundary.
My strategy allows two types of retest:
One decent-sized retest candle.
Two smaller retest candles.
The EA must identify the retest and record the relevant swing high or swing low.
For bullish trades, the stop-loss reference is the retest swing low.
For bearish trades, the stop-loss reference is the retest swing high.
Important development requirement: I will need to agree an objective definition of a decent candle, smaller candles, valid retest and retest swing with the developer before coding. These must be configurable parameters, not assumptions made by the developer.
After the retest, the EA must wait for price to resume moving in the original breakout direction.
For a bullish setup:
Identify a bullish continuation/confirmation candle.
For a bearish setup:
Identify a bearish continuation/confirmation candle.
The confirmation candle's high or low must be recorded for the entry trigger.
This is an important part of my strategy.
For a bullish setup:
Identify the first confirmation candle.
Monitor the following candle.
Enter long as soon as price breaks above the confirmation candle's high.
For a bearish setup:
Identify the first confirmation candle.
Monitor the following candle.
Enter short as soon as price breaks below the confirmation candle's low.
The entry does not require the second candle to close.
This is an intrabar breakout entry. The EA must execute when the specified price level is broken, subject to the configured execution and slippage settings.
The developer must ensure the entry is not accidentally delayed until the candle closes.
Stop-loss must be based on the retest swing.
Bullish trade:
Stop-loss below the retest swing low.
Bearish trade:
Stop-loss above the retest swing high.
The stop must be placed automatically when the entry is executed.
The distance between entry and stop-loss must be used to calculate position size.
Any additional stop buffer must be configurable and agreed before development.
The strategy uses a fixed 1:2 risk-to-reward ratio.
Examples:
Risk 10 points = target 20 points.
Risk 5 points = target 10 points.
Risk 3 points = target 6 points.
The EA must calculate the take-profit automatically from the actual entry price and stop-loss distance.
Stop-loss and take-profit must be submitted as linked protective exits where supported (OCO/bracket functionality).
The EA must verify that protective orders are accepted and active.
The EA must calculate contract quantity automatically based on:
Account balance or configured account equity.
User-defined percentage risk or fixed cash risk.
Entry price.
Stop-loss price.
Instrument point value.
Trading commissions and configurable slippage allowance.
For MES:
Point value: $5 per index point.
Minimum tick: 0.25 points.
Tick value: $1.25 per contract.
Position size must be rounded down to the maximum whole number of contracts that stays within the risk limit.
If the calculated position size is zero, the EA must skip the trade rather than exceed the risk limit.
ES and MES must be supported separately, with the correct contract specifications.
The initial version must follow these rules:
Maximum one trade per trading day.
Once the trade is completed, no additional trade that day.
If there is no valid setup, do not trade.
Do not force trades.
Do not enter without all strategy conditions being satisfied.
The EA must record no-trade days separately.
Future development: Multiple trades per day may be considered as a separate strategy version, but this is not part of the initial build.
The EA must:
Place stop-loss and take-profit automatically.
Monitor open positions.
Prevent duplicate entries.
Prevent multiple orders from triggering on the same setup.
Handle rejected orders and connection interruptions safely.
Reconcile open positions and protective orders after reconnecting.
Avoid leaving positions unintentionally unprotected.
Respect the configured maximum daily risk and contract limits.
Include a manual emergency stop/disable function.
No unapproved martingale, averaging down, grid trading or recovery system.
I want the EA to display:
Opening range high and low.
Breakout candle.
Retest area.
Retest swing high/low.
Confirmation candle.
Entry price.
Stop-loss price.
Take-profit price.
Trade direction.
Trade outcome.
The chart should make it easy to understand why a trade was taken.
The EA must automatically record every trading session, including sessions where no trade occurs.
For every trade, record:
Date.
Instrument.
Long or short.
Opening range high and low.
Breakout candle details.
Retest type.
Retest swing.
Confirmation candle.
Entry price.
Stop-loss.
Take-profit.
Contract quantity.
Dollar risk.
Gross profit/loss.
Commissions and fees.
Net profit/loss.
Result in R.
Entry and exit timestamps.
Any execution errors or slippage.
Reports should be exportable to CSV or Excel.
The developer must provide a reliable backtesting version.
I want to be able to test the EA against historical ES/MES 5-minute data.
Backtesting must account for:
Intrabar entry triggers.
Realistic execution assumptions.
Commissions.
Slippage.
Correct New York session times and daylight saving changes.
Stop-loss and take-profit execution.
Missed or rejected orders where realistically modelled.
The developer must not use future candle information to make decisions.
I want reports showing:
Total trades.
Winning trades.
Losing trades.
Win rate.
Profit factor.
Total net profit.
Total R.
Average R per trade.
Maximum drawdown.
Maximum consecutive losses.
Average win and average loss.
Monthly performance.
No-trade days.
I want development completed in stages:
Stage 1 – Strategy specification
Confirm every rule.
Resolve subjective retest definitions.
Agree all configurable settings.
Stage 2 – Initial EA build
Build opening range identification.
Build breakout detection.
Build retest and confirmation logic.
Build entry and exit execution.
Stage 3 – Position sizing and risk management
Add automatic MES/ES sizing.
Add automatic SL and TP.
Add daily trade limits and safety controls.
Stage 4 – Backtesting
Test against historical data.
Check that trades match the written rules.
Investigate discrepancies.
Stage 5 – Simulation testing
Run on a simulation account.
Test live market data and intrabar execution.
Test connection failures, rejected orders and protective orders.
Stage 6 – Final delivery
Supply compiled EA.
Supply source code.
Supply installation instructions.
Supply configuration instructions.
Supply backtesting results.
Supply documentation explaining all settings.
Before accepting a quote, please confirm:
Have you developed automated futures trading systems before?
Can you build this for Tradovate, or do you recommend another compatible platform?
Can you support automated MES and ES execution?
Can the EA detect intrabar price breaks without waiting for candle close?
Can you implement dynamic stop-loss-based position sizing?
Can you implement linked OCO/bracket exits?
Can you account for New York daylight saving changes?
Will I receive the source code and full ownership of the finished system?
Can you demonstrate the EA working in simulation?
What is the estimated development cost and timeline?
Final requirement: I want a faithful automation of my existing strategy, not a redesigned strategy. Any proposed changes must be discussed and approved by me first.