Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если правильно понимаю, фантомный бар возникает когда в пятницу торговая сессия заканчивается 23:00. А если торговля заканчивается 23:59, откуда может появится тот самый бар. Опишите пожалуйста на конретном примере, какой временной интервал в себя включают две свечи которые появились в понедельник. Еще не понял такой момент, цена открытия дневных свечей на индикаторе при сдвиге на любое количество часов остается неизменной, хотя она должна принимать цену открытия часовой свечи которая при данном сдвиге являеться первой?
Пример.
Дневной график, базовый период H1. Исходное положение - сдвиг 0. Индикатор повторяет исходный график. Бар N открывается в 00:00:00 2015.08.03, бар N+1 в 00:00:00 2015.08.04, бар N+2 откроется в 00:00:00 2015.08.05, и так далее.
Добавляем сдвиг на 1 единицу базового периода. В данном случае, это 1 час. Теперь все бары результирующего графика будут перестроены. Сутки будут начинаться не в 00:00:00, а в 01:00:00. Таким образом, бар N откроется в 01:00:00 2015.08.03, бар N+1 в 01:00:00 2015.08.04, бар N+2 откроется в 01:00:00 2015.08.05, и так далее. Но у нас есть данные за время с 00:00:00 до 01:00:00. Мы их не можем выбросить, поэтому их них формируется бар за воскресенье.
Всё логично: если, учитывая сдвиг, наш синтетический "день" теперь начинается в 01:00:00, то заканчиваться должен через 24 часа, то есть в 00:59:59 следующего календарного дня. Данные за воскресенье мы не может добавить в пятничный бар, поскольку, разрыв между временами открытия баров базового периода больше суток.
Зачем мне это нужно? Я питаюсь увидеть, что на дневных графиках видят американцы, австралийцы, японцы и тд. Поскольку терминальное время у всех разное, то и время образования дневной свечи у всех разное, а следовательно и картинка на дневных графиках у всех разная. Имея возможность смотреть ситуацию в разных часовых поясах, появляеться больше возможностей не пропустить нужный момент входа. Что если не пытаться вычесть время нужного тика вычитая время сдвига от времени оптределенного бара. А взять за точку отсчета время GTM, от этого времени вычесть время сдвига и первый тик который прийдет после этого времени пойдет в образование новой свечи и соответственно тик который прийдет до этого времени, будет последним тиком свечи предыдущей. Это такой же принцип как образовываеться обычный график, если терминальное время 00:00 то на нам не важно когда прийдет первый тик, это все равно будет первый тик новой свечи.
В таком случае, Вам просто нужен индикатор, который перестраивает график с одного GMT на другой. Наверняка такие есть в кодобазе или среди бесплатных в маркете.
Использовать мой пример в Вашем случае действительно неудобно. Разве что допилить код, чтобы выбрасывать лишние бары, если не смущает потеря данных.
Описанная в статье методика разработана для другого. В режиме динамического смещения и с быстрым базовым периодом, увеличивается вероятность нахождения формаций для тех, кто использует свечной анализ.
Во-вторых, время закрытия нужно определять не по количеству - сколько базовых теоретически влезает в теущий период относительно открытия, а индивидуально для каждого бара текущего периода брать его время открытия, брать время открытия следующего бара, для второго искать бар базового периода и читать в базовом периоде предыдущий бар - это и будет конец жидкого бара.
Количество там определяется только для того, чтобы проверить, что заданный сдвиг лежит в допустимых пределах.
Бары формируются следующим образом. Сначала определяются временные рамки для синтезируемого бара. Затем, копируем массив баров базового периода, который входит в эти рамки. По данным массива получаем OHLC синтезируемого бара. Количество баров базового периода может быть разным. Если не удалось скопировать ни одного бара базового периода - пропускаем и переходим к формированию следующего бара.
Пример.
Данные за воскресенье мы не может добавить в пятничный бар, поскольку, разрыв между временами открытия баров базового периода больше суток.
А почему нельзя дописать условие, что если сегодня пятница, а затем приходят данные за воскресенье, то эти данные добавляются в пятничный бар, чтобы не удалять фантомные свечи, потому что это даст не корректный результат?
Потому что бары так не формируются. Не может дневной бар иметь внутри котировки с разницей больше суток. Технически можно сделать всё, что угодно, хоть в минутный бар запихнуть неделю, но будет ли в этом смысл?
Более того, на стыке недель часто попадаются гэпы. Если добавить данные из воскресного бара в пятничный, то получится длинный бар, который будет вводить в заблуждение - то ли это мощное движение пятницы, то ли это гэп.
Вот пример, где воскресный дневной бар состоит всего из одного часового. Никакой отсебятины, оригинальный график:
Теперь откроем часовой график и найдём тот самый бар, который сформировал воскресенье на дневном:
Почему бы, по Вашему предложению, брокеру не выполнить слияние этого бара с пятничным? Потому что это не по правилам. Бары так не формируются.
Вот пример, где воскресный дневной бар состоит всего из одного часового. Никакой отсебятины, оригинальный график:
Теперь откроем часовой график и найдём тот самый бар, который сформировал воскресенье на дневном:
Добавляем сдвиг на 1 единицу базового периода. В данном случае, это 1 час. Теперь все бары результирующего графика будут перестроены. Сутки будут начинаться не в 00:00:00, а в 01:00:00. Таким образом, бар N откроется в 01:00:00 2015.08.03, бар N+1 в 01:00:00 2015.08.04, бар N+2 откроется в 01:00:00 2015.08.05, и так далее. Но у нас есть данные за время с 00:00:00 до 01:00:00. Мы их не можем выбросить, поэтому их них формируется бар за воскресенье.
Всё логично: если, учитывая сдвиг, наш синтетический "день" теперь начинается в 01:00:00, то заканчиваться должен через 24 часа, то есть в 00:59:59 следующего календарного дня. Данные за воскресенье мы не может добавить в пятничный бар, поскольку, разрыв между временами открытия баров базового периода больше суток.
Это вопрос философский: либо мы корежим синхронизацию баров фантомами, либо нужно перекачивать базовые бары из дня в день без оглядки на разрыв во времени. Кому что больше нравится.
У себя я считал по описанному мной выше алгоритму (отсчет сдвига от начала одного бара текущего тф до следующего), то есть если продолжать этот же пример и нужен сдвиг в 1 час, то в бар пятницы попадет все от 1:00 пятницы до 1:00 понедельника. Обоснование простое - пятница и понедельник - соседние бары в текущем периоде, там нет никаких воскресений, и потому не может быть в индикаторе.
Но это похоже не тот случай - здесь воскресный бар есть в котировках самого брокера - и на дневке, и на H1, так что это не "фантом", созданный в индикаторе, а реальный бар.
Stanislav Korotky:
Обоснование простое - пятница и понедельник - соседние бары в текущем периоде, там нет никаких воскресений, и потому не может быть в индикаторе.
А чем воскресный бар, созданный в индикаторе, хуже воскресного бара в котировках брокера? Если, сдвигая время открытия, получаем синтетику, то на неё распространяются те же правила. Если есть данные за час до начала понедельника, то из них формируется воскресенье, и никак иначе. То, что при этом полученный график уползает от соответствующих баров исходного графика - вполне нормально.
Котировка - исходные данные, поэтому наличие в них воскресений или суббот не обсуждается и изменено быть не может - это нам брокер спускает сверху.
А инидкатор имеет привязку к котировкам, должен быть синхронизирован с ними. Наличие фантомов привязку нарушает. Это как минимум неудобно.
Но пусть каждый сам для себя решает, что лучше.