LTOptions at a 33% discount during the Year End Holidays.
Tell me More

Monday, September 2, 2013

Turtle Trading System Automated. Method 2. (Forex Expert Advisor)

The legendary story of the Turtle Trades. Pretty intriguing isn't it? If you don't know about the Turtles and the story behind them, you can read here. My question always was, are the mechanical systems that they used still valid today? Are those systems still profitable? Are they applicable to Forex?

The Turtles traded several markets with 2 systems (System 1 and System 2). These systems didn't have any discretionary rule. Everything, from entries to exits, position sizing to money management, everything was clearly established to the very last detail. This document is the most comprehensive guide I have seen about the Turtle Trading Methods and I used all that information to automate System 2 in Metatrader. I automated System 2 first as it is simpler to program. My plan is to eventually do the same thing with System 1. Let's see if System 2 still works and if it is applicable to the Forex markets, in particular the EUR/USD pair.

The Rules
The system uses the daily timeframe and the rules are surprisingly simple. These are the rules for entering Long positions:
  • Buy when the current price is higher that any other high in the previous 55 days.
  • Put a Stop loss 2 Average True Ranges away from the entry (by using the ATR the system is flexible to current volatility. When the volatility is higher the Stop Loss will be set farther away and viceversa). The ATR used is evaluated over 20 days. So ATR(20).
  • Don't put any Target Profit on the orders. The goal is to let them run as far as possible in your favor.
  • Dynamically calculate position size so that if Stop Loss is hit you only lose 2% of the account. So, if you have a farther away Stop Loss, the positions size will be smaller, and viceversa.
  • Once inside the trade, if price moves in your favor by half the ATR, then add another long trade. And you do this until you have a maximum of 4 open trades in the same direction.
  • Every time a trade is entered, move up the Stop Loss of the existing trades, to the same price of the Stop Loss calculated for the new trade just entered.
  • Exit all the trades when the current price is the lowest price of the last 20 days (This may happen at a profit or a loss). Or exit when Stop Loss is hit.
For short positions the rules are the same but the other way around. You enter when the price is the lowest it has ever been in the last 55 bars and you exit when price is the highest price seen in the last 20 bars. This trading system has all the ingredients recommended by professional Forex traders: it cuts losses short, it lets winners run, it adds to winning positions.

Notice in the above picture how all 4 trades were profitable. However, notice how much of the profit was lost. With some optimization that I will explain in this post, the system can be much more profitable and let fewer portions of the profits slip away.

Pretty simple system but incredibly powerful. Also mentally hard to trade. Buying at a 55 day high is tough as that's the point where most traders think the move is done and start fearing a reversal. Same for shorts when you initiate a short position at the 55 day low. Entries are definitely hard to digest psychologically speaking. Exits are even harder. Waiting for the price to reach the lowest point of the last 20 days is painful while you inevitably watch part of your profits evaporate. But this is the best way to ride a trend as far as possible without arbitrary target profits that cut your winners short. This mechanism allows the strategy to ride monster trends once in a while that skyrocket profits.

I ran a mathematical expectancy analysis of the entries and verified that both Short and Long entry signals have a significant positive edge. This is good as a first step to trust the system. Then I coded the rest of the strategy and started to have fun with back tests.

Here's the result of the back test for the EURUSD currency pair from January 1, 2000 to November 14, 2012 (Fully trust worthy paid data from AlpariUK obtained through direct request to the broker). The spread used was 2 pips which is worse than what most brokers offer today.

(Click on image to enlarge)
One note here about the draw down. The 31.69% relative drawdown is calculated by Metatrader taking into account the biggest drop peak to valley in the equity curve considering floating profits and losses (of non closed trades) in the calculation. That is why the draw down is reported as a higher number than what it actually is. When considering only closed trades instead of temporary unrealized profits and losses, the Maximum Relative draw-down is 21.34% in almost 13 years.

Some more statistics:
Average Annual Return: 13.19%
Ulcer index: 12.06
Sharpe ratio (Compared to S&P500): 0.70
Martin ratio (Compared to S&P500): 0.89

