Bitcoin Swing Trading

I published a bitcoin swing trading strategy in 2015 over here (German only). Time to review the methodology of swing trading and have a look on the performance. Can a rational strategy get an edge in an irrational market? Have a look and be surprised!

Swing Point Trading Technique

Swing trading is a short term, trend following trading technique which focuses on the local highs and lows of the market. The basic idea is to buy if the market breaks above it’s previous local high. After you are in position you would place a stop on the previous low to exit the long position in case the market reverses. I learned about this trading technique in Larry Williams great book “long term secrets to short term trading” and described the technique in detail in my own book in 2009.

Swing trading technique

Swing trading technique

Swing trading is one of the most basic trend following trading techniques. It has got the advantage that it is mostly based on chart patterns which can be detected without a great lag. Thus it avoids a lot of the problems that indicator based strategies face due to the lagging of indicators. The only thing you have to do is to find a proper definition of  the swing point / local highs&lows.

Swing Points

Swing points are the local highs and lows of the market. My basic definition of a swing high is given by just 3 bars: if today’s high is below yesterday’s high and yesterdays high is above the high on the day before, then yesterday’s high is a swing high.

To define a swing low, you would check if yesterday’s low is surrounded by a higher low on the left and the right. Have a look at the chart below and you will see how useful this simple definition can be. I did not mark all swing points – can you find the missing ones?

Bitcoin Swing Points

Swing High: a high with a lower high on the left and right, Swing Low: a low with a higher low on the left and right.

Swing Point Code

Swing Point Code

If the daily swing points show too much noise, just switch to a higher time frame and apply the same technique on weekly or monthly charts. You could also stay on the daily chart and build second order swing points. Then a 2nd order swing high would be defined as a swing high which is surrounded by lower swing highs.

Swing Trading Strategy – Entry

Using this most primitive definition of a swing high and swing low will not give you a positive result if you would buy/sell every time a local extreme is broken. Remember, it is a trend following trading technique, and so some kind of trend definition is needed. Otherwise you are buying high and selling low in a sideway market – and this would kill you within a few trades.

One way to tackle this problem would be to observe the position of the swing points against each other.

Remember Dow theory: an uptrend is defined by rising highs and rising lows. So you could define the buy signal as follows: buy, if the market trades above the last swing high AND the last swing low is above the swing low before. (=higher high and higher low)

Another way to solve the problem would be to use some kind of trend filter. For the strategy shown in 2015 and over here I use two moving averages.

Therefore I calculate 2 moving averages which will later be used for detecting the trend. In 2015 I used a 54 and a 21 day average:

The trend detection and the entry signal (long) is quite straight forward and consists of three conditions:

  1.  the high of the day is above the slow moving average
  2. the fast average is above the slow average
  3. the short average is higher than it has been 3 bars ago (=it is rising)

If all three conditions are true the strategy buys as soon as the previous swing high is touched or broken.

(reverse all conditions if you want to trade the short side too)

Swing Trading Strategy – Exit

To exit the position just have a look at the first picture in this article: Exit Long (sell to close) if the bitcoin market falls below its previous swing low. To reduce the risk of an open position even further, I raise the exit stop to the entry level 5 days after entry. This gets you out early in dull markets, without sacrificing too much of the upside potential.

Swing Points Exit Code

Swing Points Exit Code

Bitcoin Swing Trading – Performance

There is no need to write a lot about the performance as everything is fine and the strategy continued to perform after it’s original publication in 2015. The shown numbers are for a 10.000USD account, trading only full bitcoins, no fractions.

Bitcoin Swing Trading Performance

Bitcoin Swing Trading Performance

Swing trading seems to be the perfect strategy for this market…

Total profits / long profits / short profits, 10.000USD / trade, 2014-now

Bitcoin Swing Trading Performance Statistics

The analysis has been done using the tradesignal software suite.

Data used: bitstamp


4 thoughts on “Bitcoin Swing Trading

  1. Pingback: Quantocracy's Daily Wrap for 07/01/2019 | Quantocracy

  2. Hi Philipp, intriguing strategy. any chance you can publish the full code, as you did with other posts?


  3. I like the strategy. Never thought before this higher highs and lower lows could bring profit.
    Of course, not to copy / paste the code.
    I am going to try some on my own.
    Thanks for the hint, Philipp!

Leave a Reply

Your email address will not be published. Required fields are marked *