July 2015 Newsletter – Setting Up NeuroShell Trader For Forex Trading

July 21, 2015

ForexSetting up NeuroShell Trader for Forex Trading

by Denham Ward

Forex trading is like living in the wild west of the USA in the 19th century. There are not many standards as we know them in stocks, options, and futures. There is no central exchange, and trades take place largely with banks, who set their own spreads and price data. If you choose to trade forex, you should really make sure you understand what is going on, because forex education is beyond the scope of our technical support. The best place to learn may be from the broker you are planning to use, because every broker seems to have a different deal. They usually hype that there is no commission, but the spreads they use to take profits from you are not usually cheap. Don’t be fooled when brokers say there is no commission.

FXCM Cliff Note Version:

If you are using the FXCM integrated trading interface to trade EUR/USD, the following is how NeuroShell Trader can be setup to accurately incorporate trading costs into your backtest statistics:

Size Tab

  • “Buy units in round lots of 1000 units”

Costs Tab

  • “Per Unit 0.5 pips” under “Entry Commissions”
  • “Per Units $0.00004 under “Entry Commissions”
  • “Per Units $0.00004 under “Exit Commissions”
  • “Margin % per unit” = 2%
  • No Exchange Rate (since EUR/USD is already quoted in U.S. dollars)

Note that the above trading costs assume a fixed spread. However since spreads widen and narrow based upon market conditions, the most accurate way of incorporating FXCM trading costs and dynamic spreads is described later in this article.

Forex Price Quotes:

Because there is no central exchange and the trades take place largely with banks, that also means there is no standard pricing across data feeds. Each different data feed can have different pricing depending upon the banks that it surveys for its price data. Some survey one bank, while others survey multiple banks. While the data coming from your brokerage (FXCM, Interactive Brokers, etc.) may best represent the prices at which your trades will actually fill, a non-brokerage data feed that surveys multiple banks (for instance eSignal) may in some instances actually provide quicker price reactions that lead your brokerages price streams.
A result of Forex trading not being centralized is that there is no list of prices and volumes for each executed trade that has occurred as you expect to find with stocks and futures trading that have centralized exchanges. The historical price streams that are provided by a data feed are actually just the current bid/ask from the banks. As is the general standard, most data feeds show the bid price. So when you see an OHLC bar, it is actually the Bid Open, Bid High, Bid Low and Bid Close.

Additionally, without a record of executed trades, there is no volume in Forex. If a data feed does provide a volume value, it is generally the number of trades that have occurred and not the actual units or lots of currency traded.

Trading Size:

In the old days, forex brokers offered a contract/lot size of only 100,000 units of currency. However, with decreasing costs and increase in competition for individual traders, forex brokers have begun offering lot sizes in smaller increments. Depending upon your forex broker, you can now trade micro lots of 1,000 units of currency (FXCM), mini lots of 10,000 units of currency or a standard lot of 100,000 units of currency.

To maintain the broadest compatibility with different brokerage trading interfaces, many of which take unit sizes for trades and also in part to maintain compatibility with non-lot size markets like equities, NeuroShell Trader defaults to sizing in units and NOT lots. As you will read about below, this is an important distinction and can have a bearing on how costs and other NeuroShell Trader parameters are setup.

When trading forex, you will generally want NeuroShell trader to keep trade sizes in units to maintain compatibility with the Interactive Brokers and FXCM integrated trading interfaces. However if you manually trade and want to see NST orders in lot sizes on the charts or you are using an integrated trading interface that requires orders be placed in lots (i.e. NOT the Interactive Brokers or FXCM interfaces included with NST), then you may want NeuroShell trader to process trade sizes as lots. Depending upon your use of NST, the following is how each would be setup:

  • UNITS – (Use for FXCM and Interactive Brokers integrated trading) To setup trading in units, but also ensure you are always trading a fixed lot size of units as required by most brokers, you will need to select and setup the “Buy units in round lots of ______ units” option under the NeuroShell Trader “Sizing” tab. So for instance you would setup trading in rounds lots of 1000 for micro lots (i.e. FXCM), 10000 for mini lots and 100000 for standard lots.
  • LOTS – To setup NeuroShell Trader to display and send orders in lots, you will need to select and setup the “Point Value” option under the “Costs” tab to correspond to your brokerage’s lot size for each forex symbol. So for instance you would setup a point size of 1000 for micro lots, 10000 for mini lots and 100000 for standard lots. Point value essentially multiplies all profits, pricing, etc. by the point size value, so now all trade sizes in NeuroShell Trader will now represent the desired lot size and not units. Also with this point size setting any NeuroShell Trader label that says units, will now really mean lots. However as a reminder, the Interactive Brokers and FXCM integrated trading interfaces included with NeuroShell Trader will NOT work properly with this setting (you’ll end up trading 1000, 10000 or even 100000 times more currency than planned).
Set the number of units on the Sizing tab.  If required by your broker, click on the check box to buy units in round lots.

Trading Spread:

In general, Forex Brokerages have always made their money by charging a spread between the bid and ask price quotes. This spread not only varies based upon market conditions (larger spreads during volatile markets), but also varies between brokerages based upon how much profit each brokerage wants to extract from each trade a client makes.
In NeuroShell Trader, the spread is entered under the costs tab as the “Per Unit ___ pips” option. Since the spread is the difference between the buy/sell quote, it only needs to be entered into one side of the Trade. So for instance to take into account a 0.5 spread, you would select and enter “Per Unit 0.5 pips” under the “Entry Commissions”.

[*** Undocumented/Insiders Tip ***]  While some data providers include a bid/ask value for Second, Range or Volume bars, FXCM is the only data provider that we know of that provides bid/ask values for minute, hourly and daily bars. To see if your data stream has Bid/Ask values available, simply choose the Insert Existing Data/Calculations menu item, insert the bid and ask values if they are available and verify that they contain a valid bid or ask price stream (i.e. not all zeros or missing data). If your data contains bid/ask data, you can actually setup NeuroShell Trader to trade at the last bid and ask value, which essentially allows you to trade the actual spread at the time of each trade instead of the fixed spread as described above. To setup NeuroShell Trader to trade at the bid/ask, you must edit the nstparam.ini file while NeuroShell Trader is not running and change the “BidAskBacktestFill=False” line to “BidAskBacktestFill=True”, save the nstparam.ini file and then restart NeuroShell Trader. When you rebacktest your trading strategies, you will now notice that the fill X’s on the chart are no longer always on the next bars open, but instead will be at the bid or ask value of the last bar depending upon whether you are selling or buying. This is especially useful for accurately backtesting with the actual spread across large amounts of historical data that can be obtained with FXCM’s minute, hour or daily bars. Please note that this technique is an undocumented and unsupported feature of NeuroShell Trader, so although it may work great for you if you try it, we cannot be held responsible if it doesn’t work as desired in all scenarios.

 

Trading Commission:

Recently, FXCM introduced what it is calling a spread plus commission forex pricing. They are essentially now charging a much smaller “non-markup” spread in addition to a small commission fee to open and close each trade. At the time of this writing they were quoting the trading costs for EUR/USD being an average of 0.3 spread plus a commission of $0.04 per 1000 units.

In order to take into account FXCM’s pricing model, not only do you need to enter in the spread as described above (or use the undocumented tip above), but you now also need to enter the commission. Since the commission varies depending upon the number of units/lots being bought, the commission would be entered into the “Per Units $____” section of BOTH the entry commission AND exit commission sections of the “Costs” tab. However, the value you enter would depend upon the NST trading size you setup in the Trading Size section above:

  • UNITS (Interactive Brokers and FXCM integrated trading) – The commission you enter needs to be per unit. So for instance to setup a commission of $0.04 per 1000 units, you would need to convert the commission value to $ per unit (i.e. 0.04 divided by 1000) and enter a value of “0.00004” as the “Per Units $____” cost for both entry and exit commission.
  • LOTS – The commission would need to be entered as $ per lot (and not per unit) value. So for instance to setup a commission of $0.04 per lot, you would enter a value of “0.04” as the “Per Units $____” cost for both entry and exit commission (since by using point value you’ve now made all “units” in NeuroShell Trader actually mean “lots).
Set the commission and pip spread on the Cost tab.

Margin

Margin is considered a good faith deposit with your brokerage that allows you to trade larger amounts of forex currency with a given amount of money. As an example, FXCM offers a maximum of approximately 50:1 (i.e. 2%) margin. Although this means that you can buy 50 times more currency with margin and gain profits 50 times faster, it also means that a losing strategy can lose money 50 times faster as well. Be careful when using margin. It is generally not in your best interest to use the maximum margin available to you and instead it is wise to use 10:1, 5:1 or even 2:1 margin in the event that your trading system does not behave as expected or hoped.
Margin is entered in NeuroShell Trader using the “Margin % per unit” option under the Costs tab. So for instance a 50:1 margin would be entered as 2%, while a 4:1 margin would be entered as 25% (simply convert to percentage by using the formula Margin% = 100 divided by X when margin is X:1).

