README
| FTM_OPENING_RANGE_BREAKOUT_MNQ_v1_8_0_RC3 | |
| ========================================= | |
| Release version: 1.8.0-rc.3 | |
| NT adapter version: 0.4.1-draft | |
| Native validation status: UNCOMPILED_UNRECONCILED_DRAFT | |
| This source package contains exactly one NinjaTrader strategy: FTM_OPENING_RANGE_BREAKOUT_MNQ_v1_8_0_RC3.cs. | |
| The C# file is copied byte-for-byte from the repository's canonical source when | |
| the package is built. Keep exactly this one FTM source installed in NinjaTrader. | |
| DEFAULT OPERATOR PROFILE | |
| - Default Sizing Mode: FixedDollar (editable selector) | |
| - Validated default Fixed Risk Per Trade ($): 535 (editable) | |
| - Validated default Fixed-Dollar Max Contracts: 2 (editable; minimum 1) | |
| - Validated default Trading Start Date: 20210101 (editable) | |
| - Validated default Strategy Slippage: 1 tick (editable) | |
| - Validated default Stop Slippage Reserve: 1 tick (editable) | |
| - Validated default Round-Turn Sizing Reserve: $2.50/contract | |
| (editable; does not post commissions) | |
| - Instrument: MNQ | |
| - Bars: Minute / 1 | |
| - Trading Hours: CME US Index Futures ETH | |
| - Display time zone: any correctly configured system zone; decisions use New | |
| York time after conversion through UTC | |
| AVAILABLE SIZING MODES | |
| - FixedDollar: size from the fixed USD budget and Fixed-Dollar Max Contracts. | |
| - ClosedEquityPercent: risk Base Risk Per Trade (%) of Starting Equity plus | |
| this strategy instance's closed P&L, subject to Portfolio Max Contracts and | |
| Max Raw-Notional Leverage. | |
| - ConfidenceScaledPercent: use the same closed-equity and portfolio limits, | |
| but map the causal 0/50/100 confidence score to the configured low/base/high | |
| risk percentages. | |
| Percentage-mode defaults: Starting Equity $50,000; confidence | |
| low/base/high 0.5%/1.0%/2.0%. | |
| Portfolio Max Contracts 10; Max Raw-Notional Leverage | |
| 4.0x. Stored rollover offsets are enabled for Merge back | |
| adjusted MNQ through target 202609. | |
| Closed equity is strategy-sleeve equity, not the live account balance, and | |
| excludes open P&L. The round-turn value above is a sizing reserve; it does not | |
| post commissions. Stored rollover offsets are valid only for Merge back | |
| adjusted MNQ through MNQ 09-26. | |
| MANUAL NINJATRADER 8 SOURCE IMPORT | |
| 1. Extract this package. It is a source package, not a NinjaTrader-generated | |
| Tools > Import > NinjaScript Add-On archive. | |
| 2. Verify the account is flat and no MNQ strategy order is working. Never remove | |
| or replace a strategy source while its position or orders are open. | |
| 3. Remove other FTM source files, then copy only FTM_OPENING_RANGE_BREAKOUT_MNQ_v1_8_0_RC3.cs to: | |
| Documents\NinjaTrader 8\bin\Custom\Strategies\ | |
| 4. In NinjaTrader, open New > NinjaScript Editor and compile (F5). Confirm RC3 | |
| is selectable exactly once. | |
| 5. Select FTM_OPENING_RANGE_BREAKOUT_MNQ_v1_8_0_RC3. Confirm the first options section reports: | |
| Release Version = 1.8.0-rc.3 | |
| NT Adapter Version = 0.4.1-draft | |
| Native Validation Status = UNCOMPILED_UNRECONCILED_DRAFT | |
| 6. Select the intended sizing mode and values. Confirm startup output includes | |
| timeContract=PASS before allowing simulated orders. | |
| REQUIRED NINJATRADER SETUP | |
| - Instrument: MNQ; Price based on Last; primary bars Minute / 1. | |
| - Trading Hours: CME US Index Futures ETH; Break at EOD enabled. | |
| - Load enough complete data for 120 prior eligible opening ranges and 21 prior | |
| eligible cash closes. Loading from 2020-01-01 is the standard setup when | |
| Trading Start Date remains 20210101. | |
| - Entries per direction 1; Unique entries; Set order quantity Strategy; Time in | |
| force GTC; Calculate OnBarClose; Bars required to trade 15. | |
| - Exit on session close enabled at 30 seconds; Realtime error handling | |
| StopCancelClose; Start behavior ImmediatelySubmit without account | |
| synchronization. | |
| - The display time zone does not need to be Eastern. Madrid, UTC, and other | |
| valid system zones are acceptable because the strategy converts bar time | |
| through UTC and makes all session decisions in New York time. Do not change | |
| the global time zone while an instance is enabled. | |
| HOW THE STRATEGY WORKS | |
| - It requires the prior-day 23:00 UTC reference-open bar and a continuous | |
| 09:30-16:00 ET one-minute cash window. | |
| - It builds the 09:30-09:45 ET opening range, then checks completed 15-minute | |
| closes from 10:00 through 15:45. A breakout must clear the range by one tick | |
| and pass candle-shape, close-location, and touch-count admission. | |
| - The first decision close near completed-session VWAP takes the direct route. | |
| Other signals use prior-session direction, an online 15-neighbor direction | |
| model, volatility, touch behavior, and short causal observation windows to | |
| keep or reverse the side. | |
| - At most one admitted breakout is acted on per cash date. Missing input blocks | |
| the date instead of creating a late substitute entry. | |
| - Initial risk is 1.25 times the opening range, clamped to 2-100 points. The | |
| normal target is 3R; a high opening range uses 1.25R. Quarter-hour checks can | |
| move the stop to break-even or +0.10R, depending on regime. A conditional | |
| 15:30 ET exit and mandatory 16:00 ET flatten are also enforced. | |
| RESTART RECOVERY BOUNDARY | |
| - Install and first enable RC3 only while the account is flat and no active MNQ | |
| account order is working. A different strategy instance's open position or | |
| orders must be reconciled manually before RC3 is enabled. | |
| - ImmediatelySubmit uses loaded-data reconstruction to map a managed position | |
| and its orders. GTC alone does not transfer ownership between instances. | |
| - On an RC3 restart with exposure, reconstruction must match the exact side, | |
| quantity, average price, entry signal, full-quantity GTC Working stop, and | |
| full-quantity GTC Working target. The two exits must have the correct types, | |
| actions, prices, and one non-empty OCO relationship. The read-only account | |
| snapshot must contain exactly those two active MNQ orders; flat startup | |
| requires no active MNQ account order. | |
| - A successful audit prints RESTART RECOVERY PASS only after two snapshots with | |
| the identical validated position/order fingerprint and the same stop/target | |
| Order object identities, with the final confirmation on a distinct realtime | |
| strategy bar. A changed field or reference becomes a new first snapshot. | |
| Entries remain blocked until the recovered position is flat and a later New | |
| York cash-date boundary passes. | |
| - A mismatch may request the existing bounded managed administrative exit only | |
| when both current-instance protective legs are full-quantity, zero-filled, | |
| broker-confirmed Working orders, strategy/account positions match, the account | |
| snapshot contains exactly those two orders, and no identity, fill, duplicate, | |
| or earlier account-set ambiguity was observed. Every other mismatch prints | |
| REQUIRES MANUAL RECONCILIATION without using account-level order APIs. Never | |
| repeatedly disable/enable the strategy to clear that error. | |
| - Protective fills are evaluated after OnExecutionUpdate has updated the | |
| strategy position. Cancellation, Unknown state, and non-platform-terminal | |
| outcomes queue a prompt strategy-thread re-audit. A rejection or qualifying | |
| error may instead invoke NinjaTrader's StopCancelClose path before that audit. | |
| - REQUIRES MANUAL RECONCILIATION is terminal for RC3-authored actions and state | |
| transitions in that strategy instance. An Unknown administrative exit is | |
| never retried because its live status cannot be proven; disable the strategy | |
| and reconcile the account manually. | |
| - A rejected or nonzero-error administrative exit permanently latches the | |
| RC3-authored exit path closed before NinjaTrader's StopCancelClose action can | |
| race a retry. Only Cancelled with NoError can enter the bounded retry path. | |
| - A realtime entry execution moves the normal trade out of FlatReady so its | |
| current-instance position and managed protection remain under lifecycle | |
| supervision. An Unknown entry reference remains blocking across cash dates. | |
| - ImmediatelySubmit can still cancel or replace orders when reconstructed and | |
| live details do not match. RC3 does not promise unchanged broker order IDs or | |
| a zero-gap restart. Run the complete Sim101 restart protocol and never use a | |
| live account for the first restart test. | |
| PLATFORM-OWNED SAFETY BACKSTOPS | |
| - RC3 retains RealtimeErrorHandling.StopCancelClose and the | |
| 30-second NinjaTrader session-close exit. It does not use IgnoreAllErrors. | |
| These platform engines remain outside RC3's manual-reconciliation state and | |
| may cancel strategy orders or submit a Close after a qualifying error or at | |
| the Trading Hours session end. | |
| - Record the NT8 global settings for cancelling entry and exit orders when a | |
| strategy is disabled. RC3 cannot override them. If the intended setting allows | |
| protective exits to be cancelled on disable, restart continuity cannot pass. | |
| - In Sim101, label every submit, change, cancellation, and Close as RC3-authored | |
| or owned by NinjaTrader startup, StopCancelClose, session-close, disable, or | |
| connection handling. Test every order-role rejection, manual state through | |
| session end, normal 16:00 exit through later session end, protective-fill/OCO | |
| races, and disable/restart under the exact intended global settings. | |
| EXPECTED SKIPS AND ACTIONABLE FAULTS | |
| - Weekends, exchange sessions ending before 16:00 ET, embedded data-quality | |
| dates, and embedded rollover exclusions are planned no-trade dates. While | |
| loaded data is processed, they are quiet unless Enable Detailed Output is on. | |
| A planned early close encountered in realtime produces one warning. | |
| - A missing 23:00 UTC reference bar, misaligned minute, cash-window gap, invalid | |
| volume, or missing 16:00 completion on an otherwise eligible full session is | |
| an actionable error. The date is blocked and the message must not be ignored | |
| in realtime. | |
| - For troubleshooting, enable Detailed Output for one reproduced session and | |
| collect NinjaScript Output and Log rows. Startup output should identify the | |
| instrument, Trading Hours template, platform and New York zones, sizing mode, | |
| rollover settings, and timeContract=PASS. | |
| Do not restore an old bin\Custom directory, compiled DLL, cache, or saved | |
| strategy template over the working installation. | |
| INTEGRITY | |
| SHA256SUMS verifies the extracted files, including the restart protocol. | |
| manifest.json records the canonical source and protocol hashes, editable fields, | |
| and default profile. Rebuild with `make nt8-package`; verify package construction | |
| with `make nt8-package-check`. |
评论
?
参与讨论