vvt
|
Дата: 30.03.2011
в обоих случаях уже стоит new Unit(50) и тейке и в лоссе, до этого я тоже додумался, так что дело не в этом
вот код
if (_order != null)
{
AddLog(StrategyErrorStates.None ,"Перед предпоследним When");
When(_order.NewTrades()).
Do(this.Protect(_order,
t => new TakeProfitStrategy(t, new Unit(50)) { IsForts = true, IsParallel = true }, // тейк на 50 пунктов
t => new StopLossStrategy(t, new Unit(50)) { IsForts = true, IsParallel = true })). // стоп на 50 пунктов
Activated<Strategy>(s =>
{
AddLog(StrategyErrorStates.None ,"Перед последним When");
When(s.Stopped()).
Do(() =>
{
/* сработало стоп условие */
});
});
}
еще раз запустил с логированием

лог здесь
|
|
|
|
Спасибо:
|
|
|
|
|
|
Mikhail Sukhov
|
Дата: 31.03.2011
|
|
|
|
|
vvt:
лог здесь
Цитата из вашего лога:
CPS 23:07:28.9470510 Перед предпоследним When
CPS 23:07:29.9601089 Перед предпоследним When
CPS 23:07:30.9611662 Перед предпоследним When
CPS 23:07:31.9612234 Перед предпоследним When
CPS 23:07:32.9612806 Перед предпоследним When
CPS 23:07:33.9613378 Перед предпоследним When
CPS 23:07:34.9613950 Перед предпоследним When
CPS 23:07:35.9644523 Перед предпоследним When
CPS 23:07:36.9645095 Перед предпоследним When
CPS 23:07:37.9645667 Перед предпоследним When
CPS 23:07:38.9646239 Перед предпоследним When
CPS 23:07:39.9646811 Перед предпоследним When
CPS 23:07:40.9647383 Перед предпоследним When
CPS 23:07:41.9647955 Перед предпоследним When
CPS 23:07:42.9648527 Перед предпоследним When
CPS 23:07:43.9649099 Перед предпоследним When
CPS 23:07:44.9659672 Перед предпоследним When
CPS 23:07:45.9660244 Перед предпоследним When
CPS 23:07:46.9660816 Перед предпоследним When
CPS 23:07:47.9661388 Перед предпоследним When
CPS 23:07:48.9661960 Перед предпоследним When
CPS 23:07:49.9662532 Перед предпоследним When
CPS 23:07:50.9663104 Перед предпоследним When
CPS 23:07:51.9663676 Перед предпоследним When
CPS 23:07:52.9674248 Перед предпоследним When
CPS 23:07:53.9674820 Перед предпоследним When
CPS 23:07:54.9685393 Перед предпоследним When
CPS 23:07:55.9695966 Перед предпоследним When
CPS 23:07:56.9836546 Перед предпоследним When
CPS 23:07:57.9857119 Перед предпоследним When
CPS 23:07:58.9877692 Перед предпоследним When
CPS 23:07:59.9888264 Перед предпоследним When
CPS 23:08:00.9888836 Перед предпоследним When
CPS 23:08:02.0049418 Перед предпоследним When
CPS 23:08:03.0179997 Перед предпоследним When
CPS 23:08:04.0250573 Перед предпоследним When
CPS 23:08:05.0271146 Перед предпоследним When
CPS 23:08:06.0271718 Перед предпоследним When
CPS 23:08:07.0272290 Перед предпоследним When
CPS 23:08:08.0272862 Перед предпоследним When
CPS 23:08:09.0283435 Перед предпоследним When
Документация по методу When:
Зарегистрировать условие. Условие будет не активно до тех пор, пока к нему не будет добавлено действие через метод Do(Action).
Дальше объяснять где бага?
|
|
|
|
Спасибо:
|
|
|
|
|
|
vvt
|
Дата: 31.03.2011
Дальше объяснять где бага?
Да, просьба объяснить.
|
|
|
|
Спасибо:
|
|
|
|
|
|
Mikhail Sukhov
|
Дата: 31.03.2011
Дальше объяснять где бага?
Да, просьба объяснить.
Вы регистрируете условие несколько десятков раз. Поэтому когда наступает событие о новых сделках, то и регистрация срабатывает ровно столько раз (и ровно столько будет сделок), сколько вы зарегистрировали условие.
|
|
|
|
Спасибо:
|
|
|
|
|
|
vvt
|
Дата: 01.04.2011
Все, принцип понял, спасибо.
Еще есть пара вопросов:
- метод MakePeriodical() выполняется с частотой Strategy.Interval ?
- можно ли в коде приведенном выше динамически изменять размер стопа в TakeProfitStrategy и StopLossStrategy во время работы стратегии? Если да, то как (желательно пример кода).
|
|
|
|
Спасибо:
|
|
|
|
|
|
Mikhail Sukhov
|
Дата: 02.04.2011
vvt:
Все, принцип понял, спасибо.
Еще есть пара вопросов:
- метод MakePeriodical() выполняется с частотой Strategy.Interval ?
- можно ли в коде приведенном выше динамически изменять размер стопа в TakeProfitStrategy и StopLossStrategy во время работы стратегии? Если да, то как (желательно пример кода).
- Это минимум.
- Через изменение свойства ProtectiveDelta.
|
|
|
|
Спасибо:
|
|
|
|
|
|
vvt
|
Дата: 14.04.2011
|
|
|
|
|
попробовал перейти на [3.1], изменил код в соответствии с новым синтаксисом (на [3.0.19] работало как нужно)
if (_isPosition != true)
{
AddLog(StrategyErrorStates.None, "Перед предпоследним When");
When(_order.NewTrades()). //() =>
Protect(_order,
t =>
new TakeProfitStrategy(t, new Unit(150)) { IsParallel = true, IsMarket = true },
t =>
Sls1 = new StopLossStrategy(t, new Unit(_stopPrice)) { IsParallel = true, IsMarket = true, IsTrailing = true }).Activated<Strategy>(
s =>
{
AddLog(StrategyErrorStates.None, "Перед последним When");
When(s.Stopped()).
Do(() =>
{
// сработало стоп условие
_isPosition = false;
AddLog(StrategyErrorStates.None, string.Format("Сработало стоп-условие _stopPrice={0}", Sls1.ProtectiveDelta));
});
});
}

