Conditions are evaluated based on how you code them in a strategy. They should be evaluated based on the data at the "end" (close) of the current
bar, the trading loop index.
QUOTE:
If bar parameter = daily, and if at 2:00pm on 03/01/2010
This is invalid. You should not be evaluating EOD strategies mid day. But if you do, and you're using the Y! provider's latest data, the strategy assumes that the bar is
complete, i.e., EOD.
QUOTE:
when would it be executed
It's "executed" the moment it's run in the Strategy. Though, I'm not sure what you mean by this. If you mean, "when would an AtMarket order be placed?", then it would be at the open of the next day, i.e.,
bar + 1, if that's how you coded it (you should).
An AtClose order would be placed "immediately" on the Close of the day, if you execute it on
bar. You can program a Strategy to execute on the close of the next bar, i.e.,
bar + 1, that's perfectly fine too. However, since AtClose orders are not supported in live trading, the Programming Guide discussion has more details about how to realistically create this order.