Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
24.01.2025, 20:49:12
Начало Помощь Поиск Войти Регистрация
Новости: ООО «Скрин маркет системз», правообладатель программы «Система брокерского обслуживания «TRANSAQ» официально заявляет, что не ведет никакой деятельности в мессенджерах или социальных сетях. 
Подробности на нашем сайте  WWW.TRANSAQ.RU.

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: onNewCandle() - особенности и недостатки « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: onNewCandle() - особенности и недостатки  (Прочитано 6188 раз)
Joni2
Newbie
*
Сообщений: 29


Просмотр профиля Email
« : 19.08.2011, 09:19:18 »

событие onNewCandle() не всегда корректно для работы со свечками.
например, при работе на фьюче РТС получается:
последние бар перед клирингом 18:44 - получим только после окончания в 19:00
последний бар сессии 23:49 - получим только на следующий день  ;D

предложение:
рассмотреть возможность добавления события onCandle()  - возникающего по закрытию свечи. (так сделано во многих программах и платформах тех. анализа).
Что скажите?
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #1 : 19.08.2011, 10:06:01 »

Это сложно сделать. От биржи просто приходят сделки, по которым формируются свеси, и какая из этих сделок последняя в свече - не известно.

А как это реализовано в других программах? Не могли бы вы кинуть ссылку, может быть у нас появятся мысли как это сделать грамотно.
Записан
Joni2
Newbie
*
Сообщений: 29


Просмотр профиля Email
« Ответ #2 : 19.08.2011, 10:31:02 »

поясните пожалуйста, как вы формируете событие onNewCandle() ?
по времени сделки на бирже?
когда сделка пришла с временем следующей минуты (или другого тайм-фрэйма), формируется  onNewCandle() , сделка записывается в новый бар.
Все правильно?
« Последнее редактирование: 19.08.2011, 11:40:02 от Joni2 » Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #3 : 19.08.2011, 12:14:51 »

Да, все именно так.
Записан
Joni2
Newbie
*
Сообщений: 29


Просмотр профиля Email
« Ответ #4 : 19.08.2011, 12:42:06 »

Я тоже именно за такой способ  ;D

Второй вариант (по обсуждениям с разработчиками и собственному опыту) -
использование локального или серверного времени для определения границ свечей.
И вот тут мы можем получить неоднозначность   :(
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #5 : 19.08.2011, 18:02:41 »

Да, вот из-за этой неопределенности и есть проблемы в реализации функции по закрытию свечки. Но таймер мы планируем сделать.
Записан
nikolz
Sr. Member
****
Сообщений: 285


Просмотр профиля Email
« Ответ #6 : 20.08.2011, 08:12:23 »

Добрый день,Heller !
По-моему мнению проблема решается следующим образом.
Во-первых, надо четко определить понятие "свеча".
Ранее на форуме уже была дискуссия о свечах.
Приведу свое определение свечи:
Свеча - это фильтр , который из множества сделок,
совершенных на фиксированном  интервале времени,
 выделяет лишь 4 сделки,
которые удовлетворяют следующим условиям:

1) Первая сделка на интервале.
Цена этой сделки - это Open свечи
2) Сделка внутри интервала с максимальной ценой.
Цена этой сделки - это  High свечи
3) Сделка внутри интервала с минимальной ценой.
Цена этой сделки - это Low свечи
4) Последняя сделка на интервале.
Цена этой сделки - это Close свечи

При этом, задаваемый интервал времени будем считать закрытым слева ( т е условие >= ) и открытым справа ( < )

Если строго придерживаться данного определения,
 то обсуждаемая Вами проблема просто не возникает.

Примеры:

Свеча в конце дня.
 Интервал 1 минута
Цена открытия свечи Open = цене первой сделки,
 время совершение которой больше или равно 18:44:00
Цена закрытия свечи Close= цене последней сделки,
время совершение которой меньше  18:45:00.

Применительно к дневным свечам.
Первая свеча дня всегда получается в начале торгового дня,
а последняя - в момент окончания торгового дня

Применительно к клирингу
Никаких переносов свечей через момент клиринга не возникает.

Успехов
« Последнее редактирование: 20.08.2011, 08:24:58 от nikolz » Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #7 : 22.08.2011, 09:48:07 »

А соершенно не вижу каким образом то что вы написали относится к тому, что описывает Joni2.
Записан
nikolz
Sr. Member
****
Сообщений: 285


Просмотр профиля Email
« Ответ #8 : 22.08.2011, 09:58:47 »

Добрый день,Heller!
Joni2 написал:
событие onNewCandle() не всегда корректно для работы со свечками.
например, при работе на фьюче РТС получается:
последние бар перед клирингом 18:44 - получим только после окончания в 19:00
последний бар сессии 23:49 - получим только на следующий день  Смеющийся

предложение:
рассмотреть возможность добавления события onCandle()  - возникающего по закрытию свечи. (так сделано во многих программах и платформах тех. анализа).
Что скажите?

Вы ответили:
Это сложно сделать. От биржи просто приходят сделки, по которым формируются свечи, и какая из этих сделок последняя в свече - не известно.

Так вот
, из того определения , которое я написал, последняя сделка определяется точно и без проблем.
Записан
Страниц: [1] Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: onNewCandle() - особенности и недостатки « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!