When having "Calculate on bar close" set to False with ShowObjects = True it will paint the objects correctly as price action moves.
Scenarios:
If price goes above the 200 line area, it will paint a lime object, if price drops below the 200 line, the object will change to a darkblue object.
If price is in the 100 line area, it will paint a maroon object, if price drops below the 100 line area, the object will be removed.
When having "Calculate on bar close" set to False and having ShowObjects set to True it will paint erroneous painted objects. The reason for this is when price action blasts off and the CCI (let's say) hits above the 200 line it will paint the lime object and if price action reverses on the same bar which brings the CCI below the 200 line the object that got painted will stay. I haven't quit figured out how to code that portion of the code.
It's best to have "Calculate on bar close" set to True with ShowObjects = True.
It's best to have "Calculate on bar close" set to False with ShowObjects = False.
This is a collection of various filters by John Ehlers outlined in his excellent books "Rocket Science for Traders" and "Cybernet Analysis for Stocks and Futures"