Discussion of article "An Analysis of Why Expert Advisors Fail"

 

New article An Analysis of Why Expert Advisors Fail has been published:

This article presents an analysis of currency data to better understand why expert advisors can have good performance in some regions of time and poor performance in other regions of time.

It is also of interest to examine the dependence of the average autocorrelation function on choice of SMA slow period for winning and losing trades.  This is shown for EURUSD M15 data in Figure 15. No correlation threshold is used as part of the trade opening strategy.  Without regard to the ACF value, the optimal slow period for the SMA Crossover strategy was determined to be 80.  Figure 15 shows that the largest separation of average ACF value, between winning and losing trades, occurs for SMA slow periods between 65 and 80.   Further analysis may lead to using the ACF information to determine the optimal slow period based on measured autocorrelation value at the time of trade opening. 


Fig_15_AvgACVvsSlowPeriod


Author: Richard Poster

 
How do you use the ACF as part of the trigger? 
 
The computed ACF is required to be above a fixed threshold.  Buy or Sell is determined by the SMA crossover direction but both types of triggers use a ACF threshold requirement.  This is implemented in the attached EA.
 

Hello Richard,

this is a wonderful article, thank you for sharing your insights!

One question arises on my end, namely how much does a running EA depend on internal variables?

Or in other words: Will the EA be able to recognize it's previous position and SL/TP management after a loss of internet connection / loss of power loss or after the computer has rebooted (e.g. forced windows update)?

I can only imagine that internal variables that track SL / TP / or even the number of days (in order to decide when to best exit a trade, etc. etc.) should somehow be persisted into a file or database.

Can you give any recommendations?

 
I think the safest  way to preserve critical is to write it to data  file, such as a csv file that can be read by Excel.  Then upon restarting, the file can be read and an abnormal termination may be detected perhaps through a time stamp.  I'd expect the file would be manual deleted periodically so as not to get too large.
 

Hi,

thank you for sharing your insights.

My questions:

1.a Is "your" correlation relevant only for moving averages / MA-crosses?

1.b If yes, are there functions for correlation of different indicators? I'm looking for correlation values to filter signals from japanese candlesticks (Nison, Bulkowski).

2. How did you calculate the values for winning and losing trades from figure 8-11 in detail?

3. You wrote: "Further analysis may lead to using the ACF information to determine the optimal slow period based on measured autocorrelation value at the time of trade opening."
How can I make this? Can you suggest a formula?

4. I only could make few tests, so do you know for which timeframes (M15,M5,M6,M2,M1) correlation can work?

Best regards

 

For #2:

2. I calculated the ACF at the time of trigger and stored it with the  "Order" in the comment field. At completion of the Tester run, I ran through all of the orders stored in the history file and used the profit field to determine won/loss category and also looked up the ACF value stored in the comment field as a string value.  Other data, needed for analysis, such as SMA Period, were also stored in the comment field.   
 
Thank you for the article.
I have a question;

Is the "ACF" filter approach with the "AutoCorr" indicator only valid for EURUSD and GBPUSD pairs?

For example, can we say that we may not show the same performance in pairs such as other major parities, USDJPY, USDCHF, AUDUSD etc.?

Best. 

 

Cenk

My experience with autocorrelation functions is that they work well with most currency pairs.

 
Good article
Reason: