Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Удалось найти причину?
Я попытался внести свою посильную лепту, может это поможет в поиске ошибки. На снимках сделанных в разное время, видно как график индикатора смещается относительно основного графика.
Мне кажется, причина кроеться в том что в начале каждой недели появляется лишняя свеча, которые с каждой неделей накапливаются и сдвигают график, это что касается дневного графика с базовым H1. Можно сделать скрин на выходных, и в начале недели, будет наглядней.
Да, так и есть. При определённых значениях сдвига возникают "фантомные бары" - более детально смотрите рис. 4 статьи, там же описана причина их возникновения. Так как они появляются на стыке недель, то наиболее заметны на старших таймфреймах. Особенно на дневном графике (как в Вашем примере), поскольку, на экране помещается временной диапазон в несколько недель, и с каждой неделей сдвиг всё более ощутимый.
Это не ошибка, это особенность. Можно было бы отбрасывать "фантомные бары", но это потеря данных, что не совсем хорошо. В идеале, нужно было бы в таких местах сдвигать исходный график, но такой возможности нет. Если для Вас критична синхронизация исходного и результирующего графиков, можно отфильтровать "лишние" бары, возвращённые функцией GetRatesLC(), непосредственно перед копированием их в индикаторный буфер.
Делал похожую фигню. У меня вроде работает без всяких фантомных баров.
Поскольку целиком проанализировать исходник не имею возможности, наткнулся лишь на то, что на поверхности - некие странности (на мой взгляд).
Во-первых в нескольких местах видел конструкцию tO-=PeriodSeconds(). Не уверен, что так можно делать, поскольку вычитая из t0 PeriodSeconds можно залезть на предыдущий бар. Суть ситуации, когда t0 выходит за рамки, в том, что этот жидкий бар еще не начал формироваться и не нужно пытаться искусственно подвинуть его начало на один период.
Во-вторых, время закрытия нужно определять не по количеству - сколько базовых теоретически влезает в теущий период относительно открытия, а индивидуально для каждого бара текущего периода брать его время открытия, брать время открытия следующего бара, для второго искать бар базового периода и читать в базовом периоде предыдущий бар - это и будет конец жидкого бара.
Зачем мне это нужно? Я питаюсь увидеть, что на дневных графиках видят американцы, австралийцы, японцы и тд. Поскольку терминальное время у всех разное, то и время образования дневной свечи у всех разное, а следовательно и картинка на дневных графиках у всех разная. Имея возможность смотреть ситуацию в разных часовых поясах, появляеться больше возможностей не пропустить нужный момент входа. Что если не пытаться вычесть время нужного тика вычитая время сдвига от времени оптределенного бара. А взять за точку отсчета время GTM, от этого времени вычесть время сдвига и первый тик который прийдет после этого времени пойдет в образование новой свечи и соответственно тик который прийдет до этого времени, будет последним тиком свечи предыдущей. Это такой же принцип как образовываеться обычный график, если терминальное время 00:00 то на нам не важно когда прийдет первый тик, это все равно будет первый тик новой свечи.