Интервал пересчета

Автор: 777

Интервал пересчета - Fri Jan 20 2012 06:35 PM

Можно ли сделать возможность запуска скрипта(пересчет) по интервалу времени без учета: были сделки или не было?
Т.е. чтобы интервал пересчета можно было задать строго по времени. Например вызывать скрипт раз в 1с , лучше конечно по миллисекундам..
Вопрос связан с тем, что часто возникают проблемы, когда в скрипте несколько источников и три или четыре из которых берут данные из fininfo. Если по инструменту не было сделок, но по другим были, волатильность считается биржей и присылается, но в скрипт не записывается, так как не было сделок по конкретному инструменту. В итоге пут и кол одного страйка может иметь разную волатильность, что не приемлимо.
Автор: PahaPCT

Re: Интервал пересчета - Fri Jan 20 2012 06:58 PM

да точно
Автор: sar

Re: Интервал пересчета - Sat Jan 21 2012 11:15 AM

Обычно в таких ситуациях приходится самому делать транзакцию любую чтобы произошел пересчет (если пересчет стоит по изменению объема) но это не очень удобно так что поддерживаю.
Автор: ashem

Re: Интервал пересчета - Sat Jan 21 2012 01:26 PM

мне тоже пригодится эта идея. в одном скрипте применю...
поддерживаю!
Автор: Lrogi

Re: Интервал пересчета - Sat Jan 21 2012 11:39 PM

хорошая штука, поддерживаю полностью!!!
Автор: Lenar

Re: Интервал пересчета - Mon Jan 23 2012 09:03 AM

тоже прошу и поддерживаю эту идею, лучше начинать с миллисекунды и дальше!
Автор: SPLsd

Re: Интервал пересчета - Mon Jan 23 2012 10:17 AM

+1
Автор: Nektodron

Re: Интервал пересчета - Mon Jan 23 2012 11:25 AM

На данном этапе развития бирж вводить миллисекунды никакого смысла нет. Есть интервал пересчета Тик, после каждой сделки.
Что касается волатильности (не обновляется), то либо баг у брокера, либо у нас. Нужно разобраться. Интервал пересчета тут никаой роли не играет.
Автор: slinger

Re: Интервал пересчета - Mon Jan 23 2012 11:56 AM

присоединяюсь к теме. миллисекунды были бы как раз в пору.
Автор: andy

Re: Интервал пересчета - Mon Jan 23 2012 12:26 PM

Предыдущий пост смотрите. Все и так уже есть. Ставите тики. При появлении тика идет пересчет.
Автор: SPLsd

Re: Интервал пересчета - Mon Jan 23 2012 01:53 PM

А можно сделать пересчёт отдельно для тейков и стопов?
Автор: andy

Re: Интервал пересчета - Mon Jan 23 2012 01:57 PM

Можно все что угодно, вопрос зачем ? При появлении нового тика идет пересчет. Соответственно при пересчете идет выполнение заложенной логики в скрипт. Закладывайте в скрипт все что нужно.
Автор: SPLsd

Re: Интервал пересчета - Mon Jan 23 2012 02:08 PM

Вот пример:
Например пробитие максимума (140 000), пробили в 15-01-03, надо поставить тейк +100 к закрытию прошлой свечки (140 100), он его поставит в 15-02-00, но цена уже может уйти от туда вниз, т.е. она была до 15-01-59 выше тейка, в 15-02-00 ушла ниже, и повалилась!!
Если делать через сжатие (например 10 сек) то там может быть до 6 сделок:
1. 15-01-03 пробили в 15-01-10 тейк, он сработал но на момент персчёта скрипта, Цена закрытия опять выше максимума (140 000), т.е. опять войдёт в позицию, и так может быть до 6 раз!!!

Или я что то не понимаю, но на реале у меня так и происходит.
Автор: 777

Re: Интервал пересчета - Mon Jan 23 2012 03:21 PM

Originally Posted By: Nektodron
На данном этапе развития бирж вводить миллисекунды никакого смысла нет. Есть интервал пересчета Тик, после каждой сделки.
Что касается волатильности (не обновляется), то либо баг у брокера, либо у нас. Нужно разобраться. Интервал пересчета тут никаой роли не играет.


Не, вооще всё не так. smile
Волатильность читаю с Алора(эта проблема есть на транзаке), передает исправно. ТсЛаб ее то же видит. С этим вопросов вообще никаких. Проблема в другом.
Несколько Скриптов записывают в файлы, данные FinInfo с нескольких источников, каждый свой.
Далее Один скрипт из нескольких файлов читает данные для нескольких источников.(put call нескольких страйков)
В каждый момент времени волатильность для одного страйка должна быть равна как для Put так и для Call.
Но если на одном страйке у put была сделка, а в этот момент у call того же страйка не было сделки, то волатильность у них станет разная.
Вопрос временно решается добавлением очень ликвидного инструмента в каждый из скриптов, которые записывают данные в файлы. Что сильно грузит систему.
В итоге проблема как раз в пересчете. Нужен пересчет временной, не зависящий от сделок на рынке.

P/S/ Пересчет пок/прод не помогут, ибо наши опционы - это наши опционы, у нас и за два часа может не быть никакого движения в стакане по одному из инструментов одного страйка.
Автор: 777

