A common rule: enter when a new bar opens, if the previous bar met some condition. In backtests on bar data, the entry price is the open of the new bar. Simple and clean.
In live trading, the entry is sent when the platform detects the new bar, which happens on the first tick. By then, the price has already moved from the previous close. The platform also needs a few milliseconds to process, and the order needs time to reach the broker.
Many other traders and scripts are doing the same thing at the same moment. The top of the minute is crowded. Spreads can tick wider, and fills often come at slightly worse prices than the open that the backtest assumed.
The aggregate effect is a small but consistent slippage that affects every trade. On a strategy with a 1 pip average gain, a 0.3 slip is a 30 percent loss of edge.
The remedy is to model the delay in the backtest: assume the fill occurs a few hundred milliseconds after the open, at the then-current price. If the strategy survives that, it has a margin.
Is the first tick after a bar opening a crowded moment on the pairs traded here?