freqtrade crypto trading bot

Freqtrade – Kostenloser Kryptohandel mit Bots

Freqtrade ist eine Software, die es ermöglicht, automatisierte Handelsstrategien für Kryptowährungen zu erstellen und auszuführen. Freqtrade ist eine leistungsstarke und flexible Software, die es ermöglicht, verschiedene Handelsstrategien für Kryptowährungen zu erstellen und auszuführen. Freqtrade bietet eine Reihe von Funktionen, die den Handelsprozess erleichtern und optimieren. Freqtrade ist eine gute Option für alle, die sich für den automatisierten Handel mit Kryptowährungen interessieren. Freqtrade basiert auf Python und nutzt die CCXT-Bibliothek, um mit verschiedenen Börsen zu interagieren. Freqtrade bietet eine Reihe von Funktionen, die den Handelsprozess erleichtern und optimieren, wie zum Beispiel:

Backtesting: Mit dieser Funktion kann man die Leistung einer Strategie anhand historischer Daten testen und die Parameter anpassen, um die bestmöglichen Ergebnisse zu erzielen.
Hyperopt: Mit dieser Funktion kann man die optimale Kombination von Parametern für eine Strategie finden, indem man verschiedene Variationen ausprobiert und diejenige auswählt, die den höchsten Gewinn erzielt.
Edge: Mit dieser Funktion kann man die Risiko-Ertrags-Verhältnisse verschiedener Strategien vergleichen und diejenigen auswählen, die das geringste Risiko bei der höchsten Rendite aufweisen.
Live-Trading: Mit dieser Funktion kann man die Strategien in Echtzeit auf den Märkten anwenden und die Trades automatisch ausführen lassen.

Freqtrade zu nutzen ist nicht ganz trivial. Begriffe wie python, docker oder api sagen dir gar nichts? Dann solltest du eher eine Platform wie 3commas benutzen. Oder lies dich einfach in der sehr umfangreichen Freqtrade Dokumentation ein: https://www.freqtrade.io/en/stable/

Um Freqtrade zu verwenden, muss man zunächst die Software installieren und konfigurieren. Dazu benötigt man einen Computer mit Python 3.6 oder höher, einen API-Schlüssel und einen geheimen Schlüssel von der Börse, auf der man handeln möchte, und eine stabile Internetverbindung. Dann muss man eine Konfigurationsdatei erstellen, in der man die grundlegenden Einstellungen für Freqtrade festlegt, wie zum Beispiel den Namen der Börse, die Handelspaare, die Handelsgebühren, den Startkapitalbetrag, den Stopp-Loss-Wert und andere Optionen. Außerdem muss man eine Strategiedatei erstellen, in der man die Logik für den Kauf und Verkauf von Kryptowährungen definiert. Dazu kann man verschiedene Indikatoren und Bedingungen verwenden, die auf den Preis- und Volumendaten basieren. Freqtrade bietet einige vordefinierte Strategien an, die man als Ausgangspunkt verwenden oder anpassen kann.

Mehrere vorgefertigte Strategien die man direkt nutzen kann oder mit seinen eigenen Ideen erweitern kann findet ihr zum Beispiel hier: https://github.com/freqtrade/freqtrade-strategies

Ein Beispiel für eine einfache Strategie ist die folgende:

Diese Strategie kauft ein Handelspaar, wenn der RSI-Indikator unter 30 fällt und der MACD-Indikator über dem MACD-Signal liegt. Sie verkauft das Handelspaar, wenn der RSI-Indikator über 70 steigt und der MACD-Indikator unter dem MACD-Signal liegt. Die Strategie verwendet ein ROI von 10% und einen Stopp-Loss von 10%. Sie verwendet auch einen nachlaufenden Stopp-Loss, um den Gewinn zu maximieren. Die Strategie verwendet ein Zeitintervall von 5 Minuten für die Kerzen.

Um die Strategie zu testen, kann man den Befehl `freqtrade backtesting –strategy SimpleStrategy` ausführen, um die Ergebnisse anhand der historischen Daten zu sehen. Um die Strategie zu optimieren, kann man den Befehl `freqtrade hyperopt –strategy SimpleStrategy –hyperopt-loss SharpeHyperOptLoss –epochs 100` ausführen, um die besten Parameter für die Strategie zu finden. Um die Strategie live zu handeln, kann man den Befehl `freqtrade trade –strategy SimpleStrategy` ausführen, um die Trades automatisch auszuführen lassen.

python
from freqtrade.strategy import IStrategy
import talib.abstract as ta

class SimpleStrategy(IStrategy):
    # Minimal ROI designed for the strategy.
    minimal_roi = {
        "0": 0.1
    }

    # Optimal stoploss designed for the strategy
    stoploss = -0.1

    # Trailing stoploss
    trailing_stop = True

    # Optimal ticker interval for the strategy
    ticker_interval = '5m'

    # Run "populate_indicators" only for new candle.
    process_only_new_candles = True

    def informative_pairs(self):
        return []

    def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        # Add indicators
        dataframe['rsi'] = ta.RSI(dataframe)
        dataframe['macd'] = ta.MACD(dataframe)['macd']
        dataframe['macdsignal'] = ta.MACD(dataframe)['macdsignal']
        return dataframe

    def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        # Define the buy conditions
        dataframe.loc[
            (
                (dataframe['rsi'] < 30) &
                (dataframe['macd'] > dataframe['macdsignal'])
            ),
            'buy'] = 1
        return dataframe

    def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
        # Define the sell conditions
        dataframe.loc[
            (
                (dataframe['rsi'] > 70) &
                (dataframe['macd'] < dataframe['macdsignal'])
            ),
            'sell'] = 1
        return dataframe

Um eure Strategie zu testen empfiehlt es sich Backtesting zu betreiben. Hier wird deine Strategie anhand vergangener Daten geprüft. Aber nur weil deine Strategie im backtesting erfolgreich ist heisst das nicht, dass sie sich im realen Umfeld auch so verhält. Teste die Strategie am besten auch mit Papermoney, also Spielgeld.

Und immer dran denken, investiere nur soviel zu bereit bist zu verlieren.