This performance easily beats the returns of audited professional Forex traders reported on the Barclay Currency Traders Index. A high Ulcer Index of 12.06 reveals what we already know: The system is hard to trade. But who said profitable trading was easy? Also, the Turtle trader must be patient as he will not be trading every single day. The system can stay inactive for weeks waiting for the expected Donchian Channel Breakouts in either direction.

Some further optimizations
The Turtles applied this method using the 55 & 20 days combination to all the markets they traded. The system was not optimized for specific instruments. It is more of a "universal", a "fit all" approach, which is great because it exploits a more universal market inefficiency that seems to work across multiple instruments. It is a more fundamental occurrence and therefore you would assume it is a market inefficiency that is harder to disappear. But that doesn't mean the parameter selection can not be improved for specific markets and that's what I wanted to do for the EURUSD pair.

First I ran an Optimization test to make sure that the Parameters space provides good results even though parameters were drastically changed.
A coarse optimization was run only for two parameters (days for entry signal and days for exit signal). The great news is that the Parameters space is very solid and profitable across the board (All green). Meaning the 55, 20 set is not the only profitable one. Any combination of days for the entry between 40 and 80, along with any selection of days to exit between 4 and 20 consistently yields positive results. Which is great because it means that even if you are not playing with the most optimal parameters, you still have a high chance of seeing equity growth over the long run.

Once I was confident the Parameters space was that wide and good, I ran a Rank Analysis for the parameters selection. The idea is to obtain the parameters that yields the most stable draw down values and the most stable yearly returns. It looks like the 70 day entry with an 8 day reversal exit is the most stable parameter set, which offers the most stable draw-down values yer after year along with the most stable returns. Here's the back test using the 70 & 8 combination.

(Click on image to enlarge)
Now the maximum drawdown according to MT4 (which as I said, considers floating unrealized profits and losses) is 25.20%. But in reality it is only 15.66% considering the equity curve based on closed trades.

Average Annual Return: 18.33%
Maximum Drow-Down: 15.67% in 13 years
Ulcer index: 8.98
Sharpe ratio (Compared to S&P500): 0.74
Martin ratio (Compared to S&P500): 1.77

This is, in my opinion, a far superior version. The essence of the system hasn't been changed. We simply came up with parameters that consistently deliver superior results and that are likely to be profitable going forward regardless of market mutations.

If you think this trading system can be a good addition to your trading arsenal, consider the purchase of the Expert Advisor for only $67. Much less than what is typically charged for unprofitable, over curve-fitted unprofessional EAs out there that can't survive a month of live trading. As part of the purchase you get an Installation and Configuration guide, plus my personal support setting it all up if needed.

Turtles Trading System 2
Expert Advisor and Pdf Guide $80

Buy Now

Beyond any doubt, the Turtles Trading System 2 has a positive edge. It is profitable and applicable to the Forex markets (you can test it on other currency pairs as well). Although profitable, the method is psychologically hard to trade. The hardest part is letting profits run indefinitely without a predefined profit target. That factor explains why some Turtles were not profitable in spite of the fact that they were all taught the same system. Letting your profits run, as originally sated is what ultimately separates the great Forex traders from the amateur ones.

Thanks for your interest. I hope you enjoyed this article and I also hope that if you make the Turtle Trading System EA part of your trading arsenal, you can benefit from it. For any inquiries and support of any kind feel free to contact me at

As a proof that Long term Profitable automated trading is possible, the Turtles Trading system continues to deliver good results after this document was written. +35.6% in 2014, +22.8% in 2015 Read the articles below for more details:

Results - 2014
Results - 2015


  1. Feels great learned lot but i wanna ask that is automated trading is good than manual trading ? though i'm trading with automated trading but still i wanna know should i prefer manual trading or look for good auto trading. can anyone answer me..

  2. I think both have potential

  3. Thanks for your suggestion.. but as I have heard that manual trading is much better than auto. Is that true? and why?

  4. Both are challenging, and both can be profitable. Take a look

  5. Hi

    I have downloaded and tested your Turtle EA although I get different results compared to your test on the EUR/USD over exactly the same time period. Do you know why this is?


  6. Hi Tony,

    There might be different reasons.
    When back testing with Metatrader you need to look at the currency spread you are using. For this test I used 20, that is 2.0 pips between Bid and Ask in the simulation.

    The other aspect is the data set you are using. In my case the data was obtained from Alpari UK via a direct request to the broker, and not a download from MetaTrader historical center.

    Thanks for dropping by.

  7. Hello !

    The difference between method 1 and 2 isn't only frame ?
    Method 2 : 55/20 with ATR 20
    Method 1 : 20/10 with ATR 10

    Why do you say you would need to recode method 1 ? Don't you just have to change these parameters ?

    Also, do you still plan to code it ?


    1. Hi Geoffrey,

      There is another vital difference which complicates it. And it is that, if you have a winning trade then you don't take the next signal. Plus a couple other minor details.
      I still plan to code it but I have so much going on between family, work plus other projects that I dont know when I'lll get my hands on it.

    2. Hi Henrik,

      Could you please explain to me how "if you have a winning trade then you don't take the next signal" would play out? If that's the case, what is the process of opening a new trade if the last one resulted positive?


    3. Hey Victor,
      Note that the rule you mention is related to the Method 1, which is not the one published here. Method 1 is much harder to program and I have been working on it for months in the middle of my time constraints. But, to your question, if the last trade was positive (gains) the next one is not taken. You only trade after a loser. This guide is very comprehensive with exquisite details. Al your answers are here

    4. Yes, I know it is related to the Method 1, and also, I have already read the TurtleRules PDF ;)... The thing that I don't understand is: Why would a following trade not being taken? So according to the original system, if you win 1 trade, how much time would you need to wait to take another one, a complete year? Or what would be the new "trigger"?... As I suppose it's not the case to completely stop trading indefinitely after just one winning closed position. It would be totally absurd, don't you think?

      Thank you very much for your kind help and support! :)

    5. You take a trade, if you lose, you will trade the next one, if you lose you will take the next one. If you ever win, then on the next entry signal you skip it but simulate what would have happened with that trade. If this skipped trade would have resulted in a losing trade then you will take the next signal. In other words you will only trade a signal when the previous one was a loser (whether you traded it or skipped it is irrelevant) if the precious trade was a loser (traded or skipped) then you will take the next signal. The rule is in place because long term trend followers tend to have many losses. AND particularly with shorter term break outs (20 days) the fake outs happen even more frequently. That's why the longer term break out (55 days) is always taken as it leads to fewer fake outs). How long without trading? Not sure, we would have to run the numbers and IT will vary depending on instrument but for sure much less than a year. 20 day break outs happen frequently perhaps 10 to 20 times per year on the EUR.

    6. Thank you very much again Henry... Everything is clearer now! :D

  8. Hello Lazy Trader, good day.

    I'm interested in this EA. I almost finish coding it, but I'm having trouble moving the Stop Loss. Is the file format in .mq4 or .ex4?

    Best regards and thank you,

    1. Hi Gerardo,

      The package is sold with the ex4 file only as most ppl wouldn't know what to do with an mq4 anyways. But I can send you the mq4 on a separate email.


  9. Hello Henrik,

    I have a few more questions before buying this EA:

    1. With which currency pairs does this EA works best? I would like to use it with other pairs besides EUR/USD.
    2. I see that you posted that on 2014 the return was +42%. Was this return with only one currency pair?
    3. Have you had any profit with it this year?

    Best regards and thank you,

  10. Hi Henrik,

    I'd like to ask similar questions to Gerardo above.

    1) Will it work with other currency pairs?
    2) What about commodities?
    3) What about indices?

    If not, could you please explain why?



    1. 1) Will it work with other currency pairs?
      Depends on how well the currency pairs trend. For example I haven't obtained good results on JPY pairs as they tend to move more erratically.

      2) What about commodities?
      It does work on commodities. However, take into account that this implementation in particular is for the Metatrader platform, where most of the time you only find currency pairs

      3) What about indices?
      Should work on indexes too, due to the visible trends that are formed. However, I must say I haven't tested them myself.


  11. do u hv the code for tradestation or IB?

    1. Hey Bryan,

      No. Not as of today. I'm working on adding that and also Ninja Trader but nothing so far.
      Thanks for leaving this comment.