Генерация отчётов
Atom Ответить
02.11.2010


1) Отчёт в excel не генерируется (стоит на компе Excel 2010).
Пытаюсь генерировать даже следующим кодом:
Код
new ExcelStrategyReport(strategy, "1.xls").Generate();


2) Если заявка кидается по рынку на фортсе (по цене лимита), то в отчёте неверно считается проскальзывание. Можно ли в отчёт подставлять реальную цену исполнения, а не цену заявки?

Теги:


Спасибо:




7 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 05.11.2010
Ответить


Alexander
1) Отчёт в excel не генерируется (стоит на компе Excel 2010).
Пытаюсь генерировать даже следующим кодом:
Код
new ExcelStrategyReport(strategy, "1.xls").Generate();


2) Если заявка кидается по рынку на фортсе (по цене лимита), то в отчёте неверно считается проскальзывание. Можно ли в отчёт подставлять реальную цену исполнения, а не цену заявки?


Про второе чуть по подробнее. У рыночной заявки (OrderTypes.Market) проскальзывание должно быть равно 0. У Вас что выводит?
Спасибо:

Alexander

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


Mikhail Sukhov
Alexander
1) Отчёт в excel не генерируется (стоит на компе Excel 2010).
Пытаюсь генерировать даже следующим кодом:
Код
new ExcelStrategyReport(strategy, "1.xls").Generate();


2) Если заявка кидается по рынку на фортсе (по цене лимита), то в отчёте неверно считается проскальзывание. Можно ли в отчёт подставлять реальную цену исполнения, а не цену заявки?


Про второе чуть по подробнее. У рыночной заявки (OrderTypes.Market) проскальзывание должно быть равно 0. У Вас что выводит?



На ФОРТСе нет рыночных заявок, они эмулируются заявками по цене лимита. Т.е. выходит если посылается заявка по цене лимита - проскальзывание получается нереально огромное (фактически ведь так и есть). Может в этом случае стоит как-нибудь помечать, что данная заявка рыночная и не учитывать это проскальзывание в отчёте?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 05.11.2010
Ответить


Alexander

На ФОРТСе нет рыночных заявок, они эмулируются заявками по цене лимита. Т.е. выходит если посылается заявка по цене лимита - проскальзывание получается нереально огромное (фактически ведь так и есть). Может в этом случае стоит как-нибудь помечать, что данная заявка рыночная и не учитывать это проскальзывание в отчёте?


Если рыночная заявка эмулируется котированием, то долэно все учитываться. ExcelStrategyReport пишет значение проскальзывание в колонку Проскальзывание (котирование). Или Вы просто в рынок кидаете заявку? Еще плиз приведите сами значения. Понять будет проще.
Спасибо:

Alexander

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


Mikhail Sukhov
Alexander

На ФОРТСе нет рыночных заявок, они эмулируются заявками по цене лимита. Т.е. выходит если посылается заявка по цене лимита - проскальзывание получается нереально огромное (фактически ведь так и есть). Может в этом случае стоит как-нибудь помечать, что данная заявка рыночная и не учитывать это проскальзывание в отчёте?


Если рыночная заявка эмулируется котированием, то долэно все учитываться. ExcelStrategyReport пишет значение проскальзывание в колонку Проскальзывание (котирование). Или Вы просто в рынок кидаете заявку? Еще плиз приведите сами значения. Понять будет проще.


Котированием не пользуюсь, кидаю заявку в рынок по цене Security.MaxPriec (MinPrice).
ExcelStrategyReport у меня не генерируется (1) пункт), ничего вообще не делает молча.
Смотрю по xml отчёту:

<security>RIZ0</security>
<totalWorkingTime>00:01:41</totalWorkingTime>
<PnL>11175</PnL>
<slippage>-228075</slippage>
<latency>00:00:00</latency>


Это всё - на 18 контрактов
И интересно тут же - почему такое мало время работы? Стратегия работала весь день (от 9.50 до 0.10)...


Вот заявка:
Код

<direction>Buy</direction>
<time>02.11.2010 14:40:05</time>
<price>166580</price>
<state>Done</state>
<balance>0</balance>
<volume>18</volume>
<slippage>-99825</slippage>
<latency>00:00:00</latency>
Автор топика
Спасибо:

Alexander

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


в xml отчёте вывел сегодня:
1) <totalWorkingTime>00:00:00</totalWorkingTime>
<totalCPUTime>00:00:12</totalCPUTime>
хотя работал весь день
2) <ExpiryDate>9999-12-31T23:59:59.9999999</ExpiryDate>
для стоп заявки до отмены. я конечно понимаю что там такое время проставляется, но может стоит в отчёте менять на стандартные GTC в таком случае?



А так - огромнейшее спасибо, очень здорово теперь выглядит всё с average price!
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 09.11.2010
Ответить


Alexander
в xml отчёте вывел сегодня:
2) <ExpiryDate>9999-12-31T23:59:59.9999999</ExpiryDate>
для стоп заявки до отмены. я конечно понимаю что там такое время проставляется, но может стоит в отчёте менять на стандартные GTC в таком случае?


Не получится. Отчеты не знают конкретные названия полей у стоп условий. Да и потом. Xml Вы же дальше парсить будете? Сравнивать в коде с DateTime.MaxValue проще, чем "GTC", или "Gts" или "gts" или "gool till cancel".
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.11.2010
Ответить


Alexander
в xml отчёте вывел сегодня:
1) <totalWorkingTime>00:00:00</totalWorkingTime>
<totalCPUTime>00:00:12</totalCPUTime>
хотя работал весь день
2) <ExpiryDate>9999-12-31T23:59:59.9999999</ExpiryDate>
для стоп заявки до отмены. я конечно понимаю что там такое время проставляется, но может стоит в отчёте менять на стандартные GTC в таком случае?



А так - огромнейшее спасибо, очень здорово теперь выглядит всё с average price!


1. Стратегию необходимо первоначально остановить, и только после этого поле обновит значение. В ближайшем фиксе это поведение поменяю.
Спасибо:


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

loading
clippy