The NinjaTrader Strategy Analyzer bridge for optimizing Fusion Builder strategies.
Fusion Optimizer lets NinjaTrader sweep selected numeric parameters from a Fusion Builder strategy and rank the results in Strategy Analyzer. You choose the parameters and ranges in Fusion Builder, save the .fus template, then load that template in Fusion Optimizer.
Fusion Optimizer is for backtesting and optimization. It is not the live-trading control panel. Use Fusion Strategy for live or sim automation.
Fusion Optimizer depends on a saved Fusion Builder .fus template.
A pasted SetupID can describe the strategy logic, but it does not carry the optimizer parameter map, readable labels, min/max/step ranges, or Strategy Analyzer preset settings. For optimization, use Template File.
Before optimizing:
Fusion Optimizer:
.fus template.Fusion Optimizer does not edit the Builder canvas. It uses the saved template as input.
NinjaTrader’s optimizer sees generic rows named Param 1, Param 2, and so on.
Fusion Builder owns the readable mapping.
Example:
| NinjaTrader slot | Builder parameter |
|---|---|
| Param 1 | RSI Period |
| Param 2 | RSI Long Threshold |
| Param 3 | Entry Stop Loss Value |
| Param 4 | Max Daily Loss |
Always check Parameter Map in Fusion Optimizer before running. It tells you what each slot controls.
Unused slots should be left alone. They are not part of the active optimization.
Create the strategy in Fusion Builder first. Optimizer mappings only matter when the canvas has a valid strategy path.
Recommended checks:
In Fusion Builder, open the Optimizer tab.
The tab lets you select numeric parameters, review min/max/step ranges, and set Strategy Analyzer preset values.
Start small.
Recommended first pass:
Large combinations grow quickly. Five parameters with ten choices each is 100,000 analyzer runs.
Risk rules are part of the strategy. If they are enabled, they affect optimization.
Examples:
Leave those rules off unless they are intentionally part of the test.
.fus templateSave or Save As the Fusion template.
The .fus stores:
Fusion Optimizer reads this template from NinjaTrader Strategy Analyzer.
Open NinjaTrader’s Strategy Analyzer and choose Optimization as the test type.
Choose Fusion Optimizer as the strategy.
If you previously used the same Strategy Analyzer grid for a different Fusion template:
This clears stale setup, template, optimizer payload, Param defaults, and hosted runtime state.
In the Fusion Optimizer property group, choose the saved Builder .fus template from Template File.
Selecting the template loads:
It also generates a matching NinjaTrader strategy template for the optimizer ranges.
Read Parameter Map.
Confirm:
.fus file.Run the optimization after the grid looks correct.
For a first test, use a short date range and a small number of combinations. Once the workflow is proven, expand the range.
Selects the saved Fusion Builder .fus template.
Use this for optimization. It is the normal path.
The runtime formula loaded from the template.
For optimizer work, you usually do not paste this manually. Let Template File populate it so the optimizer payload and readable parameter map come along with it.
Clears the current SetupID, Template File, optimizer payload, Param defaults, Parameter Map, and hosted Fusion Indicator state.
Use this before switching to a different template in the same Strategy Analyzer grid.
Read-only summary of the active Param slots.
Use this to translate NinjaTrader’s generic Param rows back to the Builder parameters they control.
The numeric optimizer slots exposed to NinjaTrader.
The active slots are defined by the Builder template. Do not assign meaning to a Param number without checking Parameter Map.
Read-only summary of the decoded strategy contract.
Use it to confirm:
Adds the hosted Fusion Indicator plot when Fusion Optimizer is attached to a chart.
For large Strategy Analyzer runs, leave chart visualization off unless you specifically need it.
Fusion Optimizer supports selected numeric parameters from supported strategy paths.
Common supported categories:
Examples:
The unit or mode stays fixed. For example, optimizing a Take Profit value changes the number, not whether the target is ticks, ATR, points, or percent.
V1.0 does not optimize Entry-owned condition fields when the Entry trigger contains multiple S-Conditions or ambiguous composite logic.
If the Optimizer tab hides a parameter, do not force it through the Param grid. Build a narrower template or select a supported numeric field.
V1.0 does not optimize settings that change the shape or meaning of the strategy, such as:
Change those in Builder, save a new template, and run a separate optimization.
Weighted Blend works in backtests, but its weights are fixed for V1.0 optimizer purposes. The weights must remain normalized, so they are not exposed as independent Strategy Analyzer slots.
Strategy Analyzer is historical/backtest-style. Some live intrabar timing and risk behavior cannot be reproduced perfectly by Strategy Analyzer.
Use optimizer results as candidates, not proof.
Each row in the optimization results grid represents one parameter combination.
When reviewing results:
Be careful with raw Profit Factor as a fitness metric.
A single winning trade with no losing trades can produce an extremely high or infinite Profit Factor. That row can rank first even though the sample size is too small to trust.
For first-pass sweeps, consider a metric such as Net Profit or another sample-size-aware review process, then manually inspect trade count and drawdown.
Optimization cost grows by multiplication.
Example:
| Parameter | Choices |
|---|---|
| Param 1 | 10 |
| Param 2 | 10 |
| Param 3 | 10 |
| Param 4 | 10 |
Total runs: 10,000.
To keep the first pass manageable:
After selecting Template File, Fusion Optimizer generates the matching NinjaTrader strategy template.
If ranges still do not appear:
.fus Template File..fus file.Likely causes:
Fix:
This means optimizer mappings exist, but the sweep did not change the effective strategy.
Treat this as a configuration problem. Re-save the template in Builder, reload it in Fusion Optimizer, and confirm Parameter Map before running again.
This can be normal, especially when optimizing on Profit Factor. A one-trade winner can rank highly because it has no losing trades.
Review trade count, drawdown, and out-of-sample behavior. Do not trust one-trade winners by ranking alone.
Order Flow and volumetric templates need the appropriate NinjaTrader data and entitlement. They can also be much slower in Strategy Analyzer.
Start with a smaller date range and confirm the data is available.
Click the row and inspect the detail tabs first. For manual validation:
Q: Should I use Fusion Strategy or Fusion Optimizer in Strategy Analyzer?
A: Use Fusion Optimizer when you want to sweep Builder parameters. Use Fusion Strategy for live/sim automation and normal strategy operation.
Q: Can I optimize from a pasted SetupID only?
A: Not reliably. Use Template File. The .fus template carries the optimizer map and ranges.
Q: Why does NinjaTrader show Param 1 instead of my indicator name?
A: NinjaTrader sees generic optimizer slots. Use Parameter Map to see which Builder parameter each slot controls.
Q: Can I optimize more than 20 parameters?
A: V1.0 exposes up to 20 optimizer slots. In practice, you should usually use far fewer.
Q: Can I optimize booleans or dropdowns?
A: Not in V1.0. Optimize supported numeric fields, and save separate templates for topology or mode changes.
Q: Does Fusion Optimizer prove a strategy is ready for live trading?
A: No. It finds candidates. Validate with normal backtests, out-of-sample ranges, Playback, and Sim101 before live use.