NinjaTrader 8 · NinjaScript · C#

I build the NinjaTrader tooling that tells you whether a strategy is real.

Pine Script conversion that ships with a reconciliation report. Backtest validation that finds the fills your equity curve is built on. Headless compile, backtest and optimization harnesses driven from Python, so a parameter search runs in seconds instead of an afternoon of clicking. Everything below is a system I actually built, with the real numbers it produced.

Full source code on every job NDA on request Reply within one business day No live-trading or account access required

Proof

Real output from a system I built, not a mockup

Every number on these three is reproducible from a saved artifact. Nothing here is estimated, rounded up, or taken from a screenshot I could not run again.

Terminal output showing a headless NinjaScript compile failing with two compiler diagnostics, then compiling cleanly after repair.

Headless NinjaScript compile with machine-readable diagnostics

Compiled against NinjaTrader's own shipped assemblies with no editor, no F5 and no screen scraping. Errors come back as structured JSON carrying file, line and column, which is what makes them repairable automatically instead of readable manually. Failed run: two errors in 0.350 s. Clean run after repair: 0.394 s.

A 54-point parameter campaign table beside an acceptance gate table showing that zero of 54 parameter sets passed.

A 54-point parameter campaign, and the gate that rejected all of it

Four parameters swept through NinjaTrader's own backtest engine from Python, 54 of 54 points completed in two seconds. The speed is not the interesting part. Not one of the 54 cleared the 200-trade sample floor, and the best profit factor in the sweep came off 37 trades — so nothing was promoted. An optimizer with no gate in front of it is a machine for manufacturing false confidence.

Side-by-side table comparing a Python bridge against NinjaTrader's Strategy Analyzer across 843 trades, matching exactly.

843 trades, reconciled against NinjaTrader's own Strategy Analyzer

Trade count, net profit and maximum drawdown match exactly; profit factor and Sharpe agree to the precision the Analyzer displays. The sample strategy loses money, and that is the point — the deliverable is a harness that reproduces the platform's numbers faithfully, including when those numbers are bad. A harness you cannot check is a harness you cannot trust.


What I build

Four things, all in the same corner of the platform

I do not do everything. This is NinjaTrader 8, NinjaScript and the Python tooling around it, which is why I can say something useful about your fills instead of just compiling your code.

Pine Script → NinjaScript conversion

Your TradingView indicator or strategy, rewritten as clean commented C#, with a report proving the two agree rather than a promise that they do.

  • Signal-by-signal comparison on the same bars
  • Differences explained, not quietly smoothed over
  • Session and timezone anchoring handled explicitly
  • Bar-close versus intrabar evaluation stated up front
From $189 · reconciliation report included

Backtest validation and audit

You have a profit factor you would like to believe. I go through the strategy and the backtest and tell you which parts of it are real.

  • Were the exits actually fillable inside the bar
  • Are costs and slippage genuinely in the numbers
  • Is the sample large enough to conclude anything
  • How it holds up walked forward instead of fit once
From $149 · written findings either way

Headless research harnesses

Compile, backtest and optimize NinjaTrader from Python instead of by hand. Parameter campaigns that run unattended and throw out what fails your criteria.

  • Structured compiler diagnostics fed back for automated repair
  • Campaign monitoring, pause, stop-job and stop-campaign controls
  • Results reconciled against the platform's native output
  • Acceptance gate written down before the search runs
By quote · scoped in a short call first

Custom NinjaScript development

Indicators, strategies, add-ons, and the unglamorous plumbing around them. Data pipelines, logging, recovery, version control.

  • Strategy-agnostic where it can be, so your real logic drops in later
  • Version controlled, with every previous revision kept
  • No order or account calls anywhere I do not need them
  • Your strategy stays yours — NDA on request, access removed at handover
By quote · fixed price once scope is clear

How I work

The boring commitments that actually matter

You get the source

Full commented source code on every job, no compiled-only delivery and no license server between you and the thing you paid for.

Bugs are on me

If something I wrote is broken, I fix it free. That is not a warranty upsell, it is just what finishing the job means.

Your strategy stays yours

NDA on request. Development can run against a generic sample so your real logic never leaves your machine until you want it to.

Nothing touches live

Research tooling I build carries no order or account calls at all. Separation from live trading is structural, not a setting you can forget to flip.

Two things worth saying up front

I build this for my own trading first. I run an automated research loop on my own account: a few hundred strategy variants put through backtest and measured against a gate fixed before the search starts. Two have ever cleared it. The NinjaTrader tooling here is that same discipline pointed at NT8, and its own output is above, including a 54-point campaign where nothing passed. I am taking client work now because the tooling kept proving more valuable than the strategies it rejected. There are no client reviews yet, so the output stands in for them. Ask me to explain any number on this page and I will show you how it was produced.

I will tell you if your strategy is broken. If you send me a backtest and the honest answer is that the edge is an artifact of generous fills or a forty-trade sample, that is the answer you get. I would rather lose the follow-on work than help you put money behind something that does not hold up.


Get a quote

Tell me your platform and what a strategy has to prove

The two questions that make a quote possible: what platform you are on, and what a strategy has to demonstrate before you would trade it. Send me the script or the backtest output and I will tell you honestly whether I can help before you order anything.

Start with an email

Include the platform, roughly what you want built or checked, and any deadline. If it is a conversion, the Pine source is enough to quote from. I reply within one business day.

jblaz6335@gmail.com