Order Flow Indicators & Tools
Footprint, cumulative volume delta (CVD), bid/ask delta, and Volume Profile tools with calculations matched to the available tick and volume data.
Work with a NinjaTrader developer to turn your trading rules into automated strategies, custom indicators, and practical trading tools. We build for NinjaTrader 8 — including prop trading automation, trade copiers, Add-Ons, and Python integrations, with execution logic matched to your workflow.
From strategy rules and chart analysis to platform tools and connected systems.
Nordman Algorithms provides NinjaTrader development services for discretionary traders, systematic traders, prop account users, and trading software vendors. Our NinjaTrader programmers build automated strategies, order flow indicators, scanners, Chart Trader tools, trade copiers, and prop trading automation around a defined set of rules.
Native components use NinjaScript and C# inside NinjaTrader 8. Add-Ons extend the workspace, while Python integrations and external APIs connect analytics, signals, and reporting. A NinjaTrader programmer defines the data feed, trading hours, contract settings, and account behaviour before implementation. Source code and full IP ownership are transferred on delivery.
Choose what you want to automate, analyse, connect, or improve. Each project is scoped for NinjaTrader 8 and the account environment where it will run.
Build an automated NinjaTrader strategy from your entry, exit, and position-sizing rules. Combine indicator signals, session filters, multiple data series, and defined order handling in a custom trading system.
Create NinjaTrader indicators for price action, order flow, volume analysis, and custom calculations. Define chart displays, alerts, multi-timeframe behaviour, and signal outputs that other tools can use.
Develop tools for permitted prop account workflows: daily loss limits, trailing drawdown monitoring, contract limits, and session controls. Agree how each rule is measured and which automated actions are allowed.
Copy trades between NinjaTrader accounts or supported external platforms. Handle contract mapping, quantity scaling, fills, order changes, and reconnect scenarios with clear rules for each receiving account.
Translate TradingView alerts, Telegram or Discord messages, and API signals into NinjaTrader orders. Add message validation, duplicate checks, contract selection, execution controls, and traceable logs.
Convert strategies and indicators between NinjaTrader and MT4, MT5, TradingView, cTrader, or TradeStation where the required functionality is available. Migrate NinjaTrader 7 source code to NinjaTrader 8 and check behaviour against reference examples.
Fix or extend existing NinjaScript source code. Investigate missed signals, order errors, chart issues, and differences between historical and real-time behaviour; then implement the agreed changes.
Build custom windows, account tools, standalone trade panels, and workspace extensions. Bring order controls, position monitoring, and reporting into a NinjaTrader interface designed around your routine.
Extend the Chart Trader workflow with custom buttons, contract sizing, ATM selection, and position-management actions. Define shortcuts for entries, stop adjustments, breakeven, and partial exits.
Monitor multiple instruments and timeframes from a single view. Build scanners, signal matrices, Market Analyzer workflows, and account dashboards with filters, alerts, and drill-down chart actions.
Connect NinjaTrader to Python models, signal services, market data feeds, and business systems. Use a native platform component or an external trading API according to the required workflow, available access, and supported accounts — market-data connections are assessed alongside execution, since licensing differs between them.
Prepare strategies, indicators, and Add-Ons for controlled distribution. Implement licence checks, trials, expiry rules, and protected builds with activation and renewal behaviour suited to your product model.
Specific components we can build within your indicator, strategy, scanner, or Add-On project.
Footprint, cumulative volume delta (CVD), bid/ask delta, and Volume Profile tools with calculations matched to the available tick and volume data.
Connect defined entry workflows to ATM templates, with agreed stop, target, breakeven, and trailing actions.
Add calculated values, conditions, and alerts to Market Analyzer as part of your scanning workflow.
Create interactive levels, zones, measurements, and chart annotations with behaviour tailored to your analysis.
Display custom metrics and trading context in SuperDOM columns, using the market data available to the account.
Define how bars are constructed and how they are drawn, including custom price, volume, or session-based views.
Not every requirement fits a predefined category. Send a description, screenshots of what you have in mind, reference files, or existing NinjaScript source code — we will review it and tell you what is technically possible on NinjaTrader and what it would take.
Before any code is written, a NinjaTrader programmer establishes the expected signals, actions, and account behaviour. We agree the scope, price, timeline, and acceptance examples before development starts.
Share a written outline, marked-up charts, or an existing project. Include your NinjaTrader version, instruments, and data connection if known. For an error, send steps to reproduce it and the relevant Log or NinjaScript Output messages.
Receive the agreed source files and import package, plus any external components included in the scope. We explain installation, required data or permissions, and the settings needed to reproduce the tested workflow.
NinjaScript and C# cover everything inside the desktop platform; the remaining interfaces carry data, orders and signals between it and external software.
Strategies, indicators and Add-On logic compiled into NinjaTrader Desktop, working with the platform’s order, position and account events directly.
Explore NinjaScript →WPF windows, custom controls and reusable .NET components that extend the platform’s interface, plus compatible libraries referenced from NinjaScript where a project needs them.
Explore C# / .NET →Python runs outside NinjaTrader — analytics, machine-learning models, data processing and reporting — and exchanges results with a NinjaScript or C# component through a defined interface. There are no native Python strategies.
Explore Python →Authentication, account access, order placement and position data through the supported REST Trade API. Availability depends on the account, organisation and entitlements — it is not a universal interface to every desktop installation or broker connection.
Explore REST API →Realtime market data streaming: quotes, depth where available, and chart data streams, with subscription and reconnection handling. Separate from the Trade API and subject to its own entitlements.
Explore WebSocket API →TradingView or another alert source posts to a hosted receiver, which validates the message and hands it to the NinjaTrader component. NinjaTrader itself is not the webhook server.
Explore Webhook →Futures are the platform’s primary market. Forex, CFD and equity access depends on the third-party connection and account you select.
Futures strategies, order-flow indicators and execution tools built around contract and tick size, trading sessions, and expiry or rollover handling.
Futures Automation →Forex and CFD availability comes from the third-party data and execution connection you choose, not from the platform itself. Symbols and sizing follow that provider.
Forex Automation →Equity analysis, scanners, indicators and alerts. Execution applies only where the selected connection and account support it.
Stock Automation →Work with a team that connects your trading requirements to the practical details of NinjaTrader development — with an agreed scope, ownership, and support from the outset.
Strategies, indicators, Add-Ons, and Chart Trader tools built in NinjaScript and C# by NinjaTrader programmers who work inside NinjaTrader 8 daily.
Your data feed, contract specifications, trading hours, and account connections are confirmed before development, not discovered during testing.
Receive an agreed feature list, fixed quote, and schedule. Additional requests can be assessed separately so the original delivery remains clearly defined.
Discuss proprietary rules under an NDA when needed. Source-code delivery and ownership terms are established before work starts.
Get help with installation, input settings, and technical questions within the agreed support scope. Existing projects can be extended as your requirements change.
Examples from our product range show the types of chart analysis, session tools, and signal connections our team develops for NinjaTrader.

