RealTimeEmulationTrader QuikTrader TakeProfitStopLimit
Atom
12.10.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)),
},
};



Спасибо:


< 1 2 3 4  >
andrv

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


Это просто пример который идет с библиотекой
Код
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
Спасибо:

Alexander

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


andrv
Это просто пример который идет с библиотекой
Код
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 у базовой стратегии? И при этом сделки у базовой стратегии проходит?
Спасибо:

andrv

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


вот лог:
Код
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 не имеет состояния.


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

Alexander

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


andrv
вот лог:
Код
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 после окончания работы стратегии.
Спасибо:

andrv

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


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

Alexander

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


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


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

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

esper

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


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

Как нет, а тут тогда что?
Спасибо:

andrv

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


Alexander Mukhanchikov


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

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


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

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

andrv

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


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

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


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

Alexander

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


andrv
Alexander Mukhanchikov


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

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


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

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


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

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

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

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

loading
clippy