This is part four in our series on creating a Euro futures scalping strategy. In the last article, “Testing A Euro Currency Futures Scalping Strategy, Part 3”, we combined a volatility filter along with a time based filter to remove unproductive trades. We found that trading during “quiet” hours of the day while avoiding both extreme low/high volatility days produced the best results. In this article I would like to nail down a stop value and then combine the rules into our strategy.
First, I’m going to revert back to our baseline system and re-test several different stops. I briefly looked at them during the first article but did not provide any details. As I’m testing the stop values I’m going to be testing how well they perform and how robust they are. How am I going to test their robustness? I’m going to vary their input parameters to see how it affects the stop method’s performance. A robust rule will perform well under different input values. From there we can move on to testing the system on our OOS data.
The first stop to test is a simple hard stop. I’m going to use TradeStation’s optimization feature to test hard stops from $0 to $5,000 in increments of $250. The results are below with the stop value in dollars on the x-axis and the net profit generated by the system on the y-axis.
We can see that adding stops to the baseline system really hurts the performance until you get around $3,000. This is a huge stop for a system that only scalps the market. The next stop to test is a break-even stop. In this case I’m testing the threshold value from $0 to $1,000 in increments of $100. The results are below with the threshold value in dollars on the x-axis and the net profit generated by the system on the y-axis.
Well, this type of stop may help our performance we must remember this stop only becomes active after we show positive equity on our trade. That means this stop can’t be used alone as a trade can move directly against us and this stop will not even be active. That’s not much help. The next stop to test is a dollar trailing stop. In this case I’m testing a stop value from $0 to $1,000 in increments of $100. The results are below with the dollar trailing stop on the x-axis and the net profit generated by the system on the y-axis.
Not much help here as well. I’m noticing a pattern here. Our testing of a stop value on the baseline system does not seem to be producing very helpful results. While it may seem a bit strange, I often will test the stop value first on the baseline in order to discover which stop performs better than others. This is all to help avoid over fitting our system to the historical data. But it’s not always possible to do. This is one of those cases. We will be required to test our stop values on the final system.
To test the stop on the final system we are going to use TradeStation’s optimization feature, as we did above, and we will be looking for two things. First, is there a stable region where our optimized parameter falls? Second, does the parameter appear robust? In short, we are looking to make sure that the parameter remains profitable over several values. This helps demonstrate robustness in our particular stop we are testing. We also want to be sure not to pick an outlier just because it makes our system performance look much better. We want to pick a mid-point value within a stable range.
Let’s first look again at the hard stop value.
This looks a little better. We made the stop loss a little smaller by bringing it down from $3,000 to $2,000. If you risk 2% per trade this means we would ideally have a $100,000 trading account to trade such a system. While this is a step in the right direction it does not seem very realistic.
Here is the dollar trailing graph.
With the dollar trailing we can see a stable range between $600 and $1,000. So this appears to be a robust stop and a midpoint value of $800 is better than our original $2,000 stop. But can we do any better?
Next is our break even stop.
With the break even stop at $300 might help our system but remember, the break even only activates when we have an open profit of $300. We still have drawdowns in the $700, $800 and $1,000 dollar range!
I went on to test several other stops including ATR trailing stops, ATR stops, ATR Square Root stops and even Noise Tolerant Money Management Stops. However, none really looked that promising.
Stops can really be tricky when trying to add them to a trading system. As for now, I’m hitting a wall with this one. I’ve looked at the losing trades for this system and the median maximum adverse excursion is $125. The average losing trade is $78. Looking at the largest losing trades we have only 8 that are greater than $1,000. I guess the point I’m making is this: the system has these characteristics….
This looks like the classic example where we make money for years on a system only to have a couple of $2,000 stops really take a bite out of our profits. This does not sit well with me. We should attempt to find a better stop and or entry point before we move on to testing our system on the OOS data.
One area which has not been explored is enhancing the entry technique. Currently when a setup occurs we just open a trade at the open of the next bar. Perhaps buying on a limit order at the low of the last bar or waiting for a deeper pullback after the setup would be more desirable. Maybe buying into strength after a setup occurs. These are all ideas worth testing.
I would love to hear any recommendations. Feel free to leave a comment below and let’s see if we can find a productive stop and/or entry technique!
Jeff is the founder of System Trader Success - a website and mission to empowering the retail trader with the proper knowledge and tools to become a profitable trader the world of quantitative/automated trading.