RealTimeEmulationTrader QuikTrader TakeProfitStopLimit

RealTimeEmulationTrader QuikTrader TakeProfitStopLimit
Atom
10/12/2011
lshaton


Заявка, приведенная ниже регистрируется но не отрабатывает при наступлении условий. Вопрос: А работает ли TakeProfitStopLimit под RealTimeEmulationTrader <QuikTrader> ?

TargetOrder22 = new Order // CreateTakeProfitAndStopLimit() //Sell back
{
Type = OrderTypes.Conditional,
Volume = 1,
Price = _contactRIZ1.MinPrice,
Security = _contactRIZ1,
Direction = OrderDirections.Sell,
Portfolio = MainWindow.Instance._portfolio,
StopCondition = new QuikStopCondition
{
Type = QuikStopConditionTypes.TakeProfitStopLimit,
ExpiryDate = DateTime.MaxValue,
StopPrice = _contactRIZ1.ShrinkPrice(_contactRIZ1.BestAsk.Price + (decimal)dblTragetProfit),
StopLimitPrice = _contactRIZ1.ShrinkPrice(_contactRIZ1.BestAsk.Price- (decimaldblTragetProfit),
Offset = new Unit((decimal)dblTragetProfit), // Величина отступа от максимума (минимума) цены последней сделки.
Spread = new Unit(0), // Величина защитного спрэда
//ActiveTime = new Range<DateTime>,
ActiveTime = new Range<DateTime>(DateTime.Today - TimeSpan.FromDays(5), DateTime.Today + TimeSpan.FromDays(5)),
},
};



Thanks:


< 1 2 3 4  >
andrv

Avatar
Date: 11/13/2011
Reply


Это просто пример который идет с библиотекой
Code
if (_isShortLessThenLong != isShortLessThenLong)
			{
				// если короткая меньше чем длинная, то продажа, иначе, покупка.
				var direction = isShortLessThenLong ? OrderDirections.Sell : OrderDirections.Buy;

				// создаем заявку
				var order = this.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume);

				// регистрируем заявку (обычным способом - лимитированной заявкой)
				// base.RegisterOrder(order);

				// регистрируем заявку (через котирование)
				var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit());
                var st = new MyStrategy();
                
                base.ChildStrategies.Add(strategy);
                base.ChildStrategies.Add(st);               //           Добавляю защитную стратегию
                
				// запоминаем текущее положение относительно друг друга
				_isShortLessThenLong = isShortLessThenLong;
			}

			return ProcessResults.Continue;
		}

по защитной стратегии код как описано здесь http://stocksharp.com/do...7-985a-1654e8d9cfc1.htm
Thanks:

Alexander

Avatar
Date: 11/13/2011
Reply


andrv
Это просто пример который идет с библиотекой
Code
if (_isShortLessThenLong != isShortLessThenLong)
			{
				// если короткая меньше чем длинная, то продажа, иначе, покупка.
				var direction = isShortLessThenLong ? OrderDirections.Sell : OrderDirections.Buy;

				// создаем заявку
				var order = this.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume);

				// регистрируем заявку (обычным способом - лимитированной заявкой)
				// base.RegisterOrder(order);

				// регистрируем заявку (через котирование)
				var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit());
                var st = new MyStrategy();
                
                base.ChildStrategies.Add(strategy);
                base.ChildStrategies.Add(st);               //           Добавляю защитную стратегию
                
				// запоминаем текущее положение относительно друг друга
				_isShortLessThenLong = isShortLessThenLong;
			}

			return ProcessResults.Continue;
		}

по защитной стратегии код как описано здесь http://stocksharp.com/do...7-985a-1654e8d9cfc1.htm


И всё же - какие сделки добавляете в StopLoss?
Что конкретно не вызывается - событие NewMyTrades у базовой стратегии? И при этом сделки у базовой стратегии проходит?
Thanks:

andrv

Avatar
Date: 11/13/2011
Reply


вот лог:
Code
00:00:00.000 |            | SS              | Стратегия запущена.
11:20:00.000 |            | MQS             | Стратегия запущена.
11:20:00.000 |            | MS              | Стратегия запущена.
11:20:00.990 |            | MQS             | Регистрация новой заявки на Sell с ценой 85 и объемом 1.
11:20:00.990 |            | MQS             | Заявка 74305730 на Sell отправлена с ценой 85 объемом 1.
11:20:04.990 |            | MQS             | Цена текущей 85 и лучшей 90.
11:20:04.990 |            | MQS             | Лучший бид 84,4800000 и лучший аск 89,4800000.
11:20:04.990 |            | MQS             | Котирование заявки 74305730 на Sell с ценой 85 объемом 1.
11:20:04.990 |            | MQS             | Отмена заявки 74305730.
11:20:05.990 |            | MQS             | Отмена заявки 74305730 прошло успешно.
11:20:05.990 |            | MQS             | Регистрация новой заявки на Sell с ценой 85 и объемом 1.
11:20:05.990 |            | MQS             | Заявка 74305731 на Sell отправлена с ценой 85 объемом 1.
11:20:06.990 | Warning    | MQS             | Заявка 74305731 не имеет состояния.
11:20:07.990 | Warning    | MQS             | Заявка 74305731 не имеет состояния.


