The first NOTIFY ORDER shows the calculated bollinger.lines.top from the previous discrete bar (the Limit order.price of 254.37602), which I assume is filled at 254.37602 now that the current close is 260.0. We have a short trade.
See, "assuming" when you are trading is a dangerous business. Instead of relying on what you passed, why don't check the actual execution price?
order.executed.price. It's in the documents. There is an entire section with several entries about order.
For excample Docs - Order Creation/Execution
which is using the Close prices, not the Limit order.price.
That's again your assumption. Check the right things and you will see that the calculations are right.
How do I get the code to use the order.price
You CANNOT. You can say that you don't want an execution which is worst than the
Limit price, but it can be different if the price gaps in your favor.