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 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.
These articles, on the other hand, discuss currency trading as buying and selling currency on the foreign exchange (or "Forex") market with the intent to make money, often called "speculative forex trading". XE does not offer speculative forex trading, nor do we recommend any firms that offer this service. These articles are provided for general information only.

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.
Systems that derive risk-based margin requirements deliver adequate assessments of the risk for complex derivative portfolios under small/moderate move scenarios. Such systems are less comprehensive when considering large moves in the price of the underlying stock or future. We have enhanced the basic exchange margin models with algorithms that consider the portfolio impact of larger moves up 30% (or even higher for extremely volatile stocks). This 'Extreme Margin Model' may increase the margin requirement for portfolios with net short options positions, and is particularly sensitive to short positions in far out-of-the-money options.
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.
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.
In particular we will need strategy level metrics, including common risk/reward ratios such as the Sharpe Ratio, Information Ratio and Sortino Ratio. We will also need drawdown statistics including the distribution of the drawdowns, as well as descriptive stats such as maximum drawdown. Other useful metrics include the Compound Annual Growth Rate (CAGR) and total return.
For securities, the definition of margin includes three important concepts: the Margin Loan, the Margin Deposit and the Margin Requirement. The Margin Loan is the amount of money that an investor borrows from his broker to buy securities. The Margin Deposit is the amount of equity contributed by the investor toward the purchase of securities in a margin account. The Margin Requirement is the minimum amount that a customer must deposit and it is commonly expressed as a percent of the current market value. The Margin Deposit can be greater than or equal to the Margin Requirement. We can express this as an equation:
In particular we need to modify -every- value that appears in a Position calculation to a Decimal data-type. This includes the units, exposure, pips, profit and percentage profit. This ensures we are in full control of how rounding issues are handled when dealing with currency representations that have two decimal places of precision. In particular we need to choose the method of rounding. Python supports a few different types, but we are going to go with ROUND_HALF_DOWN, which rounds to the nearest integer with ties going towards zero.
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.
What’s new in version 3.2? New features A vertical view of the instruments panel has been added called Charts view Fancy new splash screen 🙂 Import modules Degiro importer Westpac importer Light Speed importer Interactive Brokers importer update due to cash transaction format change Bug fixes Fixed Gantt chart save issue Fixed layout restore problems […]

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. 

The script is currently hardcoded to generate forex data for the entire month of January 2014. It uses the Python calendar library in order to ascertain business days (although I haven't excluded holidays yet) and then generates a set of files of the form BBBQQQ_YYYYMMDD.csv, where BBBQQQ will be the specified currency pair (e.g. GBPUSD) and YYYYMMDD is the specified date (e.g. 20140112).
© Forex Factory 2020.  All rights reserved.  The Forex Factory calendar changes frequently to reflect the latest information.  For the most up to date calendar, please visit https://www.forexfactory.com/calendar.php.  Forex Factory takes no responsibility for decisions based on this information, please see our terms of service at https://www.forexfactory.com/legal.php.

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.
×