Skip to main content

Position

Position manages the lifecycle of a trading position within a pattern: entry submission, fill tracking, stop loss, profit target, trailing, and close. Positions is a collection of Position instances (typically one per pattern).

Namespace: MZpack.NT8.Algo Inheritance: Position : StrategyItem | Positions : StrategyItem Source: [INSTALL PATH]/API/Position.cs, [INSTALL PATH]/API/Positions.cs

Position Properties

PropertyTypeDescription
StrategyStrategyParent Algo.Strategy
StatePositionStateCurrent position state (flags)
DirectionSignalDirectionPosition direction (Long, Short, None)
IsActiveboolActivated from associated signal
IsScaleInboolWhether this is a scale-in position
EntriesObservableCollection<EntryBase>Collection of entry orders

Position Methods

Order Management

MethodDescription
Enter(SignalDirection direction, DateTime time, bool isReversing)Submit entry orders in the given direction
Close(bool isReverse, string reason, DateTime time)Close the position
CancelClose(bool isReverse, string reason, DateTime time)Cancel pending orders or close position
CancelPendingEntries(string reason, DateTime time)Cancel all pending entry orders
HasPendingLimitOrders()Check for pending limit orders

Stop Management

MethodDescription
BreakEven(string reason, DateTime time)Move stop loss to break-even price
ActivateTrail(bool isActive)Activate or deactivate trailing stop
HasTrailedEntries()Check if any entries have active trails

Event Handlers

MethodDescription
OnExecution(MarketDataEventArgs e)Process market data for exit/trail logic
OnMarketDepth(MarketDepthEventArgs e)Process Level 2 data
OnOrderUpdate(Order, OrderState)Handle order state changes
OnPositionUpdate(Position, double, int, MarketPosition)Handle NinjaTrader position changes
OnExecutionUpdate(Execution, ...)Handle fill events

Helpers

MethodReturn TypeDescription
GetEntryBySignalName(string name)EntryFind entry by signal name
IsEntryOrder(Order order)boolCheck if order belongs to this position
Reset()voidReset all entries

PositionState Enum (Flags)

ValueDescription
FlatNo position
EntrySubmittingEntry order being submitted
LongLimitPendingLong limit order pending
ShortLimitPendingShort limit order pending
LongMarketPendingLong market order pending
ShortMarketPendingShort market order pending
LongLong position filled
ShortShort position filled
LimitPendingLongLimitPending | ShortLimitPending
FilledLong | Short
LongsLongLimitPending | LongMarketPending | Long
ShortsShortLimitPending | ShortMarketPending | Short
NoDirectionFlat | EntrySubmitting

Positions Collection

Positions manages one or more Position instances within an Algo.Strategy.

MethodDescription
FirstOrDefault()Get the first position
Add(Position position)Add a position
Enter(SignalDirection, DateTime, bool)Enter all activated positions
CancelClose(bool, string, DateTime)Cancel/close all positions
BreakEven(string, DateTime)Move all positions to break-even
CancelPendingEntries(string, DateTime)Cancel all pending entries
HasFlat()Check if any position is flat
HasPendingLimitOrders()Check if any position has pending limits

See Also