All currency trading is done in pairs. Unlike the stock market, where you can buy or sell a single stock, you have to buy one currency and sell another currency in the forex market. Next, nearly all currencies are priced out to the fourth decimal point. A pip or percentage in point is the smallest increment of trade. One pip typically equals 1/100 of 1 percent.
Once an investor has started buying a stock on margin, the NYSE and FINRA require that a minimum amount of equity be maintained in the investor's margin account. These rules require investors to have at least 25% of the total market value of the securities they own in their margin account. This is called the maintenance margin. For market participants identified as pattern day traders, the maintenance margin requirement is a minimum of $25,000 (or 25% of the total market value of the securities, whichever is higher).
Each time you open a new trade, calculate how much free margin you would need to use if the trade drops to its stop loss level. In other words, if your free margin is currently $500, but your potential losses of a trade are $700 (if the trade hits stop loss), you could be in trouble. In these situations, either close some of your open positions, or decrease your position sizes in order to free up additional free margin.
Often, closing one losing position will take the margin level Forex higher than 5%, as it will release the margin of that position, so the total used margin will decrease and consequently the margin level will increase. The system often takes the margin level higher than 5%, by closing the biggest position first. If your other losing positions continue losing and the margin level reaches 5% once more, the system will just close another losing position.
Interactive Brokers ®, IBSM, InteractiveBrokers.com ®, Interactive Analytics ®, IB Options AnalyticsSM, IB SmartRoutingSM, PortfolioAnalyst ®, IB Trader WorkstationSM and One World, One AccountSM are service marks and/or trademarks of Interactive Brokers LLC. Supporting documentation for any claims and statistical information will be provided upon request. Any trading symbols displayed are for illustrative purposes only and are not intended to portray recommendations.
tweet at 3:44pm: [RTRS] - U.S. CDC DIRECTOR REDFIELD SAYS RISK TO U.S. PUBLIC FROM CORONAVIRUS OUTBREAK IS LOW tweet at 3:46pm: REDFIELD SAYS THERE ARE 191 INDIVIDUALS UNDER INVESTIGATION IN U.S. AMID CORONAVIRUS OUTBREAK tweet at 3:45pm: US CDC Director Redfield: This is a significant global situation. https://t.co/Ao1Ci2OEfi tweet at 3:52pm: US declares the coronavirus a public health emergency, implementing special temporary measures $SPX

Interactive Brokers ®, IBSM, InteractiveBrokers.com ®, Interactive Analytics ®, IB Options AnalyticsSM, IB SmartRoutingSM, PortfolioAnalyst ®, IB Trader WorkstationSM and One World, One AccountSM are service marks and/or trademarks of Interactive Brokers LLC. Supporting documentation for any claims and statistical information will be provided upon request. Any trading symbols displayed are for illustrative purposes only and are not intended to portray recommendations.
© 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.

The market values/prices used to compute the equity or margin requirement in an Interactive account may differ from the price disseminated by exchanges or other market data sources, and may represent Interactive's valuation of the product. Among other things, Interactive may calculate its own index values, Exchange Traded Fund values or derivatives values, and Interactive may value securities or futures or other investment products based on bid price, offer price, last sale price, midpoint or using some other method. Interactive may use a valuation methodology that is more conservative than the marketplace as a whole.


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. 

© 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.
Robust Strategies - I have only demonstrated some simple random signal generating "toy" strategies to date. Now that we are beginning to create a reliable intraday forex trading system, we should start carrying out some more interesting strategies. Future diary entries will concentrate on strategies drawn from a mixture of "technical" indicators/filters as well as time series models and machine learning techniques.
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.

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.


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).
Just like securities, commodities have required initial and maintenance margins. These are typically set by the individual exchanges as a percentage of the current value of a futures contract, based on the volatility and price of the contract. The initial margin requirement for a futures contract is the amount of money you must put up as collateral to open position on the contract. To be able to buy a futures contract, you must meet the initial margin requirement, which means that you must deposit or already have that amount of money in your account.

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 trading, also known as foreign exchange trading or currency trading, is where an investor tries to make money by buying and selling currencies on the foreign exchange market. Most investors will follow trends and use strategies to optimise their return. This is a very basic definition that does not reflect the full complexity of Forex trading; our free workshops are ideal for people who are unfamiliar with the concept and want to quickly achieve an in-depth insight into how this all works.
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).