Re: Интервал пересчета - Mon Jan 23 2012 03:36 PM

Предвижу ответ. Собрать все опционы в один скрипт и включить пересчет по каждому инструменту.
Не пойдет, потому-что Волатильность страйка зависит не только от опционов smile
Автор: 777

Re: Интервал пересчета - Mon Jan 23 2012 03:50 PM

Миллисекунды мне никак не нужны в данный момент, просто сам пересчет был бы интересен, с точки зрения выставления стопов после входа, на свечах с большим тайм фреймом без загрузки тиков и последующего сжатия.
Для опционов вполне достаточно пересчета 1 секунда.
Автор: 777

Re: Интервал пересчета - Mon Jan 23 2012 04:19 PM

Originally Posted By: andy
Можно все что угодно, вопрос зачем ? При появлении нового тика идет пересчет. Соответственно при пересчете идет выполнение заложенной логики в скрипт. Закладывайте в скрипт все что нужно.

Вот прямо всё, что нужно, не получиться :), еще и вот из-за этого: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=34955#Post34955

P.S> Тема в предложениях находится....
Автор: Nektodron

Re: Интервал пересчета - Mon Jan 23 2012 04:43 PM

Originally Posted By: SPLsd
(140 000), т.е. опять войдёт в позицию, и так может быть до 6 раз!!!

Или я что то не понимаю, но на реале у меня так и происходит.

Ну на тиках все так и есть, если никак не ограничивать скрипт, то в теории он может зайти 6 раз. Однако через брокера в любом случае с такой скоростью заявки ставить не выйдет. А самое главное причем тут пересчет в интервале миллисекунды?

Originally Posted By: 777
Миллисекунды мне никак не нужны в данный момент, просто сам пересчет был бы интересен, с точки зрения выставления стопов после входа, на свечах с большим тайм фреймом без загрузки тиков и последующего сжатия.
Для опционов вполне достаточно пересчета 1 секунда.


В данном случае лишний пересчет не поможет, потому что программа в режиме по умолчанию отсекает незакрытую свечу и стоп все равно не будет выставлен. Чтобы это работало нужно городить очередной огород со специальной опцией пересчета после скриптовой сделки и давать работать на незакрытых свечах, что может привести к различным непредвиденным результатам.

PS. На счет опционов, это пока использование программы для задач, для которых она не была изначально предназначена. С кандачка такие вопросы точно не решаются. Поэтому будем думать.
Автор: SPLsd

Re: Интервал пересчета - Mon Jan 23 2012 07:36 PM

Originally Posted By: Nektodron
Originally Posted By: SPLsd
(140 000), т.е. опять войдёт в позицию, и так может быть до 6 раз!!!

Или я что то не понимаю, но на реале у меня так и происходит.

Ну на тиках все так и есть, если никак не ограничивать скрипт, то в теории он может зайти 6 раз. Однако через брокера в любом случае с такой скоростью заявки ставить не выйдет. А самое главное причем тут пересчет в интервале миллисекунды?



Это не на тиках, это если сжимать в минуту из 10 сек. свечек.
Мне милисекунды не надо, мне и секунды хватит smile
Автор: jhgjrht

Re: Интервал пересчета - Mon Jan 23 2012 10:17 PM

Тут много можно чего еще предложить. Например, предусмотреть пересчет пользовательского скрипта по факту изменения значений из Fininfo (по аналогии с "пок\прод"). Можно добавить галку "принудительно вызывать скрипт по окончании указанного таймфрейма" (если свеча не закрылась из-за отсутствия сделок, пусть, передать скрипту то, что есть, придумывать сделки не надо smile )
А можно вообще отрефакторить модель вызова пользовательских скриптов и переделать ее с упором на события. Классифицировать возможные события, например, новая сделка, открытие позиции (чтоб сразу стоп поставить smile ), изменение стакана, изменение Fininfo, срабатывание возобновляемого таймера, закрытие свечи указанного таймфрейма, накопление указанного кол-ва сделок, объема, проход цены через заданный шаг и т.п. И дать пользователю в настройках указать какие события ему нужны. Редактор скрипта, конечно, существенно поменяется, потребуется немалое количество новых блоков. Работы много, но все это реализуемо.
Это более общий подход нежели тот, что сейчас реализован в ТСЛаб. В чем преимущества? В дополнительных возможностях пользовательских скриптов.
Автор: Nektodron

Re: Интервал пересчета - Tue Jan 24 2012 07:46 PM

Да, это понятно. Над изменением модели скриптов будем работать после выхода версии 1.2. У нас так же накопились вопросы к текущей модели. Но хочется оставить обратную совместимость.
Автор: 777

Re: Интервал пересчета - Wed Jan 25 2012 10:04 AM

К моменту, когда будете думать, хочу обратить внимание на один момент. Вот идут данные по стакану в FinInfo перед торговлей. На самом деле очень важные данные, на которые можно опираться. Но они не доступны, пока не произойдет хотя бы одной сделки. И все эти данные записываются на предыдущий день(предыдущую свечу).
Хотелось бы эти данные использовать утром на открытии и что бы они не были смешаны со вчерашними данными.