← Zurück

Котирование TakeProfit & StopLoss

Какие параметры для защитных стратегий необходимо установить, чтобы для выставленных ими заявок использовалось котирование?

Задаю такие параметры:

BestPriceOffset = 1m,
UseMarketQuoting = true,

но никакого эффекта это не дает, версия 3.2.3

War dieses Thema hilfreich?

Thema teilen

Kommentare (10)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Лог.😀

esper
esper Autor
// выставляет тейк-профит в n пунктов
var takeProfit = new TakeProfitStrategy(t, new Unit(Settings.TakeProfit))
{
	BestPriceOffset = 1m,
	PriceOffset = 1m,
	UseMarketQuoting = true,

};

// выставляет стоп-лосс в m пунктов
var stopLoss = new StopLossStrategy(t, new Unit(Settings.StopLoss))
{
	BestPriceOffset = 1m,
	PriceOffset = 1m,
	UseMarketQuoting = true,

};

VS 05.07.2011 07:19:57.000 Стратегия запущена. VS 05.07.2011 07:19:57.690 New order: Sell code:SBER03 price:94,80 volume:1 VS 05.07.2011 07:19:58.682 New deal: Sell code:SBER03 price:94,8 volume:1 VS 05.07.2011 07:19:58.702 [BS] Стратегия запущена. VS 05.07.2011 07:19:58.702 [BS] [BS] Стратегия запущена. VS 05.07.2011 07:19:58.702 [BS] [BS] [TPS] Стратегия запущена. VS 05.07.2011 07:19:58.702 [BS] [BS] [SLS] Стратегия запущена. VS 05.07.2011 07:23:47.992 [BS] [BS] [TPS] Регистрация новой заявки на Buy с ценой 94,70 и объемом 1. VS 05.07.2011 07:23:47.992 [BS] [BS] [TPS] Заявка 26290346 на Buy отправлена с ценой 94,70 объемом 1. VS 05.07.2011 07:23:48.072 New order: Buy code:SBER03 price:94,70 volume:1 VS 05.07.2011 07:23:48.593 [BS] [BS] [TPS] Позиция изменилась на 1. VS 05.07.2011 07:23:48.593 [BS] [BS] [TPS] Заканчиваем котирование с неисполненным объемом равный 0. VS 05.07.2011 07:23:48.603 [BS] [BS] Стратегия останавливается. VS 05.07.2011 07:23:48.603 [BS] [BS] [SLS] Стратегия останавливается. VS 05.07.2011 07:23:48.603 [BS] [BS] Стратегия остановлена. VS 05.07.2011 07:23:48.603 [BS] [BS] [TPS] Стратегия остановлена. VS 05.07.2011 07:23:48.603 [BS] [BS] [SLS] Стратегия остановлена. VS 05.07.2011 07:23:48.623 New deal: Buy code:SBER03 price:94,7 volume:1 VS 05.07.2011 07:24:37.533 Стратегия останавливается. VS 05.07.2011 07:24:37.583 [BS] Стратегия останавливается. VS 05.07.2011 07:24:37.583 Стратегия остановлена. VS 05.07.2011 07:24:37.583 [BS] Стратегия остановлена.

В данном случае заявка исполнилась, но если цена ушла в сторону, то заявка может висеть до тех пор, пока не будет спроса/предложения по выставленной цене

esper
esper Autor

Заявка была выставлена, цена сходила вниз до 94, вернулась назад и только тогда исполнилась

VS 05.07.2011 07:57:12.729 New order: Buy code:SBER03 price:94,76 volume:1 VS 05.07.2011 07:57:13.620 New deal: Buy code:SBER03 price:94,76 volume:1 VS 05.07.2011 07:57:13.620 [BS] Стратегия запущена. VS 05.07.2011 07:57:13.620 [BS] [BS] Стратегия запущена. VS 05.07.2011 07:57:13.620 [BS] [BS] [TPS] Стратегия запущена. VS 05.07.2011 07:57:13.620 [BS] [BS] [SLS] Стратегия запущена. VS 05.07.2011 07:57:55.046 [BS] [BS] [SLS] Регистрация новой заявки на Sell с ценой 94,71 и объемом 1. VS 05.07.2011 07:57:55.046 [BS] [BS] [SLS] Заявка 26812012 на Sell отправлена с ценой 94,71 объемом 1. VS 05.07.2011 07:57:55.066 New order: Sell code:SBER03 price:94,71 volume:1 --- заявка была высталена 2 минуты --- VS 05.07.2011 07:59:37.603 [BS] [BS] [SLS] Позиция изменилась на -1. VS 05.07.2011 07:59:37.603 [BS] [BS] [SLS] Заканчиваем котирование с неисполненным объемом равный 0. VS 05.07.2011 07:59:37.603 [BS] [BS] Стратегия останавливается. VS 05.07.2011 07:59:37.603 [BS] [BS] [TPS] Стратегия останавливается. VS 05.07.2011 07:59:37.603 [BS] [BS] Стратегия остановлена. VS 05.07.2011 07:59:37.603 [BS] [BS] [TPS] Стратегия остановлена. VS 05.07.2011 07:59:37.603 [BS] [BS] [SLS] Стратегия остановлена.

