1. Закрывать позиции то же нужно.
2. Правильно делать через сжатие. Не правильно измените пересчет скрипта, на реале будете иметь входа при каждом пересечении.
3. Грамотно будет в любом случае. Всё зависит от скрипта.