из него что стратегия запускается, но когда начинается резкое падение курса стратегия не срабатывает.
отсюда вопрос на истории она вообще работает или я все таки чего-то не доделал, может там еще что дописать надо, например написать правила или еще что?
Thanks:

Alexander

Avatar
Date: 11/13/2011
Reply


andrv
вот лог:
Code
00:00:00.000 |            | SS              | Стратегия запущена.
11:20:00.000 |            | MQS             | Стратегия запущена.
11:20:00.000 |            | MS              | Стратегия запущена.
11:20:00.990 |            | MQS             | Регистрация новой заявки на Sell с ценой 85 и объемом 1.
11:20:00.990 |            | MQS             | Заявка 74305730 на Sell отправлена с ценой 85 объемом 1.
11:20:04.990 |            | MQS             | Цена текущей 85 и лучшей 90.
11:20:04.990 |            | MQS             | Лучший бид 84,4800000 и лучший аск 89,4800000.
11:20:04.990 |            | MQS             | Котирование заявки 74305730 на Sell с ценой 85 объемом 1.
11:20:04.990 |            | MQS             | Отмена заявки 74305730.
11:20:05.990 |            | MQS             | Отмена заявки 74305730 прошло успешно.
11:20:05.990 |            | MQS             | Регистрация новой заявки на Sell с ценой 85 и объемом 1.
11:20:05.990 |            | MQS             | Заявка 74305731 на Sell отправлена с ценой 85 объемом 1.
11:20:06.990 | Warning    | MQS             | Заявка 74305731 не имеет состояния.
11:20:07.990 | Warning    | MQS             | Заявка 74305731 не имеет состояния.


из него что стратегия запускается, но когда начинается резкое падение курса стратегия не срабатывает.
отсюда вопрос на истории она вообще работает или я все таки чего-то не доделал, может там еще что дописать надо, например написать правила или еще что?



Ответьте на заданные вопросы.

1) Какая сделка передаётся в StopLossStrategy?
2) Вызывается ли событие NewMyTrades у запущенной стратегии?
3) Распечатайте все Strategy.MyTrades после окончания работы стратегии.
Thanks:

andrv

Avatar
Date: 11/13/2011
Reply


на все вопросы нет
я взял SempleSMA и пытаюсь понять как к ней еще можно добавить стоплос стратегию.
Ведь нет не одного примера который ее реализует.
Thanks:

Alexander

Avatar
Date: 11/13/2011
Reply


andrv
на все вопросы нет
я взял SempleSMA и пытаюсь понять как к ней еще можно добавить стоплос стратегию.
Ведь нет не одного примера который ее реализует.


Нет на последний вопрос что означает - у вас даже у SampleSMA сделок нет?
А на первый что означает - вы и не пытаетесь добавить StopLossStrategy к SampleSma, т.е. никакого ордера не передаёте?

Можно как-то более конкретно ответить на вопросы. А то ответ "нет" на запрос лога вызывает удивление.
Thanks:

esper

Avatar
Date: 11/13/2011
Reply


andrv
Ведь нет не одного примера который ее реализует.

Как нет, а тут тогда что?
Thanks:

andrv

Avatar
Date: 11/13/2011
Reply


Alexander Mukhanchikov


Ответьте на заданные вопросы.

1) Какая сделка передаётся в StopLossStrategy?
2) Вызывается ли событие NewMyTrades у запущенной стратегии?
3) Распечатайте все Strategy.MyTrades после окончания работы стратегии.


последнее не понятно событие MyTrade Вызываается только в стратегии MyStrategy, но пример теста на истории какимто образом считает трэйды.

Вобщем из всего вышесказанного нужно в основной стратегии вызывать событие NewMyTrades?
Thanks:

andrv

Avatar
Date: 11/13/2011
Reply


esper
andrv
Ведь нет не одного примера который ее реализует.

Как нет, а тут тогда что?


вот я ее и использовал, теперь пытаюсь понять как заставить ее работать
Thanks:

Alexander

Avatar
Date: 11/13/2011
Reply


andrv
Alexander Mukhanchikov


Ответьте на заданные вопросы.

1) Какая сделка передаётся в StopLossStrategy?
2) Вызывается ли событие NewMyTrades у запущенной стратегии?
3) Распечатайте все Strategy.MyTrades после окончания работы стратегии.


последнее не понятно событие MyTrade Вызываается только в стратегии MyStrategy, но пример теста на истории какимто образом считает трэйды.

Вобщем из всего вышесказанного нужно в основной стратегии вызывать событие NewMyTrades?


Я совсем запутался.

MyStrategy - это что? Вы писали что используете SampleHistoryTestyng, там есть SmaStrategy.
Где вы взяли MyStrategy? Что делает эта ваша стратегия?

Можете конкретно привести строчку где вы добавляете создаёте StopLossStrategy?
Thanks:
< 1 2 3 4  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy