iExpertAdvisor iBulletin 44: Mechanically Trading Fibonacci Levels

                        information and ideas about MetaTrader ExpertAdvisors


This issue of the iBulletin focuses on Fibonacci levels and tries to determine if this is a trading technique that can be

automated.  Specifically the following questions are addressed:

  • What Is The Strategy?
  • Where Is The Opportunity?
  • Can The Strategy Be Automated?
  • What Are The Obstacles?

At the end of this issue there is a link to a MetaTrader Expert Advisor that can help you get started on building your own Fibonacci Expert Advisor. 


Special Note: This issue will be used as a discussion point for a Live Expert Q&A discussion on FXStreet, on November 30, 2005 at 15:00 GMT, 10:00 EST.  This is a great opportunity to have your questions answered about this article as well as any other questions you may have about mechanical trading systems.

Visit FXStreet to sign up for the Live Session (http://www.fxstreet.com/)

To view the transcript from our last Live Session, click here.


The only book of its kind is now available!

Automatic Alpha: How to Build a Winning FOREX Trading System

Click here to learn more


Mechanically Trading Fibonacci Levels

What Is The Strategy?

Leonardo Fibonacci introduced the Fibonacci series in about 1200 A.D.  The Fibonacci series is a numerical sequence built by adding the previous two numbers (of the series) together.  For example:

1+2=3

2+3=5

3+5=8

5+8=13

8+13=21  ....

If you run the series out far enough, any number is about 1.618 times the preceding number – and about 0.618 of the next number.  The series is said to converge to these ratios.

The 1.618 ratio is also referred to as the “golden mean” or “golden ratio”.  The Fibonacci series, including the “golden ratio”, can be seen throughout nature – from the rate at which rabbits reproduce to the way that branches grow from a tree.

It is has been said that “good” math is discovered, while “bad” math is invented.  Does the appearance of the Fibonacci series throughout nature prove the series is “good” math?  Does the series accurately describe our world, including FOREX price behavior, using the universal language of mathematics?

The answer to these questions:  Per this conversation, we don’t really care!

It is not important if the Fibonacci series is “good” or “bad” math.  What is important is that people think the series is a good indicator of natural phenomenon.

And some of these people place trades on the foreign currency exchange.

So whether the Fibonacci series can be used as an accurate indicator of FOREX price action, or it is simply a self-fulfilled prophecy, is not important.  What’s important is that there may be a trading opportunity here.

Typically, FOREX traders take the golden ratio (0.618) and derived two other important numbers:

          0.382 = 1 – 1.618

0.500 = (0.382 + 0.618)/2

The technical analyst then finds the high and low price after a sustained move in one direction.  The analyst defines the Fibonacci levels as:  

o        61.8% of the high price

o        50.0% of the high price

o        38.2% of the high price  

Where Is The Opportunity?

The Fibonacci  price levels are referred to as retracement levels.  They now represent levels of support or resistant, and are played by the technical analyst in the same fashion - depending on whether the price bounces off of or pierces through the level.

Most traders that use Fibonacci look for confluence of Fibonacci retracement levels.  That is, they look for the retracement price levels of several time frames to align.  The appearance of confluence, when combined with volume data, often generates a trade signal.  

Can The Strategy Be Automated?

Yes, this strategy can be automated.  But as always, the first step toward implementing the system is to detail each step.  At iExpertAdvisor, we start this process by describing the System Concept.  

As quoted from Automatic Alpha, “The first step of the process to move toward implementation is to define the System Concept.  The System Concept is used to summarize the general description of the system. The System Concept should briefly and concisely describe how the creator envisions the behavior of the system …”  

The System Concept describes the Market Setup, the Trade Setup, the Trade Trigger, and finally the opening and closing of the trade.  

We can briefly describe each of these steps for a Fibonacci trading system as follows:  

  • Market Setup :  The currency pair has made a new high (or low).
  • Trade Setup: After the new high, the currency pair has begun to retrace towards a Fibonacci retracement level.  (This level may or may not align with retracement levels of other time frames.)
  • Trade Trigger :  The currency pair has reached the retracement level and has confirmed that the price has either (i) pierced the level, or (ii) bounced off the level.
  • Trade Open and Close:   The trade is opened using a stop-loss just outside the current retracement level, and a take-profit near the next retracement level.

What Are The Obstacles?

The obstacles of building a mechanical Fibonacci trading system are similar to those present for building most other trading systems. 

In this case, the System Concept  contains a few phrases that will require a significant test effort to find the “right” parameters.  At a minimum, the following questions need to be addressed:  

  • How is the “lookback” period determined?
  • What if there are two or more significant highs or lows in the “lookback” period?
  • Exactly what constitutes a “bounce” or a “pierce” of a retracement level?

A good way to address these concerns is to construct the system using variables that can be easily modified for any of the parameters that are questionable.

This system can be implemented using MetaTrader 3.0.  The language is relatively easy to learn and the platform is free. 

The FibExpert MQL code forms the start of a workable Fibonacci trading system.  Although the system is not yet profitable, enhancements can be made to move the system towards profitability, including:  

  • Test the Takeprofit value before entering the trade and make sure the risk is worth the reward;
  • Convert the code into a UserFunction; use the UserFunction on several time periods to test for confluence;
  • Test the volume when the price pierces or bounces from a retracement level;
  • Use another criteria to test the Market Setup.  Only enter trades when this other criteria is valid (perhaps a moving average or a candlestick pattern).

The MetaTrader 3.0 MQL source code of the FibExpert can be view and /or downloaded at www.iExpertAdvisor.com/freeMqlCode.  (Sorry for the inconvenience, but the code seemed to large to include in this email).


iExpertAdvisor is not a registered investment advisor or broker/dealer. Readers are advised that the material contained herein should be used solely for informational purposes. iExpertAdvisor does not purport to tell or suggest which investment securities members or readers should buy or sell for themselves. Site users should always conduct their own research and due diligence and obtain professional advice before making any investment decision. iExpertAdvisor will not be liable for any loss or damage caused by a reader's reliance on information obtained in any of our newsletters, special reports, email correspondence, or on our web site. Our readers are solely responsible for their own investment decisions.