Stat Arb Frequently Asked Questions (FAQs)

Q. How much can I make using Statistical Arbitrage EAs for MT4?

A. "How fast can you run?".......

There are a lot of people looking for fire and forget trading systems which they can drop on a chart, sit back and watch their $50 initial equity grow into $10 Million in the first year. Yes.... people really do believe tools like this exist and unfortunately there's no shortage of vendors happy to position their 'products' as fulfilling these fantasies! FX AlgoTrader are not one of these vendors.

The Stat Arb EA tools on this site are 'tools' NOT ROBOTS. They provide a rich arbitrage toolset which allows traders to automate their arb trading strategy on whatever timeframe they prefer. If you've never made a penny trading FX or other assets the chances of making money using arb tools, unfortunately, isn't high. They won't turn a losing trader into a winning trader but they will automate an arb strategy and provide solid risk control. How much you make will depend on how good you are as a trader.

Some people can run faster than others - if you've got good equipment it makes the job easier!

Q. Do you have backtest data for the arbitrage tools?

A. No. Unfortunately it's not possible to backtest EAs in MetaTrader 4 which trade multiple pairs.

Q. I noticed the new version of the system has the option to vary the position sizes for each leg of the arb. How do you determine what the correct position size for each leg should be?

A. With small accounts trading micro or mini lots it's not critical to make the legs balance. As the postion size increases this becomes more significant. For example any pairs which have USD as the quote currency eg majors such as EURUSD GBPUSD will have the same pip value. So a standard lot for EURUSD and GBPUSD will both have the same pip value of $10/pip. If the arb pairs are made up of a cross such as EURJPY the pip value (based on todays rates) would be $12.88/pip. So in order to make the legs balance we would need to reduce the position size of the EURJPY leg by 1/1.288=0.78.

So to create a balanced EURUSD/EURJPY arb you would need to use 1 lot for the EURUSD leg and 0.78 lots for the EURJPY leg.

If we reduce the position size to 0.1 lots ($10,000- a mini lot) the position sizes would need to be adjusted to 0.1 and 0.078. So unless you had a micro account you would have to run two mini lots for both legs.

Once you reduce the position size to micro lots the effect of balancing the arb becomes increasingly less significant.

*The easiest way to calculate the pip value is to use an online pip calculator

Q. Can I run the same arb on multiple timeframes? Eg EURUSD/GBPUSD on H1 and on M15?

A. NO. Don't do this! The arb products will only allow one unique instance of a particular arb to run. If you load the same arb setup on another chart it will confuse the internal variables used for trade management. The system will not behave logically as the two arbs will constantly overwrite the internal variables which could create erroneous trade behaviour. You can run any number of unique arbs on the MT4 platform using the tool - but they must all be unique.. eg one instance of EURUSD/GBPUSD or AUDUSD/NZDUSD etc etc

For advanced arb traders it is possible to create the same arb on a different timeframe by reversing the pair sequencing thus creating an 'inverse' arb. Eg EURUSD/GBPUSD on H1 and GBPUSD/EURUSD on M15. However, the trader would have to control the trade direction of both arb setups by using the trend locking options. This approach can be used to hedge and also reduce drawdown on longer term arbs but this strategy is complex due to the skill required in closing the inverse arb component when long term mean revsersion takes place.


Q. I am experiencing difficulty in getting V3 to work with the Global Lot size and Profit aggregation GVAR's (Global Variables). Here is what I am experiencing:

- From the journal tab I can see that the expert functions have been loaded successfully
- The experts tab shows that the experts have been initialized;
- I copied the GVAR directly as instructed and added the global variables. After doing so, Lot 1 and Lot 2 sizes appeared correctly on the on-chart display labels

However no trades are being opened!

I am looking for an entry of the type "Stationary Recoupling". 

What are the next steps in trouble shooting to find out why the EA is displaying the GVAR settings correctly on the chart but is not opening any orders? Was I supposed to use a new Functions file with the EA that has GVAR's? 

Looking forward to your reply.

A.The global parameters are not currently documented in the technical data sheets for V3.

Here's a description of what they are and do.

GVARs - Global Variables can be added manually into the Global Variable Table in MT4. If these variables are present they will overide local controls for any V2.5 EAs loaded on the platform. The current GVARs are:-

  • V2.5 Global Aggregated Target - allows trader to define a global aggregation target for all V2.5 EAs
  • V2.5 Global Lot 1 - defines primary pair lot size- eg EURUSD/GBPUSD - primary is EURUSD
  • V2.5 Global Lot 2 - defines secondary pair lot size- eg EURUSD/GBPUSD - secondary is GBPUSD
  • V2.5 Global Dynamic Slow Down - If this GVAR is present the system will dynamically calculate the Account Balance/Equity Ratio and create a new GVAR called 'V2.5 Equity Balance Ratio' containing this data
  • V2.5 Global Dynamic Stop Level (eg 0.8) - If Equity Balance Ratio falls below the Dynamic Stop level the system will not open any new trades.
  • V2.5 Global Dynamic Start Level (eg 0.9) - If Equity Balance Ration rises above the Dynamic Start level after the system has gone into "Slow Down" the system will start opening new positions again. Essentially business as usual.

So that's the GVAR area covered. To get the system operating correctly with the Global lot sizing enabled please check the following:-

  • Make sure the “Trade_Off” parameters are set for the timeframe the chart is running on – if you’re running on H1 make sure “Trade_Off_H1” is set to true
  • Check to see if you're getting any error messages in the experts tab of the terminal?
  • Have you tried running the system on a demo account and setting the STD multiple to something tiny to force the system into making a trade?
  • Is the spread status “Stationary Recoupling” on the pairs you’re trading?
  • Have you entered the parameters in the GVAR table correctly including case? They’re case sensitive but I would expect the system to produce an error 134 if the lot sizing was invalid.

Resolution - Customer had not set the "Trade_Off" parameters to true for the chart timeframe the system was running on!

Edit: The new release of the system has an integrated speech based alert which warns the trader if trading is disabled for the current chart timeframe. The 'Mode' label on the EA has also been updated to show the trader when the chart timeframe is not configured for active trading. The more curious among you may wonder why the system has been set up to only trade on certain timeframes. The simple answer is when a trader scrolls through different chart timeframes the spread and trigger levels will change accordingly as they are calculated based on each timeframe. More often than not the spread dynamics on a 5 minute chart will look completely different to the daily chart. So to cut a long story short without selective trading timeframes the system could easily close arbs erroneously if the traders changed the timeframe to one where the spread dynamics were completely different.

Q. I use the FX AlgoTrader correlation indicator and I would like a system to trade when two conditions are met. They are:

  • Daily correlation is more than 75
  • 5min correlation is less than -75

These condition are only met only a limited number of times per a day. Its very hard to wait all day in front of my PC. My question for you is.....which of your products can identify negative divergence/decoupling when daily correlation is still above 75 in a day? If so, what is the product? 

A. The V2 or V3 arbitrage engine will do this if you set them up accordingly. The correlation indicator was designed to be used for arb traders to aid in their pair selection.

So if you’re criteria is daily correlation >75 and 5 min correlation <-75 you could set up the arb product on your 5 minute chart (probably easier to use an hourly actually) and then set you’re STD multiple in the STD indicator so that your trade entry triggers were where you want them. You could do this visually and look to only trade the largest divergences each day.

Q. Does the system perform dynamic rebalancing?

A. At the moment there is no dynamic rebalancing. I have considered applying a scaling in system to allow the arb position to be increased if a spread continued to decouple – this is similar to an averaging down approach but the leverage obviously increases with the position size thus increasing the risk of stop out if the net position P/L reaches the maximum risk parameters set in the system. There are different schools of thought with regard to scaling in/averaging down. An alternative approach is to trade the opposite side of the arb on a lower timeframe which would create a dynamic hedge (to a degree)

Additional Comment: Some V3 customers have been experimenting with a alternative approach to dynamic rebalancing in cases where an open arb trade is decoupling from it's MA and creating a drawdown.Rather than rebalancing the lot sizing of the existing arb a new arb is set up which is the exact opposite of the current arb. For example if you had a 5 lot per leg EURUSD/GBPUSD arb which was triggered off an houly chart you would set up a GBPUSD/EURUSD arb running on a 15 minute chart and use the 'Lock_Long' or 'Lock_Short' parameters to force any new trades off the 15 minute chart to the exact opposite of the arb on the longer timeframe. This creates a perfect hedge and also allows reduces the drawdown as the shorter term arb will gradually eat into the drawdown created by the longer term decoupled arb. The principle is simply based on trading short term spread volatility seen on the shorter timeframe. This approach is not a guaranteed "Get of jail free card" but it can substantially de-risk positions where significant decoupling has taken place and in tandem reduce the magnitude of a potential loss.

Q. What's the difference between V2 and V3? Is V3 for medium to long term stat arb and V2 is simply for short-term stat arb?

A. V2 and V3 can be used on any period for short term or long term arbitrage. V3 is an enhanced version of V2 as it used logs for the spread analysis which has many advantages such as dynamic profit targetting and a wide range of trader defined external input parameters. V3 is the logical progression from V2 and contains many trader requested enhancements.

Q. Do I need to be able to estimate the parameters externally to the model (stat arb product) or does the product give them to me? How would I go about ascertaining the correlations required by the model? Would these be MT4 indicators? I just want to get a sense of the process involved in implementing the product. Just want a more specific idea of the process once I have the product to yielding results, then tweaking it to get best results, etc.

A. Both arb products have two components – an Expert Advisor and an indicator. The indicator provides the statistical analysis component. V2 Arb products calculate the spread of the pairs by dividing one by the other, they then calculate the moving average (of the spread) then plot trader defined standard deviations either side of this moving average.  The trade entry and exit thresholds are determined by the STD Multiple in the indicator (this can be adjusted by the trader)

