GetClosedPositionByOpenOrderId (string orderId)
method
Gets a Position that represents a access to position object specified by order ID of which this position was opened.
Syntax
public Position GetClosedPositionByOpenOrderId (string orderId)
Parameters
orderId — string
Order ID.
Return
Position
An object that represents Position.
Example
В следующем примере кода показано как можно использовать функцию GetClosedPositionByOpenOrderId().
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;
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);
}
}
}
public override void Complete()
{
bool closeByAcc = Positions.CloseAllByAccount(acc);
lastPosByOrder = Positions.GetClosedPositionByOpenOrderId(ordID);
Instruments.Unsubscribe(instr, QuoteTypes.Quote);
}
}
}
Discussion
Join PTMC community to post your comments
No comments yet. Be the first.