S#

Выставить Тейк-профит и стоп-лосс у в ручную открытых ордеров


Выставить Тейк-профит и стоп-лосс у в ручную открытых ордеров
Atom Ответить
06.07.2011


Здравствуйте.
Делаю привод для ручной торговли.
Ордера открываю обычным trader.RegisterOrder(ord)
Сейчас возникла небходимость в автоматическом выставлении стоп лосса и тейк профита. Пытаюсь сделать через защитные стратегии,но не могу понять как их запустить?
Может быть есть у кого-нибудь пример?

Теги:


Спасибо:




3 Ответов
Alexander

Фотография
Дата: 06.07.2011
Ответить


В документации даже раздел на эту тему сделали
Спасибо:

Andrey R.

Фотография
Дата: 06.07.2011
Ответить


да, изучал документацию, но видимо чтото недопонял.
Делаю вот так:

Сначала подписываюсь на новые мои сделки:

Trader.NewMyTrades += OnNewMyTrades;

А вот обработчик события:

private void OnNewMyTrades(IEnumerable<MyTrade> trades)
{
if (trader.GetPosition(_portfolio, secur).CurrentValue == 0) return;

var batch = new BatchStrategy(BatchFinishModes.All);
batch.ChildStrategies.AddRange(trades.Select(t =>
{
var s = new BatchStrategy(BatchFinishModes.First);

// выставляет тейк-профит в 40 пунктов
var takeProfit = new TakeProfitStrategy(t, 40);

// выставляет стоп-лосс в 20 пунктов
var stopLoss = new StopLossStrategy(t, 20);

s.ChildStrategies.Add(takeProfit);
s.ChildStrategies.Add(stopLoss);
return s;
}).Cast<Strategy>());
}
Автор топика
Спасибо:

Andrey R.

Фотография
Дата: 09.07.2011
Ответить


Вроде бы получилось. При создании BatchStrategy нужно было еще задать Security,Portfolio и Trader ,т.к это получается не дочерняя стратегия, а просто отдельная стратегия...

И новый вопрос возник.

в документации сказано:

Цитата:
Защитные стратегии не выставляют заявки до тех пор, пока не наступит условие. Размер депозита под заявки при этом не блокируются брокером.


а в каком параметре стратегии регулируется это условие?

PriceOffset ?
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy