The Last column does not show the most recent trade for currency pairs but either the midpoint of the most recent bid/ask price or if not available then the previous day closing price. This is not a market data error but rather the nature of the Forex market.
The global Forex market is what is referred to as an "OTC" (Over the Counter) market. Unlike the options, futures or listed equity markets, there is no central reporting facility for OTC markets, including Forex. Hence there is no official "tape". The Last Traded Price for Forex depends entirely upon where you look. Bloomberg, Reuters, Yahoo, Google, IB, etc will all have different combinations of pools of liquidity from which they are gleaning this information. Since there is no official "Last Price" for Forex, IB cannot report one on our TWS. The previous day's closing price is the last traded price from the liquidity providers IB does business with. It may not match the last traded price for the previous day from other agencies who might have access to additional--or less--liquidity providers than does IB.
Executions in equities will sometimes be listed as R6, which is short for Rule 611 of SEC Regulation NMS. This condition code indicates that the execution(s) in question is not subject to trade-through rules. R6 trades are given an SEC exemption.
Rule 611, which is the Trade Through Exemption of SEC Regulation NMS, is very lengthy to cover in detail. Parties interested in reading the rule in its entirely should type "SEC Rule 611" into an internet search engine. This is the portion of the document that is pertinent to IB traders, in a nutshell:
Typically the trades involved are a multi-component trade involving orders for a security and a related derivative, or, in the alternative, orders for related securities, that are executed at or near the same time. The SIA (Securities Industry Association) notes that the economics of a contingent trade are based on the relationship between the prices of the security and the related derivative or security, and that the execution of one order is contingent upon the execution of the other order.
The bottom line is that when a trade is ruled R6 the SEC has granted a trade-through exemption. This means that these execution reports do not affect the resting orders in-between the market at the time, and the R6 execution. For example, the real market is quoting 10.50 at 10.51, and an execution is reported at 10.90. This execution was given an R6 exemption. A sell limit order at 10.75, an an example, would not be executed because the 10.90 execution was given an R6 status.
This is a simulated account, trading in a simulated market. IB programmatically simulates, to the best possible abilities, actual market conditions. Since it isn’t a real market, prices can’t always match exactly. IB is simulating not only the trader’s functionality and the market, but also the role of the exchange. In a real, live account, the order would be sent to the exchange, and the exchange would be doing the execution—not IB. The exchange has an anonymous book, and orders are matched anonymously. With the simulated account IB is trying to simulate the role that in the real markets is played by the exchange. While these fills may or may not be within the bounds of the live market at the time, in no way is it indicative of what would happen in the real market. Again, IB is simulating the exchange’s role in the live market, and in that market the onus for order matching/filling is on the exchange.
The simulated trader is for client’s to acclimate themselves to the software, test various orders and strategies, and to serve other learning functions. There is no way to exactly replicate live markets. They are simply too dynamic. The IB simulator does a very good job of it, but no simulator could be perfect.
Please note that both Realized and Unrealized P&L on Trader Workstation are for informational purposes only. They neither add, nor subtract, anything from your account. The actual P&L credited to or debited from the account is computed from the opening trade price to the closing trade price. This information can always be found in the daily activity statement for the account. The P&L values displayed use the market price value when computing the value that is being displayed. The system gives less weight to pre and post market transactions due to the lack of liquidity and the width of the spreads. As a result of this, the previous close is used until the NYSE market opens at 09:30 EST.
The Account Window utilizes the following formulas to calculate P&L: Unrealized P&L is the difference between the current market value of your open positions and the average cost, or Value – Average Cost; Realized P&L shows your profit on closed positions, which is the difference between your entry execution cost and exit execution cost, or (execution price + commissions to open the position) – (execution price + commissions to close the position).
The Order Management page on TWS utilizes two different P&L calculation methods. It is for the account holder to decide which calculation method they wish to have displayed: Daily P&L is calculated for all positions you currently hold using the new position calculation and the formula (current price) – (prior day’s closing price) x (total number of outstanding shares); while New Position P&L is calculated for transactions executed today using the formula (current price) – (purchase price) x (number of outstanding shares purchased today).