Как показывает практика даже на минутных свечах открытие не всегда равно закрытию предыдущей свечи.
Т.е. закрыть лонговую свечу в её конце без сжатия-разжатия не возможно?
Для большей точности придётся сжимать тики.
После того как завершилась последняя сделка свечи, скрипт пересчитывает заданную историю и только тогда мы узнаем какая была свеча, чёрная или белая. Это может занять сколько то миллисекунд. За это время цена естественно может "уплыть", как минимум на спрэд. Но иначе никак. Нельзя же открыть сделку в прошлом......