видно, что сработал TakeProfit, но вместо одной заявки выставляет кучу, похоже на баг
вот лог
CPS 16:32:40.9762649 Стратегия запущена.
CPS 16:35:03.7004282 Правило активировано.
CPS 16:35:03.7074286 Правило удалено.
CPS 16:40:03.4545732 Правило активировано.
CPS 16:40:03.4605735 Перед предпоследним When
CPS 16:40:03.5345778 Правило удалено.
CPS 16:40:04.5366351 Правило активировано.
CPS 16:40:04.5416354 Стратегия запущена.
CPS 16:40:04.5426354 Перед последним When
CPS 16:40:04.5426354 Правило удалено.
CPS 16:40:05.5436927 Правило активировано.
CPS 16:40:05.5546933 Стратегия запущена.
CPS 16:40:05.5546933 Стратегия запущена.
CPS 16:40:05.5546933 Стратегия запущена.
CPS 16:40:05.5546933 Стратегия запущена.
CPS 16:40:05.5546933 Правило удалено.
CPS 16:40:58.8447413 Регистрация защитной заявки с ценой 196185 и объемом 1.
CPS 16:40:58.8447413 Регистрация новой заявки на Sell с ценой 196185 и объемом 1.
CPS 16:40:58.8457414 Заявка 58461521 на Sell отправлена с ценой 196185 объемом 1.
CPS 16:40:59.8467987 Котируемая заявка 58461521 исполнилась.
CPS 16:40:59.8467987 Осталось 2 контрактов.
CPS 16:41:00.8478559 Регистрация новой заявки на Sell с ценой 196185 и объемом 1.
CPS 16:41:00.8478559 Заявка 58461522 на Sell отправлена с ценой 196185 объемом 1.
CPS 16:41:01.8909156 Котируемая заявка 58461522 исполнилась.
CPS 16:41:01.8909156 Осталось 3 контрактов.
CPS 16:41:02.8929729 Регистрация новой заявки на Sell с ценой 196185 и объемом 1.
CPS 16:41:02.8929729 Заявка 58461523 на Sell отправлена с ценой 196185 объемом 1.
CPS 16:41:03.9060308 Котируемая заявка 58461523 исполнилась.
CPS 16:41:03.9060308 Осталось 4 контрактов.
CPS 16:41:04.9080881 Регистрация новой заявки на Sell с ценой 196185 и объемом 1.
CPS 16:41:04.9080881 Заявка 58461524 на Sell отправлена с ценой 196185 объемом 1.
CPS 16:41:05.9191460 Котируемая заявка 58461524 исполнилась.
CPS 16:41:05.9191460 Осталось 5 контрактов.
CPS 16:41:06.9202032 Регистрация новой заявки на Sell с ценой 196185 и объемом 1.
CPS 16:41:06.9202032 Заявка 58461525 на Sell отправлена с ценой 196185 объемом 1.
CPS 16:41:16.9537771 Котируемая заявка 58461525 исполнилась.
CPS 16:41:16.9537771 Осталось 6 контрактов.
CPS 16:41:17.9548344 Котируемая заявка 0 снята.
CPS 16:41:17.9548344 Осталось 6 контрактов.
CPS 16:41:18.9588918 Котируемая заявка 0 снята.
CPS 16:41:18.9588918 Осталось 6 контрактов.
CPS 16:41:19.9619492 Котируемая заявка 0 снята.
CPS 16:41:19.9619492 Осталось 6 контрактов.
CPS 16:41:20.9650065 Котируемая заявка 0 снята.
CPS 16:41:20.9650065 Осталось 6 контрактов.
CPS 16:41:21.9710641 Котируемая заявка 0 снята.
CPS 16:41:21.9710641 Осталось 6 контрактов.
CPS 16:41:22.9721213 Регистрация новой заявки на Sell с ценой 196185 и объемом 1.
CPS 16:41:22.9721213 Заявка 58461526 на Sell отправлена с ценой 196185 объемом 1.
CPS 16:41:28.6174442 Стратегия останавливается.
CPS 16:41:28.6174442 Стратегия останавливается.
CPS 16:41:28.6174442 Стратегия останавливается.
CPS 16:41:28.6174442 Стратегия останавливается.
CPS 16:41:28.6174442 Стратегия останавливается.
CPS 16:41:28.6174442 Стратегия останавливается.
CPS 16:41:28.9854653 Котирование отменяет заявку 58461526.
CPS 16:41:28.9864653 Стратегия остановлена.
CPS 16:41:28.9864653 Котирование закончилось.
CPS 16:41:28.9864653 Стратегия остановлена.
CPS 16:41:28.9934657 Стратегия остановлена.
CPS 16:41:29.0404684 Стратегия остановлена.
CPS 16:41:29.0414685 Стратегия остановлена.
CPS 16:41:29.0424685 Стратегия остановлена.
|
|
|
|
Спасибо:
|
|
|
|
|
|
Mikhail Sukhov
|
Дата: 15.04.2011
vvt:
видно, что сработал TakeProfit, но вместо одной заявки выставляет кучу, похоже на баг
Да, баг, причем судя по логу не один. Буду разбираться. Спасибо за фидбек.
|
|
|
|
Спасибо:
|
|
|
|
|
|
vvt
|
Дата: 19.04.2011
|
|
|
|
Спасибо:
|
|
|
|
|