esper
esper Autor

Никто не сталкивался с котированием в защитных стратегиях?🤨

Alexander
Alexander

Да многие пользуются, просто сразу не понятно в чём проблема.

Alexander
Alexander

Найдено, исправлено. Будет в 3.2.5

esper
esper Autor

Alexander: Найдено, исправлено. Будет в 3.2.5 Спасибо!

esper
esper Autor

В 3.2.5 котирование запускается, но каждый раз останавливатся с неисполненным объемом:

VS 17.07.2011 12:49:03.812 Стратегия запущена. VS 17.07.2011 12:49:04.875 New order: Buy code:SBER03 price:93.11 volume:1 VS 17.07.2011 12:49:05.796 New deal: Buy code:SBER03 price:93.11 volume:1 VS 17.07.2011 12:49:05.859 [BS] Стратегия запущена. VS 17.07.2011 12:49:05.921 [BS] [BS] Стратегия запущена. VS 17.07.2011 12:49:05.968 [BS] [BS] [TPS] Стратегия запущена. VS 17.07.2011 12:49:06.000 [BS] [BS] [SLS] Стратегия запущена. VS 17.07.2011 12:50:21.656 [BS] [BS] [SLS] Регистрация новой заявки на Sell с ценой 93.06 и объемом 1. VS 17.07.2011 12:50:21.687 [BS] [BS] [SLS] [MQS] Стратегия запущена. VS 17.07.2011 12:50:21.718 [BS] [BS] [SLS] Заявка 0 на Sell отправлена с ценой 93.06 объемом 1. VS 17.07.2011 12:50:21.750 [BS] [BS] [SLS] Заканчиваем котирование с неисполненным объемом равный 1. VS 17.07.2011 12:50:21.781 [BS] Стратегия останавливается. VS 17.07.2011 12:50:21.812 [BS] Стратегия остановлена. VS 17.07.2011 12:50:21.859 [BS] [BS] Стратегия остановлена. VS 17.07.2011 12:50:21.890 [BS] [BS] [TPS] Стратегия остановлена. VS 17.07.2011 12:50:21.937 [BS] [BS] [SLS] Стратегия остановлена. VS 17.07.2011 12:50:21.968 [BS] [BS] [SLS] [MQS] Стратегия остановлена. VS 17.07.2011 13:19:17.984 Стратегия останавливается. VS 17.07.2011 13:19:18.296 Стратегия остановлена.

Защитные стратегии запускаются следующим образом:

// для каждой сделки добавляем для защиты по пакетной стратегии
batch.ChildStrategies.AddRange(list.Select(t =>
{
	var s = new BatchStrategy(BatchFinishModes.First);

	// выставляет тейк-профит в n пунктов
	var takeProfit = new TakeProfitStrategy(t, new Unit(_settings.TakeProfit))
	{
		BestPriceOffset = 1m,
		PriceOffset = 0m,
		//IsTrailing = true,
		UseMarketQuoting = true,

	};

	// выставляет стоп-лосс в m пунктов
	var stopLoss = new StopLossStrategy(t, new Unit(_settings.StopLoss))
	{
		BestPriceOffset = 1m,
		PriceOffset = 0m,
		//IsTrailing = true,
		UseMarketQuoting = true,

	};

	s.ChildStrategies.Add(takeProfit);
	s.ChildStrategies.Add(stopLoss);

	return s;
}).Cast<Strategy>());
Alexander
Alexander

esper: В 3.2.5 котирование запускается, но каждый раз останавливатся с неисполненным объемом: ...

Проблему подтверждаю.

Дело в котировании по рынку. Выход пока - не пользоваться таким котированием. :) К 3.2.6 попробую придумать фикс.

Спасибо за фидбэк.

Alexander
Alexander

Починил, будет в 3.2.6