Просто о свечах (ч.2)

23 ноября, 2011

Автор:Николай Камынин

Проблема в том, что закрытие свечи – это последняя сделка на тайме  свечи, которую мы обнаружим, если точно знаем момент окончания тайма, либо зафиксировав начало следующей свечи по факту появления первой сделки в новом тайме.

Как верно замечено в комментарии к первой статье, точное время окончания тайма нам неизвестно. Можно указать по крайней мере три причины этого.

Во-первых, локальное время компьютера может отличаться от времени сервера и времени биржи.

Во-вторых, время ответа сервера величина переменная и зависит от загрузки сервера.

В-третьих, время распространение пакета информации по линиям связи величина случайная.

В результате получаем следующие не реальные условия тестирования стратегии на истории.

Во-первых, так как при наступлении закрытия свечи нет сделок, следовательно, тестирование стратегии по условию ”сделка на закрытии” не является реальной.

Во-вторых, так как момент закрытия определяется по первой сделке на следующем тайме, то тестирование стратегии при условии , что ”сигнал формируем по закрытию, а сделку по открытию следующей свечи” тоже не реальное условие, т к момент закрытия мы знаем лишь после открытия следующей свечи.  Следовательно, сделку совершить на открытии мы уже опоздали.

Если в реале использовать не таблицу сделок а таблицу заявок(стакан), то данная методика в принципе отличается от методики тестирования в программах технического анализа на исторических данных.

Тогда возникают следующие вопросы.

Что же мы тестируем на истории и зачем, если в реальности стратегия не может быть реализована в принципе?

Можно ли в действительности устранить данное несоответствие между методикой тестирования на истории и реальностью?

Продолжение следует…

Просто о свечах (ч.1)

22 ноября, 2011

Автор: Николай Камынин

Одной из значимых причин, по которой тестирование на исторических данных мало чем напоминает результаты реальной торговли, является привязка генерации торговых сигналов и совершения сделок к открытию или закрытию свечей истории сделок.

Данный вопрос требует определенного напряга серого вещества, называемого мозгом,  но понимание  сути этой проблемы позволит избежать грубых ошибок в реальности.

Начнем с определения этих событий.

Первично мы имеем ленту сделок , в которой фиксируются время количество цена и направление сделки. Время появления сделок случайно и неравномерно. Для приведения оси времени к постоянному интервалу и сжатию исходных данных, сделки по времени разделяют на постоянные интервалы (таймы). Например, я использую в системе тайм 5 минут.

Далее все сделки на тайме заменяют на четыре:  Open,High,Low,Close.

В результате мы получаем время свечей, через 5 минут (у меня ) и 4 значения.

Теперь вопрос. В какой момент времени совершены сделки по ценам Open,High,Low,Close?

Очевидно, что время сделок High и Low нам неизвестны.

А время Open и Close, известны?

Оказывается, мы их тоже не знаем.

Все , что мы знаем о моменте времени сделок с ценами Open, High, Low, Close, лишь то, что они находятся в интервале тайма.

Когда мы тестируем нашу стратегию на истории, то не долго думая ставим например, сигнал и сделки на закрытии свечи, либо сигнал на закрытии, а сделку на открытии.

Один из алгоритмов определения закрытия свечи в реале заключается в чтении на каждой новой сделки время свечи и сравнение его с временем на предыдущей сделке. Если эти значения не равны, то мы в новой свече.

Вопрос, а когда  же формируются цена открытия и закрытия свечи?

И что в действительности можно сделать , а чего сделать нельзя на закрытии и открытии свечи?  А можно ли узнать когда был High, Low на реале?

Многие, недолго думая, скажут, что  цена закрытия  — это цена последней сделки.

А какая сделка последняя, как узнать в реале?

Аналогично скажут, что цена открытия – это цена первой сделки в свече.

А если тайм 5 минут, а а очередная сделка совершена через два часа после предыдущей, то где открытие новой свечи и закрытие предшествующей?

Напрягаем серое вещество

Продолжение следует…