
Learn how to download NinjaTrader, set up a demo account, configure data connections, and renew data access to keep practicing algorithmic trading.
Guides a fresh NinjaTrader installation, server setup, and creation of a new account connection with a demo login email, enabling futures historical data in the control center.
Activate your strategy on the chart in sim mode and monitor real-time and historical performance. Adjust symbol, bar type, and chart options to analyze virtual and actual trades.
Right-click a trade entry, open the chart to view its exact spot and exit timestamp, then use the cursor to reveal date and locate the first trade on the left.
Explore how to backtest strategies in the analyzer, using the optimizer and walk-forward optimizer, and run multi-symbol tests across timeframes for fast performance analysis.
Learn to backtest trading strategies in NinjaTrader's strategy analyzer by saving and loading templates, opening multiple analyzers, applying filters, selecting instruments and strategies, and comparing run differences.
Choose when to move from a virtual position to real trades: wait for the virtual position to close or for the strategy to be flat, or immediately submit market orders.
Enable and use market replay in NinjaTrader by downloading replay data, selecting symbol and date, connecting to replay, and running a strategy to trade on replay.
Explore NinjaTrader's output and edit windows, learn to compile with Ninja, work with references and templates, and manage defaults to avoid template mismatches.
Create a custom instrument list in NinjaTrader via instrument manager, adding the Japanese yen, British pound, Canadian dollar, and euro, then specify data like 60-minute bars and days to load.
Explore advanced charting techniques in NinjaTrader, including horizontal and vertical zoom, crosshair linking across two charts, drawing tools, and managing templates and workspaces to preserve setups.
Install Visual Studio Community Edition, open the ninja solution, and organize strategy projects; inherit from strategy, make classes public, and override key methods like initialize and on bar update.
Explore variable types such as int, string, double, and boolean, and learn how to declare, initialize, and update them in a class, including global and local scope and conditional logic.
Learn indexing in ninja trader with dot net arrays, lists, and objects; understand current bar, bar count, and last closed bar to avoid index-out-of-range errors.
Learn to use lists in C# for trading data, initialize doubles lists, store price ranges in a class, and compute max and average prices with for and foreach loops.
Learn how constructors initialize objects with initial values, compute range on creation, and encapsulate fields, then expose results via methods with return types like bar, comparing simple versus cleaner approaches.
Explains what a void method is and how a static private method can set the favorite bar each time the bar closes, without returning a value.
Learn the core framework for algorithmic trading in NinjaTrader: detect entry signals, manage active positions, handle entry and exit orders, and adjust position size based on last trades and profits.
Examine initialization and order events in NinjaTrader, including termination and unsubscribing. Learn to use order updates to set entry prices, stops, and exits on each bar.
Learn bars since entry, which counts how many bars pass since your entry, including behavior on the entry bar, and to use it to control entry timing and trading frequency.
Reference your indicator inside a NinjaTrader strategy by initializing and compiling it, then assign its parameters from strategy parameters. Access its data series on each bar and use previous values.
Learn how to configure strategy parameters in NinjaTrader, including setting a period parameter, reloading strategies, and exposing parameters to the strategy analyzer for optimization.
Configure parameters correctly in the strategy analyzer to ensure the initial lot size and position size respond as expected, using the state configured workflow when running the strategy.
Discover the updated simple strategy framework for NinjaTrader that uses Bollinger breakout signals to enter long and short trades with stop losses and profit targets.
Watch a live transfer of a NinjaTrader strategy from NT7 to NT8, updating parameters, orders, and indicators as the code moves to the new framework and performance is reviewed.
Learn to place indicator parameters into the indicator constructor in NinjaTrader, update the parameters region with volatility period and bars, and ensure the strategy reflects new parameters after editor compilation.
Reference a data series from your strategy by adding an updateable data series to your indicator and initialize it in the override, implementing an update method to fetch values.
Learn to create indicators for NinjaTrader 8 by configuring namespaces and folders, handling state changes, and plotting close and high prices with blocks and multidimensional arrays.
Discover how to manage custom bar types in NinjaTrader, including their folder location, memory slot clashes, and why you must compile and restart to load changes.
Learn practical debugging techniques to locate an index out of range error in a NinjaTrader indicator by placing prints, using traces, and narrowing the fault to a specific method.
Explore the draw line hack for NinjaTrader by plotting signal events with lines, dots, or text, and align values to the correct bar using y coordinates.
Learn to draw lines and text on a chart using draw commands and a string tag. Understand how a unique index prevents tag based replacement of drawn objects.
Learn to configure commissions in NinjaTrader's futures simulator, toggle include commissions on or off via the chart or code, and set static commission levels for testing order placements.
Learn to draw beautiful captions with full control over font color, y offset, alignment, background color, box color, and background opacity, including multi-line text.
Learn how NinjaTrader fills orders by ask and bid in replay mode, where market orders execute at the current price, not a bug, but expected behavior.
Learn to create and wire up custom toolbar buttons in NinjaTrader, including separators and click events, and to remove them on strategy termination to keep charts clean.
Learn to use a custom button to replace a profit order by one tick higher, cancel existing orders, renew the line, and update the order's state and name.
Learn to control execution in NinjaTrader by bar close versus tick triggers, compare history and live data, and build a hybrid approach for ticks and closes.
Explore how to distinguish the last live bar from the last closed bar in NinjaTrader by using tick data, timestamps, and bar indexing.
Explore using the global crosshair tool to compare bars across timeframes, such as the 15-minute chart, and identify patterns like double bottoms and tops.
Implement a type converter to toggle a strategy’s enabled state based on manual mode, using refresh properties and a custom read-only descriptor within NinjaTrader add-ons.
Create a private Telegram channel and a board, assign administrators, then copy the board API key and the chat I.D. into NinjaTrader to enable automated messaging.
Execute a concise code walkthrough of the Telegram API integration, combining the bot token API and chat ID to form the request, then send the final message to Telegram.
Explore how to optimize trading strategies in NinjaTrader using the strategy analyzer, define adjustable parameters and time frames, and compare genetic versus brute-force optimization.
Explore custom optimization by tracking equity highs in the strategy analyzer to maximize new equity highs, and blend metrics like profit factor and max consecutive losses into a composite score.
Navigate the chart trader and replay mode to practice on a one-minute chart, placing market, bid/ask, and limit orders while managing long and short positions, take profits, and stop losses.
Learn how to configure ATM in NinjaTrader's chart trader. Set one or two profit targets and stops in ticks, understand counting from the starting point, and how to split positions.
Learn how to set an initial 10-tick stop and 10-tick profit target in NinjaTrader, then move the stop to breakeven after five takes.
Explore the three-step audit trail mechanism in etm, with a provided link to explore what the audit trail does and guidance to read the math and logic.
Learn to run chart trader and a custom strategy script in sync on NinjaTrader, enabling simultaneous chart data access and automated position management.
Learn to customize chart trader controls by creating a sample indicator, adding a button and text box, wiring up events, and handling layout and reloads in NinjaTrader.
Learn to set up OCO bracket orders in NinjaTrader to automatically place stop loss and profit targets on breakout entries using a custom strategy template.
Connect your a-team strategy to the ETM in NinjaTrader 8, using the Adium template with 15 ticks stop loss and 15 ticks profit to manage entry and positions.
Learn to build custom bar types in NinjaTrader, control bar formation by tick thresholds, manage direction changes, and implement data points, properties, and memory slots in a practical example.
Learn how to set initial look back days in NinjaTrader by loading data as days or bars, using time stamps, and retrieving a specified number of bars for analysis.
Discover how to set and display names in NinjaTrader, using the 15 and 8 columns and the bar tab. Save changes with state and figure, and monitor logs for errors.
Learn how to enable on-chart time stamps for intraday bars in NinjaTrader by configuring the data setting to true, revealing time, week, and date when hovering over bars.
Explore how custom bar types work under the hood in NinjaTrader, including how ticks populate the bars object and the initial zero bars count after loading historical data.
This lecture explains how to build five-tick bars using add bar and update bar in NinjaTrader, showing how open, high, low, and close are updated per tick.
learn to create renko bars in ninja trader by triggering a new bar when the bar size is exceeded, counting ticks from the close.
Explore YZ bars in NinjaTrader, four bar types that trade cleanly with close-based rules, turnarounds, and trend direction from closes, including green/red bars and non-refactored and refactored code.
Refactor the bars module to speed up rendering by removing comments, adding a helper method to avoid repeated parameter setup, and enable cashing for instant bars.
Explore a NinjaTrader trading system that scales by order and lot sizes based on conditions, inspired by Larry Williams. See how the code demonstrates concepts useful for future system development.
Learn to build a simple, rule-based trading system in NinjaTrader, using RSI and price dips for entry, multiple entries, RSI-based exits, and a safety stop as an optimizer-friendly framework.
Add parameters to a NinjaTrader strategy, define entry and exit periods and values, set defaults and lot sizes, then compile and prepare to add indicators.
Add and configure indicators in NinjaTrader, including RSI and plots, manage parameters with regions, and optimize settings for visualization and strategy debugging.
In NinjaTrader, edit the indicator display name by changing the name in the designated field, then exit to apply the new label to the top entry and its sign.
Explore the system main business logic layer to manage entry points, active positions, exits, safety stops, and orders in a NinjaTrader trading strategy.
Finalize the NT7 trading system by integrating an entry rule that excludes invalid first entries, applying per-direction entry limits, and clarifying unique versus all entries to optimize equity and drawdown.
Explore code differences for NinjaTrader 8, including labeled parameters in groups, on stage change with try catch debugging, and updates to adding indicators to charts and to order objects.
Explore a breakout system based on bands, learn position sizing with martingale methods and integrator-based sizing, study order tracing, optimization, and real-world adaptation for disciplined trading.
Design a rule-based trading system with profit targets, dynamic stop lines, and reversals on stop hits. Explore breakout and bounceback strategies and their combination for market moves.
Explore post concepts in a NinjaTrader system, detailing entry and exit rules, three exit opportunities, and money management options like max turnarounds and auto margin with a buffer.
The lecture demonstrates building the base code for a NinjaTrader strategy, including setting up indicators such as Bollinger bands, default parameters, risk rules, and a workflow for testing and saving.
Distinguish entry types by defining long breakout and short breakout rules and mapping entry signals to exact orders, while tracking active positions, stops, and profit targets.
Learn to implement breakout trading in NinjaTrader by signaling long and short breakouts, initializing profit targets and stops at entry, and managing breakout orders and exits.
Trace orders during a live debugging session to verify long breakout entries, manage stop and profit orders, and observe automatic cancellations with NinjaTrader's order handling.
Separate stop management from profit targets by setting profit targets at entry and updating stops per bar for long/short breakouts, using a debug helper to trace time and price.
Demonstrate real-time forex profit calculations from a long 10,000 lot trade, converting USD to JPY at entry and exit. Reveal a historical statistics conversion bug and outline a workaround.
Explore a practical percentage workaround in NinjaTrader, showing each trade’s own percentage and a final 26 percent summary, regardless of capital size, while noting currency results can be inconsistent.
Apply the pips workaround by converting 100 jpy to dollars, tracking profits in the summary, and noting a roughly 3,000 dollar drawdown as a quick fix.
Optimize breakout style parameters in NinjaTrader, test stop styles, and compare performance through extensive backtests, examining profit, drawdown, and consecutive losses.
Explore implementing a martingale money management model in NinjaTrader, projecting losses and pip-based profits, calculating exit orders, PNL, and system performance across trades.
Explore a martingale limiter framework that caps max lot size, applies margin and buffers, and toggles between automatic and manual money management to control risk in NinjaTrader trading simulations.
Explore how to set and test max lots and a martingale-based turnaround limiter within NinjaTrader, balancing profit targets, losses, and money management rules.
Optimize parameters to achieve a 64% win rate and notable profits in this NinjaTrader system, while comparing money management classic versus long settings.
Explore system stability in algorithmic trading by examining exhaustive parameter optimization and how net profit and profit targets vary on a two-dimensional graph, identifying the Bollinger comfort zone.
Apply a classic martin gale money-management approach to the CME in NinjaTrader, calculating cumulative losses in currency and points to set max lot size by contract value.
Analyze a live market trading system issue with NinjaTrader, where a martingale caused an enormous order and a margin call; the lecture focuses on fixes and introducing a reversal.
Learn to populate a runtime account list in NinjaTrader strategies by using a friendly string converter to bind available accounts to a combo box and select the account name.
Implement the first live trade fix by resetting position sizing after the first real-time entry and review historical versus real-time equity transition for the Vonage breakout on a 15-minute frame.
Explore how the margin checker calculates required margin from cash value and initial margin, adjusts for real account cash, and enforces max lot size and buffer constraints when opening positions.
Identify and troubleshoot a NT8 order bug, showing how entry orders and bracket targets interact, and how tracing aids debugging.
Diagnose and fix order handling in NinjaTrader by applying Ninja methods for profit targets and stops, test on replay, and ensure no orders are ignored.
Learn how to implement the OnExecutionUpdate override in NinjaTrader to ensure stop loss and profit targets execute after fills, improving order stability and handling execution events.
Resolve an XML serialisation exception by addressing non-serializable public properties, such as dictionaries, and ignoring the problematic line while preserving consecutive wins and losses with color.
Learn to plot a color indicator in NinjaTrader 8 based on its values, referencing the index and bars ago, and set the brush color within the strategy.
In this course I share my professional experience with NinjaTrader. The course is mostly designed to show some of the under cover possibilities and opportunities that this amazing piece of software brings.
Since my trading experience carries on every day, this course is a live organism and I always add new features I discover that are exciting as well as have been painfull to understand and become aware of.
The course is strictly based upon personal experience. Inside I show how to hack NinjaTrader inside out using the power of .NET to bring in winforms, powerfull research tools, extra design features and make your own software on top of NinjaTrader.
Some of the covered topics include:
Designing simple and complex strategies with NinjaTrader.
Implementing custom buttons to toolbar, chart trader and anywhere you like.
Creating custom forms,
Trading NinjaTrader in half automated fashion using Chart Trader.
Creating custom indicators.
Interfearing with the chart zone.
Creating custom optimization fitness parameters.
Designing your own indicators, analyzers, addons.
Creating components to reuse code.
Working wit multiple timeframes and symbols at the same time.
Creating custom bar types.
Stay tuned to this course and you will always be updated on real life scenarios from the live trading world.
Please trade with caution!
Futures and forex trading contains substantial risk and is not for every investor. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing ones’ financial security or life style. Only risk capital should be used for trading and only those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of future results.