Если речь о дневном графике, то скрипт пересчитывается раз в сутки. Соответственно, он не знает есть ли позиции, по-этому и не выставляет takeprofit. Значит Вам вариант с индикаторами вполне подойдет.