Originally Posted By: anothar
Какой именно пример Вам нужен(сформулируйте его четко)? И что именно не понятно в этом интерфейсе?
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 Название сигнала входа позиции

Если можно законченный пример.