CloseAllByAccount (Account account)
method
Close all positions by specified account. Returns an indication whether the positions are closed successfully.
Syntax
public bool CloseAllByAccount (Account account)
Parameters
account — Account
Account ID.
Return
bool
true if all positions by account closed successfully; otherwise, false.
Example
В следующем примере кода показано как можно использовать функцию CloseAllByAccount().
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;
bool closeByAcc;
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()
{
closeByAcc = Positions.CloseAllByAccount(acc);
Instruments.Unsubscribe(instr, QuoteTypes.Quote);
}
}
}
Discussion
Join PTMC community to post your comments
No comments yet. Be the first.