Each time you open a new trade, calculate how much free margin you would need to use if the trade drops to its stop loss level. In other words, if your free margin is currently $500, but your potential losses of a trade are $700 (if the trade hits stop loss), you could be in trouble. In these situations, either close some of your open positions, or decrease your position sizes in order to free up additional free margin.
Retail or beginning traders often trade currency in micro lots, because one pip in a micro lot represents only a 10-cent move in the price. This makes losses easier to manage if a trade doesn't produce the intended results. In a mini lot, one pip equals $1 and that same one pip in a standard lot equals $10. Some currencies move as much as 100 pips or more in a single trading session making the potential losses to the small investor much more manageable by trading in micro or mini lots.
Now that we have discussed the longer term plan I want to present some of the changes I have made to the code since diary entry #2. In particular, I want to describe how I modified the code to handle the Decimal data-type instead of using floating point storage. This is an extremely important change as floating point representations are a substantial source of long-term error in portfolio and order management systems.

Options involve risk and are not suitable for all investors. For more information read the "Characteristics and Risks of Standardized Options". For a copy call Interactive Brokers' Client Services on 312-542-6901. Before trading, clients must read the relevant risk disclosure statements on our Warnings and Disclosures page - http://www.interactivebrokers.com/disclosures. Trading on margin is only for sophisticated investors with high risk tolerance. You may lose more than your initial investment. For additional information regarding margin loan rates, see http://www.interactivebrokers.com/interest. Security futures involve a high degree of risk and are not suitable for all investors. The amount you may lose may be greater than your initial investment. Before trading security futures, read the Security Futures Risk Disclosure Statement. For a copy visit http://www.interactivebrokers.com/disclosures. Structured products and fixed income products such as bonds are complex products that are more risky and are not suitable for all investors. Before trading, please read the Risk warning and Disclosure Statement at http://www.interactivebrokers.com/disclosures. There is a substantial risk of loss in foreign exchange trading. The settlement date of foreign exchange trades can vary due to time zone differences and bank holidays. When trading across foreign exchange markets, this may necessitate borrowing funds to settle foreign exchange trades. The interest rate on borrowed funds must be considered when computing the cost of trades across multiple markets.


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 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.
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.
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 […]

The majority of the volume in currency trading is confined to only 18 currency pairs compared to the thousands of stocks that are available in the global equity markets. Although there are other traded pairs outside of the 18, the eight currencies most often traded are the U.S. dollar (USD), Canadian dollar (CAD), euro (EUR), British pound (GBP), Swiss franc (CHF), New Zealand dollar (NZD), Australian dollar (AUD) and the Japanese yen (JPY). Although nobody would say that currency trading is easy, having far fewer trading options makes trade and portfolio management an easier task.
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!
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.

Admiral Markets Cyprus Ltd is registered in Cyprus – with company registration number 310328 at the Department of the Registrar of Companies and Official Receiver. Admiral Markets Cyprus Ltd authorised and regulated by the Cyprus Securities and Exchange Commission (CySEC), license number 201/13. The registered office for Admiral Markets Cyprus Ltd is: Spyrou Kyprianou 20, Chapo Central, 1st floor, Flat/Office 102, 1075, Nicosia, Cyprus


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.
In a margin account, the broker uses the $1,000 as a security deposit of sorts. If the investor's position worsens and his or her losses approach $1,000, the broker may initiate a margin call. When this occurs, the broker will usually instruct the investor to either deposit more money into the account or to close out the position to limit the risk to both parties.

Once an investor has started buying a stock on margin, the NYSE and FINRA require that a minimum amount of equity be maintained in the investor's margin account. These rules require investors to have at least 25% of the total market value of the securities they own in their margin account. This is called the maintenance margin. For market participants identified as pattern day traders, the maintenance margin requirement is a minimum of $25,000 (or 25% of the total market value of the securities, whichever is higher).
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.
×