GetPositions ()
method
Returns a collection of all opening positions. Access to the positions can be obtained by index.
Syntax
public Position[] GetPositions ()
Return
Position[]
Retruns array with all active position.
Example
В следующем примере кода показано как можно использовать функцию GetPositions().
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);
}
}
}
Discussion
Join PTMC community to post your comments
No comments yet. Be the first.