As you may now come to understand, FX margins are one of the key aspects of Forex trading that must not be overlooked, as they can potentially lead to unpleasant outcomes. In order to avoid them, you should understand the theory concerning margins, margin levels and margin calls, and apply your trading experience to create a viable Forex strategy. Indeed a well developed approach will undoubtedly lead you to trading success in the end.
Risk Management - Many "research" backtests completely ignore risk management. Unfortunately this is generally necessary for brevity in describing the rules of a strategy. In reality we -must- use a risk overlay when trading, otherwise it is extremely likely that we will suffer a substantial loss at some stage. This is not to say that risk management can prevent this entirely, but it certainly makes it less likely!

Not all securities can be bought on margin. Buying on margin is a double-edged sword that can translate into bigger gains or bigger losses. In volatile markets, investors who borrowed from their brokers may need to provide additional cash if the price of a stock drops too much for those who bought on margin or rallies too much for those who shorted a stock. In such cases, brokers are also allowed to liquidate a position, even without informing the investor. Real-time position monitoring is a crucial tool when buying on margin or shorting a stock.


Brokers use margin levels in an attempt to detect whether FX traders can take any new positions or not. Different brokers have varying limits for the margin level, but most will set this limit at 100%. This limit is called a margin call level. Technically, a 100% margin call level means that when your account margin level reaches 100%, you can still close your positions, but you cannot take any new positions.
Forex margin is a good faith deposit that a trader puts up as collateral to initiate a trade. Essentially, it is the minimum amount that a trader needs in the trading account to open a new position. This is usually communicated as a percentage of the notional value (trade size) of the forex trade. The difference between the deposit and the full value of the trade is “borrowed” from the broker.

Trading foreign exchange on margin carries a high level of risk, and may not be suitable for everyone. Before deciding to trade foreign exchange you should carefully consider your investment objectives, level of experience, and risk appetite. Remember, you could sustain a loss of some or all of your initial investment, which means that you should not invest money that you cannot afford to lose. If you have any doubts, it is advisable to seek advice from an independent financial advisor.
Slippage Handling - The system is currently generating a lot of slippage due to the high-frequency nature of the tick data provided from OANDA. This means that the portfolio balance calculated locally is not reflecting the balance calculated by OANDA. Until correct event-handling and slippage adjustment is carried out, this will mean that a backtest will not correctly reflect reality.
Whether you have assets in a securities account or in a futures account, your assets are protected by U.S. federal regulations governing how brokers must protect your property and funds. In the securities account, your assets are protected by SEC and SIPC rules. In the futures account, your assets are protected by CFTC rules requiring segregation of customer funds. You are also protected by our strong financial position and our conservative risk management philosophy. See our Strength & Security page.

The market then wants to trigger one of your pending orders but you may not have enough Forex free margin in your account. That pending order will either not be triggered or will be cancelled automatically. This can cause some traders to think that their broker failed to carry out their orders. Of course in this instance, this just isn't true. It's simply because the trader didn't have enough free margin in their trading account.
Let's presume that the market keeps on going against you. In this case, the broker will simply have no choice but to shut down all your losing positions. This limit is referred to as a stop out level. For example, when the stop out level is established at 5% by a broker, the trading platform will start closing your losing positions automatically if your margin level reaches 5%. It is important to note that it starts closing from the biggest losing position.

In particular I would like to make the system a lot faster, since it will allow parameter searches to be carried out in a reasonable time. While Python is a great tool, it's one drawback is that it is relatively slow when compared to C/C++. Hence I will be carrying out a lot of profiling to try and improve the execution speed of both the backtest and the performance calculations.
Multiple Broker/FIX Integration - At the moment we are strongly coupled to the OANDA broker. As I said this is simply because I came across their API and found it to be a modern offering. There are plenty of other brokers out there, many of which support the FIX protocol. Adding a FIX capability would increase the number of brokers that could be used with the system.
GAIN Capital recommends you to seek independent financial and legal advice before making any financial investment decision. Trading CFDs and FX on margin carries a higher level of risk, and may not be suitable for all investors. The possibility exists that you could lose more than your initial investment further CFD investors do not own or have any rights to the underlying assets. 

In particular I've made the interface for beginning a new backtest a lot simpler by encapsulating a lot of the "boilerplate" code into a new Backtest class. I've also modified the system to be fully workable with multiple currency pairs. In this article I'll describe the new interface and show the usual Moving Average Crossover example on both GBP/USD and EUR/USD.

If you believe that a currency pair such as the Australian dollar will rise against the US Dollar you can place a buy trade on AUD/USD. If the prices rises, you will make a profit for every point that AUD appreciates against the USD. If the market falls, then you will make a loss for every point the price moves against you. Our trading platform tells you in real-time how much profit or loss you are making.

×