10-05-2018, 08:56 PM
First of all, sorry for the long message. I tried to keep it as short as possible. I think there are important conclusions worth reading...
After looking the backtest results presented by @tommiehansen I was really excited about this strategy, as probably everyone was or is.
But I quickly noticed that it is not always generating huge gains, it needs detailed adjustment of the parameters through backtesting.
So I decided to install the backtest tool and search for the optimal parameters.
I quickly noticed that not only the candle size but also the pairs selected affect the results importantly. Meaning that there must be optimal parameters for each pair and candle size. So I started looking for them.
After some tests I set the candle size to 15 minutes and start searching the optima for different pairs and different time frames.
To make the story short, I present here some key results that summarize my findings:
1) I optimized parameters for BTC-USDT from Nov. 21st 2017 to August 27th 2018. I did this semi-automatically, meaning that I searched for the best SMA long and short lengths, then moved to the RSI parameters bull and then bear and repeated the steps until finding the highest difference "simulated profit" minus "market". This optimization is of course not perfect and takes a lot of time, but if I let all parameters to variate simultaneously in the backtest-tool it will take forever.
2) With the obtained "optimal parameters" I selected another pair (e.g. ETH-USDT) and did one simulation. The results were not as good as for BTC-USDT. So I optimized that pair for the same time frame and candle size.
3) Then I optimized the parameters for all other pairs I found on binance starting on Nov. 21st 2017 which are: ETH, NEO, BNB and BCC.
4) The parameters obtained were always somehow similar to those obtained for BTC-USDT, besides BNB which had a very different trend during that time frame (very bullish).
5) Then I recalculated for BTC-USDT but using the parameters obtained for ETH, NEO, BNB and BCC
6) This is when it started to disappoint me. Although the parameters are not very different, the results are notably worst if "slight" changes are done. Attached you find the parameters I obtained as optimal for each pair and a matrix with the results by using the pairs optimum and other pairs parameter. I also used an "average parameters" by calculating the average of all pairs per parameters (besides BNB).
7) I also calculated the other way around: the pairs ETH, NEO, BNB and BCC with the optimal parameters of BTC-USDT
You can see the tables attached with the inputs and results. Just to explain one example: for NEO the market result (hodl) was -50,81%, with the optimized parameters I obtained 619% above that (or a profit of 568%), then just by selecting the parameters from the BTC-USDT optimization, the simulated profit of NEO is only 27% above the market. If that is not disappointing, then I don't know what...
Parameters.JPG (Size: 91.57 KB / Downloads: 331)
results.JPG (Size: 43.73 KB / Downloads: 268)
I looked at it a bit closer in TradingView and my conclusion is that when the parameters are optimized by doing backtesting, it is then only good for the past behavior. The optimal parameters are found when long bull-runs are exploited and crashes are avoided. I noticed that this sometimes can be reached by only increasing e.g. the "RSI Bull low" from 30 to 32 and decreasing the "RSI bull high" from 75 to 70. Therefore, if we select other (slightly) different parameters, which were optimized for different charts, we will not match this strategic points, therefore reducing the profit considerably.
This means, that we can optimize as much as we want, but this will only lead to having the best parameters for the PAST price chart. Let the chart change a bit in the future, what it will do for sure, and the results can be very different.
This may probably be obvious to many people. But it wasn't for me before doing the work. I thought the strategy was "intelligent" enough to perform well in general after a long number of trades.
Now I understand how backtest results from Tommiehansen show profits of millions %: not only the market was good at those times, but also that he found the "perfect" parameters to exploit that specific market.
Notice that I selected quite a long time frame in order to increase the statistics and try to find generally good parameters. The next step to do I think is to search for optimal parameters during pure bull-trend and bear-trend and see how they differ. Then probably a result will be only to trade during bull-trend with special parameters for that.
If someone has similar experience or comments, critics or whatever I will appreciate your feedback. I put a lot of work into this and I think it is important to share and improve together.
cheers!
After looking the backtest results presented by @tommiehansen I was really excited about this strategy, as probably everyone was or is.
But I quickly noticed that it is not always generating huge gains, it needs detailed adjustment of the parameters through backtesting.
So I decided to install the backtest tool and search for the optimal parameters.
I quickly noticed that not only the candle size but also the pairs selected affect the results importantly. Meaning that there must be optimal parameters for each pair and candle size. So I started looking for them.
After some tests I set the candle size to 15 minutes and start searching the optima for different pairs and different time frames.
To make the story short, I present here some key results that summarize my findings:
1) I optimized parameters for BTC-USDT from Nov. 21st 2017 to August 27th 2018. I did this semi-automatically, meaning that I searched for the best SMA long and short lengths, then moved to the RSI parameters bull and then bear and repeated the steps until finding the highest difference "simulated profit" minus "market". This optimization is of course not perfect and takes a lot of time, but if I let all parameters to variate simultaneously in the backtest-tool it will take forever.
2) With the obtained "optimal parameters" I selected another pair (e.g. ETH-USDT) and did one simulation. The results were not as good as for BTC-USDT. So I optimized that pair for the same time frame and candle size.
3) Then I optimized the parameters for all other pairs I found on binance starting on Nov. 21st 2017 which are: ETH, NEO, BNB and BCC.
4) The parameters obtained were always somehow similar to those obtained for BTC-USDT, besides BNB which had a very different trend during that time frame (very bullish).
5) Then I recalculated for BTC-USDT but using the parameters obtained for ETH, NEO, BNB and BCC
6) This is when it started to disappoint me. Although the parameters are not very different, the results are notably worst if "slight" changes are done. Attached you find the parameters I obtained as optimal for each pair and a matrix with the results by using the pairs optimum and other pairs parameter. I also used an "average parameters" by calculating the average of all pairs per parameters (besides BNB).
7) I also calculated the other way around: the pairs ETH, NEO, BNB and BCC with the optimal parameters of BTC-USDT
You can see the tables attached with the inputs and results. Just to explain one example: for NEO the market result (hodl) was -50,81%, with the optimized parameters I obtained 619% above that (or a profit of 568%), then just by selecting the parameters from the BTC-USDT optimization, the simulated profit of NEO is only 27% above the market. If that is not disappointing, then I don't know what...
Parameters.JPG (Size: 91.57 KB / Downloads: 331)
results.JPG (Size: 43.73 KB / Downloads: 268)
I looked at it a bit closer in TradingView and my conclusion is that when the parameters are optimized by doing backtesting, it is then only good for the past behavior. The optimal parameters are found when long bull-runs are exploited and crashes are avoided. I noticed that this sometimes can be reached by only increasing e.g. the "RSI Bull low" from 30 to 32 and decreasing the "RSI bull high" from 75 to 70. Therefore, if we select other (slightly) different parameters, which were optimized for different charts, we will not match this strategic points, therefore reducing the profit considerably.
This means, that we can optimize as much as we want, but this will only lead to having the best parameters for the PAST price chart. Let the chart change a bit in the future, what it will do for sure, and the results can be very different.
This may probably be obvious to many people. But it wasn't for me before doing the work. I thought the strategy was "intelligent" enough to perform well in general after a long number of trades.
Now I understand how backtest results from Tommiehansen show profits of millions %: not only the market was good at those times, but also that he found the "perfect" parameters to exploit that specific market.
Notice that I selected quite a long time frame in order to increase the statistics and try to find generally good parameters. The next step to do I think is to search for optimal parameters during pure bull-trend and bear-trend and see how they differ. Then probably a result will be only to trade during bull-trend with special parameters for that.
If someone has similar experience or comments, critics or whatever I will appreciate your feedback. I put a lot of work into this and I think it is important to share and improve together.
cheers!