Returns a collection of all opening positions. Access to the positions can be obtained by index.
SYNTAX
public Position[] GetPositions ()
RETURN
Position[] Returns array with all active position.
EXAMPLE
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using PTLRuntime.NETScript; namespace PositionCollection_ { public class PositionCollection_:NETStrategy { Instrument instr; Account acc; NewOrderRequest request; Position lastPosByOrder, lastPos; Position[] poses; string ordID = "-1", posID; public override void Init() { instr = Instruments.Current; acc = Accounts.Current; Instruments.Subscribe(instr, QuoteTypes.Quote); } public override void OnQuote() { if (ordID == "-1") { request = new NewOrderRequest { Instrument = instr, Account = acc, Side = Operation.Buy, Type = OrdersType.Market, Price = instr.LastQuote.Ask, Amount = 1, TimeInForce = TimeInForce.GTC, MarketRange = 1000, }; ordID = Orders.Send(request); if (ordID == "-1") { Alert("Order was't open, error: " + GetLastError()); return; } else { lastPosByOrder = Positions.GetPositionByOpenOrderId(ordID); posID = lastPosByOrder.Id; Alert("Order set on price: " + lastPosByOrder.OpenPrice); } } poses = Positions.GetPositions(); Print("List of positions:"); foreach (Position pos in poses) { Print("\t"+pos.Instrument.Name + "\t:\t" + pos.Id); } } public override void Complete() { Instruments.Unsubscribe(instr, QuoteTypes.Quote); } } }