Contents | Search


  • Welcome to NinjaTrader Version 7
  • What's New in Version 7
  • Release Notes
  • Risk Disclosures
  • Risks of Electronic Trading with NinjaTrader
  • Copyrights
  • Introduction
    • Getting Help & Support
    • Purchase NinjaTrader
    • Learning to Use NinjaTrader
  • Configuration
    • Connecting
      • Connecting to your Account
      • Multiple Connections
      • External Data Feed Connection
      • Market Replay Connection
      • Simulated Data Feed Connection
      • Connecting to Kinetick
      • Connecting to TradeStation
      • Connecting to Collective2
    • Installation
      • Minimum System Requirements
      • Clear Browser Cache
      • Get Connected Window
      • Getting Started Window
    • Options
      • General Tab
      • Strategies Tab
      • Simulator Tab
      • Log Tab
      • Commission Tab
      • ATI Tab
      • Data Tab
      • RSS Tab
      • Misc Tab
    • Performance Tips
  • Operations
    • Account Groups
      • Managing Account Groups
    • Advanced Trade Management (ATM)
      • ATM Strategy
        • ATM Strategy Parameters
        • ATM Strategy Selection Mode
        • Stop Strategy
          • Auto Breakeven
          • Auto Trail
        • Manage ATM Strategy Templates
        • Tutorial: ATM Strategy Example #1
        • Tutorial: ATM Strategy Example #2
      • Advanced Options
        • Auto Chase
        • Auto Reverse
        • Shadow Strategy
      • Close At Time
      • FAQ
    • Alerts
      • Using the Alerts Window
      • Window Linking
    • Automated Trading
      • Automated Trading Interface (ATI)
        • What can I do and how?
        • Commands and Valid Parameters
        • Initialization
        • Trading currencies (FX) and options
        • File Interface
          • Order Instruction Files (OIF)
          • Information Update Files
          • Automated Trading OIF Builder
        • DLL Interface
          • Functions
          • eSignal Sample Code
          • TradeStation Sample Code
        • eSignal Integration
          • Set Up
          • Functions
          • Sample Code
          • Tips
        • TradeStation Integration
          • Email Interface
            • Symbol Mapping
            • Running concurrent strategies in the same market
            • Set Up
            • Order Handling Options
            • Stop Order Handling
            • Workspace Options
          • DLL Based Integration
            • Set Up
            • Functions
            • Sample Code
            • Running NT on a different PC than TS
            • Tips
      • Running NinjaScript Strategies
        • Setting Real-Time Strategy Options
        • Running a NinjaScriptStrategy from a Chart
        • Running a NinjaScriptStrategy from the Strategies Tab
        • Running FX Strategies
    • Backup & Restore
      • Creating a Backup Archive
      • Restoring a Backup Archive
    • Charts
      • Creating a Chart
      • Navigating a Chart
      • Working with Price Data
      • Bar Types
      • Working with Indicators
      • Working with Drawing Tools & Objects
      • Working with Automated Strategies
      • Chart Templates
      • Saving Chart Defaults
      • Data Box
      • Global Cross Hair
      • Trading from a Chart
      • Chart Properties
      • Power Volume Indicators
      • Reload Historical Data
      • Window Linking
      • How Bars are Built
      • How Trade Executions are Plotted
    • Control Center
      • File Menu
      • Tools Menu
      • Help Menu
      • Orders Tab
      • Strategies Tab
      • Executions Tab
      • Positions Tab
      • Accounts Tab
      • Account Performance Tab
        • Performance Data Tabs
        • Efficiency Graphs
        • Statistics Definitions
      • Log Tab
      • Status Bar
    • Data Grids
      • Working with Data Grids
    • Historical & Real-Time Data
    • Historical Data Manager
      • Importing
      • Exporting
      • Editing
      • Download
    • Hot Key Manager
      • Working with Hot Keys
      • Trading with Hot Keys
    • Instrument Manager
      • Searching for Instruments
      • Adding Splits and Dividends
      • Editing Instruments
      • Adding Commission Rates
      • Instrument Lists
      • Manage Database
      • TradeStation Symbol Mapping
      • Importing a List of Stock Symbols
      • Rolling Over a Futures Contract
    • Level II
      • Using the Level II Window
      • Level II Properties
    • Market Analyzer
      • Creating a Market Analyzer Window
      • Working with Instrument Rows
      • Working with Columns
      • Creating Alert, Cell and Filter Conditions
      • Dynamic Ranking and Sorting
      • Market Analyzer Properties
      • Working with Templates
      • Performance Tips
      • Reloading Indicators & Columns
      • Window Linking
    • Market Replay
      • Set Up
      • Replay
      • Data Files
    • News & RSS
      • News Window
      • Window Linking
    • Order Entry
      • Simulated Stop Orders
      • FIFO Optimization
      • Closing a Position or ATM Strategy Position
      • Window Linking
      • Order State Definitions
      • Basic Entry
        • Market Display
        • Order Grid Display
        • Selecting Instruments and Accounts
        • Submitting Orders
        • Modifying and Cancelling Orders
        • Action Buttons
        • Adding or Removing Targets
        • Window Linking
        • Basic Entry Properties
      • Chart Trader
        • Order & Position Display
        • Collapsed View
        • Submitting Orders
        • Modifying and Cancelling Orders
        • Action Buttons
        • Chart Trader Properties
      • FX Pro
        • Overview
        • Selecting Instruments and Accounts
        • Submitting Orders
        • Modifying and Cancelling Orders
        • Adding and Removing Targets
        • FX Pro Properties
      • SuperDOM
        • Price Ladder Display
        • Static vs Dynamic Price Ladder Display
        • Selecting Instruments and Accounts
        • Order Display
        • Submitting Orders
        • Modifying Orders
        • Cancelling Orders
        • Adding and Removing Targets
        • Action Buttons
        • Window Linking
        • SuperDOM Properties
    • Session Manager
      • Using the Session Manager
    • Simulator
      • The Sim101 Account
      • Multiple Simulation Accounts
      • Live/Simulation Environment
      • Global Simulation Mode
      • Trading in Simulation
    • Strategy Analyzer
      • Strategy Analyzer Window
      • Backtest a Strategy
      • Optimize a Strategy
        • Genetic Algorithm
      • Walk Forward Optimize a Strategy
      • Basket Test
      • Reviewing Performance Results
      • Saving Performance Results
      • Monte Carlo Simulation
        • Running a Monte Carlo Simulation
      • Discrepancies: Real-Time vs Backtest
    • Strategy Wizard
      • Wizard Screens
      • Condition Builder
      • Strategy Actions
    • Time & Sales
      • Using the Time & Sales Window
      • Time & Sales Properties
      • Window Linking
    • Window Linking
      • Linking Windows
    • Workspaces
      • Managing Workspaces
  • NinjaScript
    • Distribution
      • Import
      • Export
      • Export Problems
      • Protection/DLL Security
      • Commercial Distribution
        • Licensing/User Authentication
        • Best Practices
        • Distribution Procedure
    • Editor
      • NS Editor Components
      • Intellisense
      • Automatically Inserting Actions and Conditions
      • Code Snippets
      • Compile Errors
      • Visual Studio Debugging
      • Compile Error Codes
        • CS0019
        • CS0021
        • CS0029
        • CS0103
        • CS0117
        • CS0118
        • CS0200
        • CS0201
        • CS0234
        • CS0246
        • CS0428
        • CS0443
        • CS0665
        • CS1002
        • CS1501
        • CS1502
        • CS1503
        • CS1513
        • NT0019
        • NT0029
        • NT1503
        • NoDoc
    • Educational Resources
      • Basic Programming Concepts
        • Basic Syntax
        • Branching Commands
        • Looping Commands
        • Functions and Methods Explained
      • Developing Indicators
        • Developing Outside of the NinjaScript Editor
      • Developing Strategies
        • The Strategy Development Process
        • Strategy Position vs. Account Position
        • Syncing Account Positions
        • Using ATM Strategies
      • Developing Custom Fill and Optimizer Types
        • Fill Types
        • Optimizer Type
      • Reference Samples
        • Indicator
          • Calculating the highest high or lowest low for a specified time range
          • Changing fonts for draw objects
          • Coloring a region
          • Creating a user-defined parameter type (enum)
          • Creating your own Level II data book (Accessing market depth)
          • Draw Objects
          • Ensuring indicator plots are valid before programmatically accessing them
          • Exposing indicator values that are not plots
          • Getting indicator values from a specified time
          • Manipulating DateTime objects
          • Manipulating string objects
          • Multi-Colored Plots
          • Removing and Custom Formatting an Indicator’s Chart Label
          • Using a secondary series as an input series for an indicator
          • Using a Series or DataSeries object to store calculations
          • Using custom events to output the current Level II data book
          • Using StreamReader to read from a text file
          • Using StreamWriter to write to a text file
          • Using System.IO File properties to write to and read from a text file
          • Using Try-Catch Blocks
        • Strategy
          • Backtesting NinjaScript Strategies with an intrabar granularity
          • Entering on one time frame and exiting on another
          • Getting PnL from an ATM strategy
          • Halting a Strategy Once User Defined Conditions Are Met
          • Keeping orders alive
          • Modifying the price of stop loss and profit target orders
          • Monitoring for and trading a breakout
          • Monitoring Stop-Loss and Profit Target Orders
          • Plotting from within a NinjaScript Strategy
          • Removing draw objects from the chart
          • Resetting values at the beginning of new trading sessions
          • Rounding values to the nearest tick size
          • Scaling out of a position
          • Separating logic to either calculate once on bar close or on every tick
          • Stopping a strategy after consecutive losers
          • Synchronizing a DataSeries object to a secondary time frame
          • Trading crossovers
          • Using a time filter to limit trading hours
          • Using CancelOrder() method to cancel orders
          • Using multiple entry/exit signals simultaneously
          • Using OnOrderUpdate() and OnExecution() methods to submit protective orders
          • Using IsRising and IsFalling conditions in the Strategy Builder
          • Using trade performance statistics for money management
          • Using User Variables in the Strategy Wizard
      • Tips
        • Adding Indicators to Strategies
        • Best Practices for 3rd Party Developers
        • C# Method (Functions) Reference
        • Checking for Null References
        • Code Breaking Changes for NinjaTrader 7
        • Creating User Defined Input Parameters
        • Debugging your NinjaScript Code
        • Floating-Point Arithmetic
        • Formatting numbers
        • How do I resolve NinjaScript Programming Errors?
        • Make sure you have enough bars in the data series you are accessing
        • Multi-Threading Consideration for NinjaScript
        • Multi-Time Frame & Instruments
        • Order Types
        • Parameter sequencing
        • Referencing the correct bar
        • Strategy Position vs. Account Position
        • TraceOrders
        • User Definable Color Inputs
        • User Defined Methods
          • Sample 1
          • Sample 2
        • Using [] brackets
        • Using 3rd Party Indicators
        • Using Historical Bid/Ask Series
      • Tutorials
        • Indicators
          • Beginner - Using price variables
            • Set Up
            • Entering Calculation Logic
            • Compiling
            • Using
          • Beginner - Indicator on Indicator
            • Set Up
            • Entering Calculation Logic
            • Compiling
            • Using
          • Intermediate - Your own SMA
            • Set Up
            • Entering Calculation Logic
            • Compiling
            • Using
          • Intermediate - Historical Custom Data Series
            • Set Up
            • Entering Calculation Logic
            • Compiling
            • Using
          • Advanced - Custom Plot Colors via Thresholds
            • Set Up
            • Entering Calculation Logic
            • Compiling
            • Using
          • Advanced - Custom Drawing
            • Set Up
            • Entering Calculation Logic
            • Compiling
            • Using
        • Strategies
          • Beginner - Simple MA Cross Over
            • Set Up
            • Creating the Strategy via the Wizard
            • Creating the Strategy via Self Programming
            • Compiling
          • Intermediate - RSI with Stop Loss & Profit Target
            • Set Up
            • Entering Strategy Logic
            • Compiling
    • Language Reference
      • Alphabetical Reference
      • Alert & Debug
        • Alert()
        • ClearOutputWindow()
        • Log()
        • PlaySound()
        • Print()
        • ResetAlert()
        • ResetAlerts()
        • SendMail()
      • Data
        • Working with Price Data
        • Add()
        • AddKagi()
        • AddLineBreak()
        • AddPointAndFigure()
        • AddRenko()
        • Bars
          • BarsSinceSession
          • GetBar()
          • GetDayBar()
          • FirstBarOfSession
          • PercentComplete
          • Session
            • GetNextBeginEnd
            • TemplateName
            • TimeZoneInfo
          • TickCount
        • BarsArray
        • BarsInProgress
        • BarsPeriod
        • BarsPeriods
        • BoolSeries Class
        • CalculateOnBarClose
        • Close
        • Closes
        • Count
        • CountIf()
        • CrossAbove()
        • CrossBelow()
        • CurrentBar
        • CurrentBars
        • DataSeries Class
        • DateTimeSeries Class
        • DayOfWeek
        • Falling()
        • FirstTickOfBar
        • FloatSeries Class
        • FundamentalDataEventArgs
        • GetCurrentAsk()
        • GetCurrentAskVolume()
        • GetCurrentBid()
        • GetCurrentBidVolume()
        • GetMedian()
        • High
        • HighestBar()
        • Highs
        • Historical
        • IDataSeries
        • Initialize()
        • Input
        • Instrument
          • Expiry
          • FullName
          • MasterInstrument.Compare()
          • MasterInstrument.InstrumentType
          • MasterInstrument.Name
          • MasterInstrument.PointValue
          • MasterInstrument.Round2TickSize()
        • IntSeries Class
        • Least Recent Occurence (LRO)
        • LongSeries Class
        • Low
        • LowestBar()
        • Lows
        • MarketDataEventArgs
        • MarketDepthEventArgs
        • MaximumBarsLookBack
        • Median
        • Medians
        • Most Recent Occurence (MRO)
        • OnBarUpdate()
        • OnFundamentalData()
        • OnMarketData()
        • OnMarketDepth()
        • OnStartUp()
        • OnTermination()
        • Open
        • Opens
        • Rising()
        • Slope()
        • StringSeries Class
        • TickSize
        • Time
        • Times
        • ToDay()
        • ToTime()
        • TriggerCustomEvent()
        • Typical
        • Typicals
        • Volume
        • Volumes
        • Weighted
        • Weighteds
      • Drawing
        • AllowRemovalOfDrawObjects
        • BackColor
        • BackColorAll
        • BackColorAllSeries
        • BackColorSeries
        • BarColor
        • BarColorSeries
        • CandleOutlineColor
        • CandleOutlineColorSeries
        • Custom Drawing
        • DrawAndrewsPitchfork()
        • DrawArc()
        • DrawArrowDown()
        • DrawArrowLine()
        • DrawArrowUp()
        • DrawDiamond()
        • DrawDot()
        • DrawEllipse()
        • DrawExtendedLine()
        • DrawFibonacciCircle()
        • DrawFibonacciExtensions()
        • DrawFibonacciRetracements()
        • DrawFibonacciTimeExtensions()
        • DrawGannFan()
        • DrawHorizontalLine()
        • DrawLine()
        • DrawObjects
        • DrawRay()
        • DrawRectangle()
        • DrawRegion()
        • DrawRegressionChannel()
        • DrawRuler()
        • DrawSquare()
        • DrawText()
        • DrawTextFixed()
        • DrawTrendChannel()
        • DrawTriangle()
        • DrawTriangleDown()
        • DrawTriangleUp()
        • DrawVerticalLine()
        • IAndrewsPitchfork
        • IArc
        • IArrowDown
        • IArrowLine
        • IArrowUp
        • IDiamond
        • IDot
        • IDrawObject
        • IEllipse
        • IExtendedLine
        • IFibonacciCircle
        • IFibonacciExtensions
        • IFibonacciRetracements
        • IFibonacciTimeExtensions
        • IGannFan
        • IHorizontalLine
        • ILine
        • IRay
        • IRectangle
        • IRegion
        • IRegressionChannel
        • IRuler
        • ISquare
        • IText
        • ITextFixed
        • ITrendChannel
        • ITriangle
        • ITriangleDown
        • ITriangleUp
        • IVerticalLine
        • InHitTest
        • RemoveDrawObject()
        • RemoveDrawObjects()
      • Indicator
        • Add()
        • AutoScale
        • BarsRequired
        • Displacement
        • DisplayInDataBox
        • DrawOnPricePanel
        • FormatPriceMarker()
        • HorizontalGridLines
        • Line Class
        • Lines
        • LinesConfigurable
        • Overlay
        • PaintPriceMarkers
        • Plot Class
        • PlotColors
        • Plots
        • PlotsConfigurable
        • PriceType
        • PriceTypeSupported
        • SessionBreakLines
        • ScaleJustification
        • Update()
        • Value
        • Values
        • VerticalGridLines
      • Indicator Methods
        • Valid Input Data for Indicator Methods
        • Accumulation/Distribution (ADL)
        • Adaptive Price Zone (APZ)
        • Aroon
        • Aroon Oscillator
        • Average Directional Index (ADX)
        • Average Directional Movement Rating (ADXR)
        • Average True Range (ATR)
        • Balance of Power (BOP)
        • Bollinger Bands
        • BuySell Pressure
        • BuySell Volume
        • CandleStickPattern
        • Chaikin Money Flow
        • Chaikin Oscillator
        • Chaikin Volatility
        • Chande Momentum Oscillator (CMO)
        • Commodity Channel Index (CCI)
        • Current Day OHL
        • Darvas
        • Directional Movement (DM)
        • Directional Movement Index (DMI)
        • Donchian Channel
        • Double Stochastics
        • Dynamic Momentum Index (DMIndex)
        • Ease of Movement
        • Fisher Transform
        • Forecast Oscillator (FOSC)
        • Heiken Ashi
        • Keltner Channel
        • KeyReversalDown
        • KeyReversalUp
        • Linear Regression
        • Linear Regression Intercept
        • Linear Regression Slope
        • MA Envelopes
        • Maximum (MAX)
        • Minimum (MIN)
        • Momentum
        • Money Flow Index (MFI)
        • Moving Average - Double Exponential (DEMA)
        • Moving Average - Exponential (EMA)
        • Moving Average - Hull (HMA)
        • Moving Average - Kaufman's Adaptive (KAMA)
        • Moving Average - Mesa Adaptive (MAMA)
        • Moving Average - Simple (SMA)
        • Moving Average - T3 (T3)
        • Moving Average - Triangular (TMA)
        • Moving Average - Triple Exponential (TEMA)
        • Moving Average - Triple Exponential (TRIX)
        • Moving Average - Variable (VMA)
        • Moving Average - Volume Weighted (VWMA)
        • Moving Average - Weighted (WMA)
        • Moving Average - Zero Lag Exponential (ZLEMA)
        • Moving Average Convergence-Divergence (MACD)
        • n Bars Down
        • n Bars Up
        • On Balance Volume (OBV)
        • Parabolic SAR
        • Percentage Price Oscillator (PPO)
        • Pivots
        • Polarized Fractal Efficiency (PFE)
        • Price Oscillator
        • Prior Day OHLC
        • Range
        • Range Indicator (RIND)
        • Rate of Change (ROC)
        • Regression Channel
        • Relative Spread Strength (RSS)
        • Relative Strength Index (RSI)
        • Relative Volatility Index (RVI)
        • R-squared
        • Standard Deviation (StdDev)
        • Standard Error (StdError)
        • Stochastics
        • Stochastics Fast
        • Stochastics RSI (StochRSI)
        • Summation (SUM)
        • Swing
        • Time Series Forecast (TSF)
        • True Strength Index (TSI)
        • Ultimate Oscillator
        • Volume (VOL)
        • Volume Moving Average (VOLMA)
        • Volume Oscillator
        • Volume Rate of Change (VROC)
        • Volume Up Down
        • Williams %R
        • Woodies CCI
        • Woodies Pivots
        • ZigZag
      • Strategy
        • Advanced Event Driven Programming Concepts
        • AccountSize
        • Add()
        • ATM Strategy Methods
          • AtmStrategyCancelEntryOrder()
          • AtmStrategyChangeEntryOrder()
          • AtmStrategyChangeStopTarget()
          • AtmStrategyClose()
          • AtmStrategyCreate()
          • GetAtmStrategyEntryOrderStatus()
          • GetAtmStrategyMarketPosition()
          • GetAtmStrategyPositionAveragePrice()
          • GetAtmStrategyPositionQuantity()
          • GetAtmStrategyRealizedProfitLoss()
          • GetAtmStrategyStopTargetOrderStatus()
          • GetAtmStrategyUniqueId()
          • GetAtmStrategyUnrealizedProfitLoss()
        • BarsRequired
        • BarsSinceEntry()
        • BarsSinceExit()
        • ConnectionLossHandling
        • DataSeriesConfigurable
        • DefaultQuantity
        • Disable()
        • DisconnectDelaySeconds
        • EntriesPerDirection
        • EntryHandling
        • ExcludeTradeHistoryInBacktest
        • ExitOnClose
        • ExitOnCloseSeconds
        • ForceMaximumBarsLookBack256
        • GetAccountValue()
        • IExecution
        • IncludeCommission
        • IOrder
        • IPosition
        • MaxRestartAttempts
        • MaxRestartMinutes
        • OnConnectionStatus()
        • OnExecution()
        • OnFundamentalData()
        • OnMarketData()
        • OnMarketDepth()
        • OnOrderUpdate()
        • OnPositionUpdate()
        • OnStartUp()
        • OnTermination()
        • Order Methods
          • Managed Approach
            • Advanced Order Handling
            • CancelOrder()
            • EnterLong()
            • EnterLongLimit()
            • EnterLongStop()
            • EnterLongStopLimit()
            • EnterShort()
            • EnterShortLimit()
            • EnterShortStop()
            • EnterShortStopLimit()
            • ExitLong()
            • ExitLongLimit()
            • ExitLongStop()
            • ExitLongStopLimit()
            • ExitShort()
            • ExitShortLimit()
            • ExitShortStop()
            • ExitShortStopLimit()
            • SetProfitTarget()
            • SetStopLoss()
            • SetTrailStop()
          • Unmanaged Approach
            • CancelOrder()
            • ChangeOrder()
            • IgnoreOverFill
            • SubmitOrder()
            • Unmanaged
        • Performance
          • AllTrades
          • LongTrades
          • RealtimeTrades
          • ShortTrades
        • Position
          • AvgPrice
          • GetProfitLoss()
          • MarketPosition
          • Quantity
        • Positions
        • RealtimeErrorHandling
        • RestartDelaySeconds
        • Slippage
        • TimeInForce
        • TraceOrders
        • Trade
        • TradeCollection
          • Count
          • GetTrades()
          • LosingTrades
          • TradesPerformance
            • AvgBarsInTrade
            • AvgTradeDuration
            • Commission
            • Currency
            • GetSharpeRatio()
            • GrossLoss
            • GrossProfit
            • MaxConsecLoser
            • MaxConsecWinner
            • MaxTime2Recover
            • Percent
            • Points
            • ProfitFactor
            • SharpeRatio
            • TradesPerDay
          • WinningTrades
        • TradesPerformanceValues
          • AvgEtd
          • AvgMae
          • AvgMfe
          • AvgProfit
          • CumProfit
          • DrawDown
          • LargestLoser
          • LargestWinner
          • ProfitPerMonth
          • StdDev
        • WaitForOcoClosingBracket