Note also that when we begin storing our trades in a relational database (as described above in the roadmap) we will need to make sure we once again use the correct data-type. PostgreSQL and MySQL support a decimal representation. It is vital that we utilise these data-types when we create our database schema, otherwise we will run into rounding errors that are extremely difficult to diagnose!
How can you avoid this unanticipated surprise? Margin calls can be effectively avoided by carefully monitoring your account balance on a regular basis, and by using stop-loss orders on every position to minimise the risk. Another smart action to consider is to implement risk management within your trading. By managing your the potential risks effectively, you will be more aware of them, and you should also be able to anticipate them and potentially avoid them altogether.
Margins are a hotly debated topic. Some traders argue that too much margin is very dangerous, however it all depends on trading style and the amount of trading experience one has. If you are going to trade on a margin account, it is important that you know what your broker's policies are on margin accounts, and that you fully understand and are comfortable with the risks involved. Be careful to avoid a Forex margin call.
Maintenance margin for commodities is the amount that you must maintain in your account to support the futures contract and represents the lowest level to which your account can drop before you must deposit additional funds. Commodities positions are marked to market daily, with your account adjusted for any profit or loss that occurs. Because the price of underlying commodities fluctuates, it is possible that the value of the commodity may decline to the point at which your account balance falls below the required maintenance margin. If this happens, brokers typically make a margin call, which means you must deposit additional funds to meet the margin requirement.

In addition, I've had some comments from people suggesting that they'd like to see more varied order types than the simple Market Order. For carrying out proper HFT strategies against OANDA we are going to need to use Limit Orders. This will probably require a reworking of how the system currently executes trades, but it will allow a much bigger universe of trading strategies to be carried out.
Foreign exchange (forex) or FX trading involves trading the prices of global currencies, and at City Index it is possible to trade on the prices of a huge range of global currencies. Currency trading allows you to speculate on the movement of one currency against another, and is traded in pairs, for example the Euro against the US Dollar (EUR/USD).

As part of the Universal Account service, we are authorized to automatically transfer funds as necessary between your securities account and your futures account in order to satisfy margin requirements in either account. You can configure how you want us to handle the transfer of excess funds between accounts on the Excess Funds Sweep page in Account Management: you can choose to sweep funds to the securities account, to the futures account, or you can choose to not sweep excess funds at all.

If traders are positive on the prospects for the Yen, they would expect the number on the right to go down – i.e. the Yen would be getting stronger against the Dollar. Traders would be buying less Yen with a Dollar as the Yen got stronger. Similarly, if the Yen was expected to weaken, forex traders would expect the Yen number to go up, reflecting the fact that the dollar could buy more yen.