Какой именно пример Вам нужен(сформулируйте его четко)? И что именно не понятно в этом интерфейсе?
anothar, спасибо что откликнулись. Если можно на примере скрипта Hi_Low покажите, как использовать ISecurity
Code:
public virtual void Execute(IContext ctx, ISecurity source)
{
ISecurityRt sourceRt = source as ISecurityRt;
...
Условия алгоритмам Hi_Low
...
int barsCount = source.Bars.Count;
for (int i = 0; (i < barsCount); i++)
{
IPosition le = source.Positions.GetLastActiveForSignal("LE");
if (le == null)
{
TSLab.DataSource.OrderType Growth = TSLab.DataSource.OrderType.Growth;
sourceRt.NewOrder(Growth, Buy, high[i], 1, "LE");
}
else
{
le.CloseAtStop(i + 1, low[i], "LX");
}
IPosition se = source.Positions.GetLastActiveForSignal("SE");
if (se == null)
{
TSLab.DataSource.OrderType Fall = TSLab.DataSource.OrderType.Fall;
sourceRt.NewOrder(Fall, Sell, low2[i], 1, "SE");
}
else
{
se.CloseAtStop(i + 1, high2[i], "SX");
}
}
Если это муторно, покажите как с использованием ISecurity открыть и закрыть позицию. В программировании на С# не силён, не понятно из чего состоит класс (какие аргументы), описания подобного BuyIfGreater нет: void TSLab.Script.IPositionsList.BuyIfGreater (int barNum, double shares, double price, string signalName) Аргументы: barNum Номер свечи shares Количество лотов price Цена заявки signalName Название сигнала входа позиции