Request A Free Quote
NinjaScript · NinjaTrader 8 · C#

NinjaScript Developer — Custom NinjaScript Programming Services

Hire a NinjaScript developer to write strategies, indicators, add-ons and custom chart types for NinjaTrader 8 — or to fix, speed up and extend the NinjaScript code you already have.

3,000+ Projects Delivered Company-Wide
Clear Scope, Price & Timeline
Source Code & IP Ownership
Post-Delivery Support
Get Free Technical Assessment
Guaranteed response within one business day


    Service overview

    NinjaScript Code for NinjaTrader 8

    Strategies, indicators and tools written in C# for the way NinjaTrader 8 actually runs.

    Nordman Algorithms writes NinjaScript for futures traders, prop traders, signal providers and software vendors on NinjaTrader 8. Our NinjaScript developers work from trading rules, a written specification or just a plain description, or existing .cs files.

    NinjaScript is C#, so a script can draw its own graphics on the chart, open separate windows, react to market events and use compatible .NET libraries. Each project is tested in the way that suits it before it is delivered.

    You receive the C# source and all rights to it when the work is delivered.

    ES 12-26 · FootprintOnRender()
    12×28
    45×61
    88×74
    132×118
    96×57
    41×12
    8×21
    34×79
    102×140
    151×176
    97×88
    40×36
    26×64
    71×118
    133×162
    90×84
    44×31
    4,513.754,513.504,513.254,513.004,512.754,512.504,512.254,512.00
    Cumulative delta
    Illustrative · drawn by a custom NinjaScript indicator
    New development

    What We Build in NinjaScript

    Strategies, indicators, add-ons and trade copiers for NinjaTrader 8, written by our NinjaScript programmers from your rules.

    01Strategies

    NinjaScript Strategy Development

    Automated strategies with managed or unmanaged orders, ATM templates, multi-timeframe logic and risk limits.

    02Indicators

    NinjaScript Indicator Development

    Indicators with custom drawing on the chart, alerts and values other scripts can use.

    Custom indicatorSignal
    03Add-Ons

    NinjaScript Add-On Development

    Separate windows and tools that work across the whole platform, not just one chart.

    04Trade Copiers

    NinjaScript Trade Copier Development

    Trades copied between NinjaTrader accounts, or into NinjaTrader 8 from other platforms, with sizing set per account.

    Also built in NinjaScript:Drawing ToolsMarket Analyzer ColumnsSuperDOM ColumnsCustom Bar TypesChart Styles
    Working with existing code

    NinjaScript Code Services

    A NinjaScript developer working on the strategies, indicators and add-ons you already have — modifying, fixing, speeding up, connecting and converting them.

    NinjaScript Code Modification

    New conditions, filters, inputs and features added to existing strategies and indicators — including scripts written by another developer — so that what already works keeps working.

    For example
    • Time and session filters
    • ATM template integration
    • Multi-timeframe conditions
    • Alerts to phone and email

    NinjaScript Debugging & Error Fixing

    Compile errors after NinjaTrader updates, runtime errors in the log, strategies that disable themselves and orders rejected by the connection — traced to the cause and fixed. When real-time trading differs from the backtest, we find out why and correct the code or the test.

    For example
    • Strategy disables itself
    • Runtime errors in the log
    • Real-time and backtest results differ
    • Orders rejected by the broker

    NinjaScript Performance Optimization & Refactoring

    Indicators that slow charts down on tick data, heavy custom drawing and tangled strategy code made lighter, and restructured into clear, reusable C# classes.

    For example
    • Faster indicators on tick charts
    • Lighter custom drawing
    • Shared base classes
    • Faster Strategy Analyzer runs

    NinjaScript API & External System Integration

    NinjaTrader 8 connected to external systems: HTTP and WebSocket clients, databases, external DLLs and links to Python or other applications — often inside an Add-On that runs for the whole platform.

    For example
    • Webhook signals into NinjaTrader
    • Trade log to a database
    • Python model feeding a strategy
    • Licence check against a server

    NinjaScript Conversion & Migration

    Trading logic from Pine Script, MQL4, MQL5 or EasyLanguage rebuilt in NinjaScript, and NinjaScript moved to other platforms — rebuilt for how each platform runs rather than translated line by line, with results compared side by side. For moving whole strategies between platforms, see Cross-Platform Conversion.

    For example
    • Pine Script to NinjaScript
    • MQL4 or MQL5 to NinjaScript
    • NinjaTrader 7 scripts to NinjaTrader 8
    • Side-by-side result check

    Have a NinjaScript task that is not on this list?

    Send a description of what you need and the .cs files or exported package if there is existing code — we will review it and tell you what it would take.

    Discuss Your Project
    Getting NinjaScript right

    Where NinjaScript Projects Go Wrong — and How We Handle It

    Many NinjaScript problems come from how NinjaTrader 8 runs code rather than from the trading idea. These are the ones our code is written to avoid.

    Situation
    How we handle it
    Works on history, differs in real time
    The calculation mode and the switch from historical to real-time data are handled on purpose, and order handling is checked in simulation, not only in a backtest.
    The strategy disables itself or loses track of the account
    Orders are handled in managed or unmanaged mode as the strategy needs, and the position is synchronised with the account when the strategy starts.
    Charts slow down on tick data
    Needless recalculation is removed, and custom drawing is kept light, reusing and releasing its resources properly.
    Several instruments or timeframes in one script
    Added data series are kept in step, so each bar is processed in the right order across every series.
    Combined projects

    NinjaScript With Other Technologies

    A project can combine NinjaTrader components, external C# services and Python models. How the work is split between them depends on what the project needs.

    Inside NinjaTrader

    C# / .NET

    Strategies, indicators and Add-Ons run inside NinjaTrader 8, and separate C# tools or services can exchange data with them.

    Outside analysis

    Python Applications

    Models and analysis run in Python, and their results reach a strategy through a local connection.

    Server connections

    REST, WebSocket & Webhooks

    Data services and servers reached over HTTP or live connections, and TradingView or other alerts brought in through a webhook receiver.

    Development process

    How a NinjaScript Project Works

    We agree the rules, the instruments and data you trade, and the acceptance checks with you before any code is written.

    Project workflow
    STEP 01
    Rules or Code
    Description · .cs files · screenshots
    STEP 02
    Scope & Data
    Logic · instruments · data connection
    STEP 03
    Fixed Quote
    Scope · price · delivery schedule
    STEP 04
    Development
    NinjaScript · C# · clear structure
    STEP 05
    Testing
    Method agreed for each project
    STEP 06
    Delivery & Support
    Source · package · guidance
    To Get Started

    Send a description of the rules or the change you need, any existing .cs files or exported package, and the NinjaTrader 8 version and data connection you use.

    Rules or Change Needed.cs Files or PackageData ConnectionScreenshots
    At Delivery

    Receive the .cs source files, an exported package ready to import and a guide to every input — plus templates and a test report where the project includes them. We walk through the specified behaviour and provide technical support under the agreed terms.

    .cs SourceImport PackageInput GuideTemplates if usedTest Report if used
    Why Nordman Algorithms

    Why Work With Nordman Algorithms

    Work with NinjaScript programmers who build NinjaTrader 8 tools every day.

    NinjaTrader 8 Products of Our Own

    Our own NinjaTrader 8 indicators, order-flow tools and trade copiers are written in NinjaScript, so tick data, custom drawing and live order handling are familiar ground.

    See our NinjaTrader products →

    Testing Matched to the Project

    Test methods are chosen for each project — the Strategy Analyzer, Playback, interface checks or a simulation account — rather than one fixed set for everything.

    Clear Scope and Pricing

    Requirements, deliverables, fixed price and acceptance examples are agreed before development begins.

    NDA and IP Ownership

    An NDA is available on request. Source code and full IP ownership are transferred on delivery.

    Support After Delivery

    Installation help, input explanations and technical answers within the agreed support scope.

    FAQ

    NinjaScript Development Questions

    Practical answers about NinjaScript code, existing scripts and NinjaTrader 8.

    Yes. NinjaTrader 8 changed how scripts start up, draw on the chart and handle orders, so we rebuild NinjaTrader 7 code for the new model instead of patching it until it compiles, then compare the results with the original.

    Some differences come from the code — for example the calculation mode or how the switch to live data is handled — and those can be corrected. Others come from the data and from how a backtest simulates fills: slippage and live execution cannot be recreated exactly. We find which applies and tell you which part can be fixed in code and which cannot.

    Yes. The strategy places its entry through an ATM template, which then manages the stop, target and trailing orders. Trades managed this way cannot be backtested in the Strategy Analyzer, so the setup is checked in simulation instead.

    Yes. We read the existing .cs files first to see how the script is built and what it relies on, then make changes so the parts that work keep working.

    Yes. NinjaScript can be exported as a compiled package with protection options, and licensing can be added so the product only runs for your customers.

    We do not reverse-engineer compiled or protected files. If you have the rules, settings or screenshots of how the tool behaved, we check whether it can be rebuilt from them — and if it can, you get readable C# source that is yours.

    Yes. You receive the .cs source files, an exported package ready to import into NinjaTrader 8 and instructions, plus templates where the project uses them. Source code and full IP ownership are transferred on delivery.

    A description of the rules or the change you need, any existing .cs files or exported package, your NinjaTrader 8 version and the data connection you use. Screenshots of charts and settings help as well.

    Tell Us About Your NinjaScript Project

    Send your trading rules, or the NinjaScript code and what should change. We will review it and outline a practical scope for your project.

    Free technical assessment
    Clear scope before development
    Post-delivery support