Лимитная заявка

Автор: Sergey

Лимитная заявка - Fri Jan 08 2010 01:12 PM

Для простоты, вопрос конкретный. Например, есть длинная позиция, я хочу ее закрыть по цене верхней границы Болинджера на текущий момент, если она ее достигла. Как это осуществить с помощью API?

Кстати, верхнюю и нижнюю границу он устанавливает по собственному желанию.
IList<double> BB = ctx.GetData("BollingerBands", new[] {BBPeriod.ToString()},
delegate { return Series.BollingerBands(source.ClosePrices, BBPeriod,1,true); });

IList<double> BB1 = ctx.GetData("BollingerBands", new[] {BB1Period.ToString()},
delegate { return Series.BollingerBands(source.ClosePrices, BB1Period,1,false); });

обе вверху, что не так?
Автор: Nektodron

Re: Лимитная заявка - Fri Jan 08 2010 07:06 PM

Вы используете общее имя и параметры для кеширования. Второй боллинжер не расчитывается, нужно так:
IList<double> BB = ctx.GetData("BollingerBands+", new[] {BBPeriod.ToString()},
delegate { return Series.BollingerBands(source.ClosePrices, BBPeriod,1,true); });

IList<double> BB1 = ctx.GetData("BollingerBands-", new[] {BB1Period.ToString()},
delegate { return Series.BollingerBands(source.ClosePrices, BB1Period,1,false); });


или так:

IList<double> BB = ctx.GetData("BollingerBands", new[] {BBPeriod.ToString(), "true"},
delegate { return Series.BollingerBands(source.ClosePrices, BBPeriod,1,true); });

IList<double> BB1 = ctx.GetData("BollingerBands", new[] {BB1Period.ToString(), "false"},
delegate { return Series.BollingerBands(source.ClosePrices, BB1Period,1,false); });
Автор: Sergey

Re: Лимитная заявка - Sat Jan 09 2010 01:49 PM

C Болинджером понятно, спасибо. А как насчет организации лимитной заявки? Продажа по цене не ниже заданной?

CloseAtProfit закрывает позицию,если она достигает лимитного значения на открытии свечи (кстати, предварительно зная?, что она достигнет лимитного значения).
Автор: Nektodron

Re: Лимитная заявка - Sun Jan 10 2010 12:10 AM

CloseAtProfit - это условная заявка, т.е. она всегда присутствует на сервере и активизируется при достижении условия. Работает аналогично стопу, только условие "наоборот". В виду ограничений Transaq в скрипте возможно присутствие только одной условной заявки CloseAtProfit или CloseAtStop. Закрытий по рынку может быть сколько угодно.