FootPrint OrderFlow indicator: bid/ask volume per price, per-bar POC and Value Area, diagonal imbalances, stacked imbalance zones, unfinished auctions, delta.
Best SellerLiquidity Sweeps indicator: swing high and low sweeps, wick-based or break-and-retest detection, minimum sweep distance, mitigation modes, zone expiry, alerts.
Best SellerKill Zones indicator: ICT Asian, London and New York sessions, custom sessions, session high, low and midpoint pivots, Day Open, extended pivots, alerts.
TrendingCloud copier from TradingView alerts to NinjaTrader 8: manual, strategy and indicator workflows, No-Code setup, TP/SL, position sizing, prop limits.
Explore our NinjaTrader products, or discuss a custom tool built around your own trading rules.
Practical answers about custom strategies, existing NinjaScript code, account automation, and connecting NinjaTrader to other systems.
Send your trading rules, example charts, and a description of the expected signals or actions. Include your NinjaTrader version, instruments, data connection, and account type if known. For existing-code work, share the editable NinjaScript or C# files and steps that reproduce the issue. We clarify the remaining details during the technical assessment.
Yes. We review the available source code and agree the behaviour to change. Typical tasks include missed entries, incorrect alerts, order-state problems, new filters, and chart display issues. A protected DLL alone is not editable source code; if source is unavailable, we can assess rebuilding the functionality from documented rules.
Yes, when the required signal can be accessed or reproduced with the appropriate permissions. We define when it becomes valid, whether it can change during a bar, and how it should trigger an order. The strategy also needs explicit sizing, exit, session, and error-handling rules.
Yes, where the account supports NinjaTrader and the firm permits the proposed workflow. Controls can cover daily loss, trailing drawdown, contract limits, and trading hours. We agree reset times, the treatment of unrealised profit or loss, and the actions the software may take. These tools do not guarantee a passed evaluation or eliminate execution risk.
A trade copier follows activity on a source trading account and applies corresponding actions to receiving accounts. A signal copier interprets an external instruction, such as a TradingView alert or Telegram message, before placing an order. Contract mapping, sizing, duplicate handling, and fill behaviour are defined for the selected workflow.
Yes, when source code or a sufficiently detailed specification is available. NinjaTrader 7 to 8 migration requires adapting the code to the newer framework. Cross-platform conversion rebuilds calculations, data handling, and order logic for the destination. We compare signals and actions using agreed examples rather than assuming identical results across different feeds or fill models.
Yes. Chart Trader tools can add controls for order entry, contract sizing, and position-management actions. ATM integration can connect an entry workflow to agreed stop and target templates. We establish what the ATM manages and what the custom component manages, then test the combined behaviour in an appropriate simulation or Playback workflow.
Yes. A native NinjaTrader component can exchange data and signals with an external Python service, webhook receiver, or other API. External NinjaTrader trading API access is a separate route with its own account and access requirements; it is not a universal REST interface to every connected broker. The architecture is agreed before implementation.
We provide a fixed quote and timeline after reviewing the scope. Tests use agreed reference cases, historical analysis where suitable, and simulation or Playback for execution and integrations. Order flow calculations depend on the available tick, bid/ask, or depth data. Delivery includes the agreed source files, import package, setup guidance, and technical support.
Yes. Strategies, indicators, and Add-Ons can be prepared for controlled distribution using compatible protected builds and licence checks. We assess vendor licensing or custom activation against your access and product model, including trial, expiry, renewal, and offline behaviour. Protection helps control distribution but cannot guarantee that software is impossible to copy.
Options support has to be checked before a project is quoted. It depends on the instrument, the selected connection, the broker, the market data, and what NinjaScript exposes for that instrument type — options do not behave like futures in the platform. We review those together and tell you what is workable before any commitment.
Share your strategy rules, a chart example, the tool you want to improve, or the systems you need to connect. We will review the materials and define the next steps for your NinjaTrader project.