The trade entry thresholds (STDs) are set by eyeballing the typical departure from the mean before the spread recouples. Obviously timeframe and system parameters are critically important. 5 minute charts can show what looks like a stationary spread but this can change very quickly and become highly directional. On the other hand a weekly chart provides much more insight into the medium/long term spread dynamics. Short term arbing is very difficult and it's easy to get caught when the pairs decouple. This is often seen towards the end of the Asian session and near the Frankfurt open. As liquidity flows into the market spread can become directional over short timeframes.

In terms of suitable arb pair selection you can use the FX AlgoTrader real time correlation indicator to select highly correlated arbitrage pairs on any timeframe.

The V3 system uses a log spread algorithm which allows the trader to see the reversion potential in dollar terms. This allows traders to see the power of the longer term arb compared to short term arb trading.

Q. What knowledge do I need to know in order to use your Stab Arb product?

A. You would need to know about mean reversion, correlation, coupling/decoupling/divergence etc. You would need to understand that there are is no guarantee mean reversion will take place when you expect it to. 

Q. I noticed that the default setting for the EA were 5 lots and 20% risk so I decided to reduce this to only .1 lot and like 5 % which may or may not be a good idea. When I reloaded the template the settings reverted back to the default setting .  
Is it possible to get the default settings to be a lot less , so if for some reason I reload the EA and forget about the settings it doesnt blow the account?

A. The template will always use the default settings so if you wanted to change them and keep your modifications just create a new template called “New Arb Settings ” or whetever you like. Then whenever you open the new template your modified settings will be used instead of the default settings.

Q. What's the minimum account size for arb trading forex?

A. You could run arbs on a $500 micro account providing you keep the position sizing to a minimum. It would not be wise to run arbs on a mini acocunt with only $500 dollars in equity. Both V2 and V3 arb products can be run on micro, mini and standard MT4 accounts. 

Q.Which timeframes have you found to be the best to trade arbs?


A.It depends on you and what you want to achieve – if you like short term overnight arbs based on the Asian thin liquidity market then 5 minutes might be good for you. Alternatively – if you like to make decent money without having to give the broker lots in spread costs - Daily charts would provide fewer trades with much larger profits for arbs which reverted to the mean. Generally the longer the timeframe the higher the profit.

A customer made 1200 USD off a 5000 USD account in a week. The guy is an x-commercial trader so bear that in mind! The tool is only as good as the trader in terms of picking the right pairs to trade and setting the right parameters.

So, in summary, arb traders will need to experiment with V2 and V3 to find the best system settings which match their trading style, risk and general expectations.

Q. In general is this EA quite profitable ?  What's the approximate  ROI ?

A. In terms of ROI it’s hard to say as it depends on which timeframe you trade. The potential profit is displayed by the EA under the "Reversion Potential" data label on the main chart. This figure is calculated on the difference between the current spread and it's moving average. If the reversion target is set to the opposite band the potential profit will be substantially increased but the trader would need a full swing from one band to the other ie +1 to -1 STD or whetever trigger parameters the trader has defined.

There is a customer testimonial from a new V3 customer who achieved 100% ROI on his first live trade using a 0.5 lot position.

In terms of timeframe you can make a lot more money on longer term charts in comparison to short term high frequency arb trades. We dont produce ROI or equity curve data any more as the results will vary hugely from trader to trader. The tools only reflect the ability of the trader to select the optimum assets, timeframes and parameters to trade. 

Q. The V3 seems to be closing some trades at a loss - how can this happen?

A. There are a number of reasons this could happen which are:-

  • The arb trades have breached the maximum risk parameters and the system has auto closed both positions
  • The system is being run in Aggregation mode and the daily profit target has already been achieved - once the profit target is hit the system will close out all open arbs - this could result in loss making arbs being closed automatically to protect your achieved aggregated target.
  • The trader has set the arb entry points too close to the spread cost channel and the potential profit is so small slippage is tipping the P/L of the arb negative during the arb close procedure. This can easily be solved by trading on longer timeframes and/or increasing the STD multiple to move the trade entry further away from the spread cost channel.

Q. Can you help me understand why the EA has not closed a trade even though reversion has already occured?

A. This could happen due to the following reasons:-

  • V3 can only close arb trades which are in profit. If your current arb is not in profit (possibly as it was opened on another timeframe) the system will not close the arb trades.
  • The Trade_Off_Timeframe paramters are not enabled for this chart timeframe
  • The arb trade has been hedged

Q. The system is DEACTIVATED! What's going on?

A. The 'Disable Gen Starb' global variable has been set by the system. Press F3 to view the GVAR table - there are a few reasons this can happen which are:-

1)'Close_All_Trades' parameter is set to true.

2) The aggregated daily profit target has been achieved and auto reset is disabled

3) The account equity is below the minimum limit

To resolve this problem go to the Global Variable Table in MT4 - press F3 - look for a global variable called "Disable Gen Starb" with a value of '1'. If you delete the variable the system will reactivate.