freqtrade / freqtrade-strategies

Free trading strategies for Freqtrade bot
GNU General Public License v3.0
3.14k stars 1.09k forks source link

Backtesting the strategies in freqtrade-strategies #76

Closed joe-nano closed 3 years ago

joe-nano commented 4 years ago

Comments on the strategies on freqtrade-strategies folder. 30-60days worth of data from binance all timeframes available.

These need optimisation/not good -AdxSmas: -ASDTSRockwellTrading: -AverageStrategy: -AwesomeMacd -BinHV27 -CCIStrategy -ClucMay72018 -CMCWinner -CofiBitStrategy -EMASkipPump -ReinforcedQuickie -MultiRSI, ReinforcedAverageStrategy: buggy on VM's and needs fixing -ReinforcedSmoothScalp -Scalp -Simple -SmoothOperator -SmoothScalp -TechnicalExampleStrategy

Promising ones that may need further optimisation but results on premilinary optimisation is interesting.

-BbandRsi -BinHV45 -CombinedBinHAndCluc -MACDStrategy_crossed -MACDStrategy -Quickie

xmatthias commented 4 years ago

To be honest, all strategies in this repository are mostly to give you an idea / inspiration - there is not one i would use without extensive testing with my needs / decisions (there is a reason for this - see below).

The best example for this is TechnicalExampleStrategy - which is a strategy that's designed to just show how to use the technical module - nothing more.


When starting a bot - you'll always have to take a few decisions (maybe you've already taken them - maybe not):

Now keeping this in mind - not one strategy will perform well independently of the selections - so ideally, a strategy should document (in the docstring?) it's best parameters (USDT pairs, timeframe, exchange tested...).

Now i'm aware that most strategies don't have this - but the above suggests that for example would perform well (and better with a bit of tuning).


quick example:

I'm picking BinHV45 - as i've used this strategy in the past for tests.

The only modification done is to rely on trailing stop instead of ROI for sells.

Running this strategy with 5m timeframe against ETH pairs on binance (dry-run) did not produce anything winning. Changing this to kraken, 15m EUR - and this strategy is up (quite well) since the beginning of this year - while the "reference" binance bot is still loosing.


Because of this - it's very problematic to say "these work out of the box, while others don't" ... as it'll depend on your selections.

However - if you're doing some testing with these - i would welcome some PR's which add the information mentioned above (like "produces xxx when used against pairs 1,2,3 in the timeframe of 5m on exchange yyy").

jbmustaq commented 4 years ago

First of all Thanks for your effort. I have tweaked the 2 strategies and they are giving cumulative profit of 183% on 1 hour candles.

I have a question that I wanted to ask if these strategies are viceversa in regards to buying/selling and selling/buying or just buying/selling. I am pretty new to freqtrade so please take this into consideration while answering.

xmatthias commented 4 years ago

well i simply did not understand the question?

you can reverse buy and sell signals for sure - but i guess if it's profitable before, it'll most likely be negative afterwards, as you're telling the bot to buy, when the strategy says sell ... ?

but maybe i misunderstood the question ...

jbmustaq commented 4 years ago

What I wanted to confirm is the script is there to buy and sell. so if I want to sell first and then buy would I have to create a new strategy or the same strategy will work.

xmatthias commented 4 years ago

Selling first is called short, which is not yet supported by freqtrade.

jbmustaq commented 4 years ago

Thank you very much for answering my questions and putting alot of effort in this project. just a last question I wanted to ask you. I have been doing the backtest with 1 hour data fro 200 days and getting the good result. do you think the real trade values can change.

xmatthias commented 4 years ago

well - the general process is to develop a strategy (or tune an existing one) - then run the strategy in dry-run until you're comfortable that the results are reliable (backtesting CAN be gamed - intentionally or not - to show profits you'll never reach), and only THEN risk real money with it.

Sometimes it's little mistakes that are difficult to detect, sometimes it's something obvious (like calculating a metric over the full timerange, and not rolling (for the last X candles).