Alternatively if Margin is quoted in a dollars per lot, then you could use the “Margin $ per unit” option under the costs tab. However, the value you enter would depend upon the NST trading size you setup in the Trading Size section above:

  • UNITS (Interactive Brokers and FXCM integrated trading) – The margin you enter needs to be $ per unit. So for instance if your brokerage lot size is 1000 and they specify a margin of $26/lot for lot sizes of 1000, then you would need to enter a value of .026 as the “Margin $ per unit” (i.e. $26 divided by units per lot)
  • LOTS – The margin would need to be entered as a $ per lot (and not $ per unit). So if your brokerage quotes the margin as $26/lot, then you would enter in 26 as the “Margin $ per unit” value (since by using point value you’ve now made all “units” in NeuroShell Trader actually mean “lots).

Exchange Rates:

To understand setting of Exchange Rates in NeuroShell Trader, it is important to first understand forex currency pairs. Forex currency pairs are generally in the format of xxx/yyy where xxx is the base currency and yyy is the quote currency.  We like to think of xxx as the currency you are buying and selling, and yyy as the currency you are paying in.
For example, consider EUR/USD, which means we are buying and selling Euros, and paying in dollars. A quote of EUR/USD 1.003 means it will cost you $1.003 to purchase 1 Euro. However most brokerages require a minimum lot size purchase, so if you were to buy EUR/USD from FXCM , which has 1000 micro lot size minimum, it would actually cost you a minimum of $1003 to buy one lot of EUR/USD without using margin.

When learning Forex currency pair notation, don’t get confused by terms such as the Euro rate, which usually refers to EUR/USD and the Yen rate which usually refers to USD/JPY. Also note that some data providers do not declare a home currency in their major pairs. For example, eSignal’s symbol for EUR/USD is simply EUR A0-FX, while their symbol for USD/JPY is JPY A0-FX.
If you are trading a currency where the quote currency is not your home currency, then you should specify an exchange rate in NeuroShell Trader if you want the profits to be displayed in your home currency.  As a general rule, if your home currency is HOM, and you are trading xxx/yyy, then depending upon the data available from your data provider, you would choose an exchange rate of either yyy/HOM or HOM/yyy. In order for NeuroShell Trader to know which format you have chosen and thus whether to divide or multiply during conversion calculations, you will also need to specify whether or not your home currency is the quote currency in the chosen exchange rate (i.e. xxx/HOM).

The following examples will better illustrate how to setup exchange rates in NeuroShell Trader:

Example 1: Suppose your home currency is USD, and you are trading EUR/USD. Since EUR/USD is already quoted in your home currency, you do not need to specify any exchange rate.

Example 2: Suppose your home currency is USD and you are trading USD/JPY. Since your home currency is the base currency, you would simply select the same USD/JPY symbol as the exchange rate. You would also specify that your home currency is not the quote currency in USD/JPY.

Example 3: Suppose your home currency is USD, and you are trading AUD/GBP. Since most data providers only offer GBP/USD, you would choose the symbol GBP/USD as the exchange rate. You would also specify that your home currency is the quote currency in GBP/USD.

Example 4: Suppose your home currency is USD, and you are trading AUD/CAD. Since most data providers only offer USD/CAD, you would choose the symbol USD/CAD as the exchange rate and specify that your home currency is not the quote currency in USD/CAD.

Example 5. Suppose your home currency is CHF and you are trading GBP/NZD. Your exchange rate would be NZD/CHF. Simply choose the symbol for NZD/CHF as the exchange rate and specify that your home currency is the quote currency in NZD/CHF.

NeuroShell Trader displays all profits, drawdowns, etc. with a $ sign. However it should be noted that if you do not specify any exchange rates, the currency displayed is actually the quote currency (i.e. yyy) even though NeuroShell Trader is displaying a $ sign. If you do specify an exchange rate and your home currency is not the U.S. Dollar, NeuroShell Trader will still display a dollar sign next to the profit statistics even though the actual numeric profit values will have been converted into your home currency. Only if you setup all the appropriate exchange rates with a home currency of U.S. Dollar will the profit statistics be in U.S. dollars and match the $ sign.

Carry Trade Interest:

NeuroShell does not include carry trade interest in its calculations.

Note that most brokers will calculate positive or negative interest based on the position in trades held overnight.  For example, if you are long on EUR/USD and the interest rate for the EUR remains higher than the USD, then positive interest will be added to your profit. The converse is true if you are short, that is, negative interest will be deducted from your profit. This interest is called rollover or carry trade interest.  For FXCM, 5 p.m. in New York is considered the beginning and end of the forex trading day. Any positions that are open at 5 p.m. are considered to be held overnight, and are subject to rollover/carry trade interest. Calculation of this interest is not currently included in NeuroShell Trader and will not be incorporated in any backtest results.

Was this article helpful?

Related Articles