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