Meta-Description:
Lerne Schritt für Schritt, wie du mit cTrader eine Automatisierung erstellst, die die FTMO Regeln einhält – inklusive Tipps, Code-Beispielen & weiterführenden Quellen!


TL;DR

In diesem Artikel erfährst du, wie du als Einsteiger eine automatisierte Handelsstrategie in cTrader entwickelst, die die wichtigsten FTMO-Regeln einhält. Wir erklären die Grundlagen von cTrader cAlgo, zeigen, wie du die FTMO Regeln technisch umsetzt, geben dir Code-Beispiele für Risikomanagement und bieten eine Schritt-für-Schritt-Anleitung zum Testen und Optimieren deiner Strategie.


Einführung: Automatisierter Handel mit cTrader und FTMO

Der automatisierte Handel gewinnt immer mehr an Bedeutung, besonders bei Tradern, die an Prop-Trading-Challenges wie denen von FTMO teilnehmen. FTMO ist eine der bekanntesten Prop-Trading-Firmen, bei der Trader unter klar definierten Bedingungen und Regeln ihr Können beweisen müssen[^1]. Verstöße gegen diese Regeln führen meist zum Ausschluss. Deshalb ist es für FTMO-Trader besonders wichtig, dass ihre Handelsstrategie automatisiert und regelkonform abläuft.

cTrader ist eine beliebte Handelsplattform, die mit cAlgo eine leistungsstarke Umgebung zur Entwicklung von Handelsrobotern („cBots“) bietet. In diesem Artikel lernst du, wie du Schritt für Schritt einen cBot erstellst, der die wichtigsten FTMO-Regeln einhält.


Was ist FTMO und warum sind die Regeln so wichtig?

FTMO bietet Tradern die Möglichkeit, mit dem Kapital der Firma zu handeln. Dafür müssen sie eine Challenge bestehen, deren wichtigste Regeln sind[^2]:

  • Maximaler Tagesverlust: Es darf pro Tag nur ein bestimmter Betrag verloren werden.
  • Maximaler Gesamtrückgang (Drawdown): Der Gesamtrückgang des Kontos darf einen bestimmten Wert nicht überschreiten.
  • Profitziel: Innerhalb einer festgelegten Zeitspanne muss ein Gewinnziel erreicht werden.
  • Handelstage: Es muss an einer Mindestanzahl von Tagen gehandelt werden.

Ein automatisierter Handelsroboter kann helfen, diese Regeln konsequent einzuhalten und emotionale Fehler zu vermeiden.


Grundlagen: Was ist cTrader und cAlgo?

cTrader ist eine professionelle Handelsplattform, die für ihre schnelle Orderausführung, Transparenz und Benutzerfreundlichkeit bekannt ist. Besonders attraktiv für Entwickler ist das integrierte Tool cAlgo (auch als „Automate“ bekannt), mit dem du eigene Handelsroboter in der Programmiersprache C# entwickeln kannst[^3].

Vorteile von cTrader/cAlgo für FTMO-Trader:

  • Einfache Entwicklung und Backtesting von Strategien
  • Umfangreiche Dokumentation und Community-Support
  • Exaktes Risikomanagement durch automatisierbare Regeln

Schritt 1: Vorbereitung – cTrader installieren und einrichten

Bevor du mit dem Programmieren beginnst, benötigst du:

  1. Ein kostenloses cTrader-Konto (hier registrieren)
  2. Die cTrader Desktop-Software (Download auf der offiziellen Website)
  3. Optional: Ein FTMO-Demokonto für realistische Tests

Nach der Installation starte cTrader und öffne den Reiter „Automate“. Hier kannst du neue cBots (Handelsroboter) anlegen und bearbeiten.


Schritt 2: Die wichtigsten FTMO-Regeln automatisieren

2.1 Maximaler Tagesverlust

FTMO gibt einen maximalen Tagesverlust (z.B. 5% vom Startkapital) vor. Sobald dieser überschritten wird, dürfen keine weiteren Trades eröffnet werden.

Technische Umsetzung:

  • Speichere den Kontostand zu Tagesbeginn.
  • Berechne im Laufe des Tages den aktuellen Tagesverlust.
  • Stoppe die Strategie, falls der Verlust das Limit erreicht.

Code-Beispiel (C#):

„`csharp
[Parameter(„Maximaler Tagesverlust in %“, DefaultValue = 5)]
public double MaxDailyLossPercent { get; set; }

private double dailyStartEquity;
private DateTime lastEquityReset;

protected override void OnStart()
{
dailyStartEquity = Account.Equity;
lastEquityReset = Server.Time.Date;
}

protected override void OnBar()
{
// Jeden Tag Equity-Startwert neu setzen
if (Server.Time.Date > lastEquityReset)
{
dailyStartEquity = Account.Equity;
lastEquityReset = Server.Time.Date;
}

double dailyLoss = dailyStartEquity - Account.Equity;
double maxDailyLoss = dailyStartEquity * MaxDailyLossPercent / 100.0;

if (dailyLoss >= maxDailyLoss)
{
    Print("Maximaler Tagesverlust erreicht! Keine weiteren Trades.");
    Stop(); // Stoppt den cBot
}

}
„`


2.2 Maximaler Gesamtrückgang (Drawdown)

Das Drawdown-Limit (z.B. 10% vom Startkapital) darf während der gesamten Challenge nicht überschritten werden.

Technische Umsetzung:

  • Speichere das Startkapital.
  • Überwache den aktuellen Drawdown.
  • Stoppe die Strategie, falls das Limit über-/unterschritten wird.

Code-Beispiel:

„`csharp
[Parameter(„Maximaler Gesamtrückgang in %“, DefaultValue = 10)]
public double MaxTotalDrawdownPercent { get; set; }

private double initialEquity;

protected override void OnStart()
{
initialEquity = Account.Equity;
}

protected override void OnBar()
{
double drawdown = initialEquity – Account.Equity;
double maxDrawdown = initialEquity * MaxTotalDrawdownPercent / 100.0;

if (drawdown >= maxDrawdown)
{
    Print("Maximaler Gesamtrückgang erreicht! Keine weiteren Trades.");
    Stop();
}

}
„`


2.3 Profitziel überwachen

Das Erreichen des Profitziels ist für das Bestehen der FTMO-Challenge Pflicht.

Technische Umsetzung:

  • Definiere das Profitziel (z.B. 10%).
  • Stoppe die Strategie, wenn das Ziel erreicht ist.

Code-Beispiel:

„`csharp
[Parameter(„Profitziel in %“, DefaultValue = 10)]
public double ProfitTargetPercent { get; set; }

protected override void OnBar()
{
double profit = Account.Equity – initialEquity;
double profitTarget = initialEquity * ProfitTargetPercent / 100.0;

if (profit >= profitTarget)
{
    Print("Profitziel erreicht! Challenge bestanden.");
    Stop();
}

}
„`


2.4 Mindestanzahl an Handelstagen

FTMO verlangt eine Mindestanzahl von Handelstagen (z.B. 10). Ein Handelstag zählt, wenn mindestens ein Trade eröffnet/geschlossen wurde.

Technische Umsetzung:

  • Führe ein Zählwerk für Handelstage.
  • Erhöhe den Zähler, wenn ein Trade abgeschlossen wurde und das Datum neu ist.

Code-Beispiel:

„`csharp
private HashSet tradingDays = new HashSet();

protected override void OnPositionOpened(PositionOpenedEventArgs args)
{
tradingDays.Add(Server.Time.Date);
Print($“Bisherige Handelstage: {tradingDays.Count}“);
}
„`


Schritt 3: Risikomanagement und Positionsgröße automatisieren

Ein weiterer FTMO-Kernpunkt ist das konsequente Risikomanagement pro Trade (z.B. 1% Risiko).

Berechnung der Positionsgröße:

  • Bestimme das Kontorisiko pro Trade (z.B. 1% von Equity).
  • Berechne die Lotgröße anhand des Stop-Loss-Abstands und des Risikobetrags.

Code-Beispiel für Positionsgröße:

„`csharp
[Parameter(„Risiko pro Trade in %“, DefaultValue = 1)]
public double RiskPerTradePercent { get; set; }

public double CalculatePositionSize(double stopLossPips)
{
double riskAmount = Account.Equity * RiskPerTradePercent / 100.0;
double pipValue = Symbol.PipValue;
double volume = riskAmount / (stopLossPips * pipValue);
return volume;
}
„`


Schritt 4: Strategie programmieren und kombinieren

Jetzt kombinierst du die FTMO-Regeln mit deiner Handelsstrategie. Beispiel: Einfache Moving-Average-Strategie.

Beispiel:

„`csharp
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class FTMORuleBot : Robot
{
// … (Parameter und Variablen wie oben)

[Parameter("Schneller MA", DefaultValue = 9)]
public int FastMA { get; set; }

[Parameter("Langsamer MA", DefaultValue = 21)]
public int SlowMA { get; set; }

private MovingAverage fastMa;
private MovingAverage slowMa;

protected override void OnStart()
{
    // ... (FTMO-Regeln initialisieren wie oben)
    fastMa = Indicators.MovingAverage(MarketSeries.Close, FastMA, MovingAverageType.Exponential);
    slowMa = Indicators.MovingAverage(MarketSeries.Close, SlowMA, MovingAverageType.Exponential);
}

protected override void OnBar()
{
    // ... (FTMO-Regeln prüfen wie oben)

    if (fastMa.Result.Last(1) > slowMa.Result.Last(1) && Positions.Count == 0)
    {
        double stopLossPips = 20;
        double volume = CalculatePositionSize(stopLossPips);

        ExecuteMarketOrder(TradeType.Buy, Symbol, volume, "FTMO_Bot", stopLossPips, null);
    }
    else if (fastMa.Result.Last(1) < slowMa.Result.Last(1) && Positions.Count == 0)
    {
        double stopLossPips = 20;
        double volume = CalculatePositionSize(stopLossPips);

        ExecuteMarketOrder(TradeType.Sell, Symbol, volume, "FTMO_Bot", stopLossPips, null);
    }
}

}
„`


Schritt 5: Testen und Optimieren deiner cTrader-Automatisierung

5.1 Backtesting

cTrader bietet ein integriertes Backtesting-Tool. Damit kannst du deine Strategie mit historischen Daten testen:

  • Wähle den cBot im Automate-Bereich aus.
  • Klicke auf „Backtest“ und wähle Zeitraum, Symbol und Startkapital.
  • Analysiere die Ergebnisse und prüfe, ob die FTMO-Regeln eingehalten wurden.

5.2 Optimierung

Passe Parameter wie Stop-Loss, Take-Profit, MA-Perioden oder das Risiko pro Trade an. Nutze die „Optimieren“-Funktion, um die besten Einstellungen zu finden.

5.3 Forward-Testing

Teste die Strategie im Demo-Modus mit Live-Daten, bevor du sie auf ein FTMO-Demokonto oder echtes Kapital loslässt.


Schritt 6: Tipps für die Praxis und häufige Fehler

  • Tageswechsel korrekt erkennen: Achte auf die Serverzeit, da diese von der Broker-Zeitzone abhängt.
  • Fehlerbehandlung: Baue Schutzmechanismen gegen Verbindungsabbrüche oder Datenlücken ein.
  • Regeländerungen: Kontrolliere regelmäßig die FTMO-Regeln – sie können sich ändern!
  • Keine Over-Optimization: Optimiere nicht zu sehr auf historische Daten, um Überanpassung zu vermeiden.
  • Dokumentation: Kommentiere deinen Code ausführlich – das hilft bei Anpassungen und Fehleranalysen.

Fazit: Mit Automatisierung sicher durch die FTMO-Challenge

Mit cTrader und cAlgo kannst du als Einsteiger eine leistungsfähige Handelsautomatisierung entwickeln, die dir hilft, die FTMO-Regeln konsequent einzuhalten. Du minimierst menschliche Fehler, optimierst dein Risikomanagement und schaffst die Grundlage für einen erfolgreichen Abschluss der FTMO-Challenge.


Weiterführende Quellen

  1. Offizielle FTMO-Regeln (deutsch)
  2. cTrader Automate Dokumentation
  3. cTrader Community Forum
  4. Einführung in cTrader cBots (YouTube, deutsch)
  5. Risikomanagement im Trading (babypips.com)

[^1]: Siehe FTMO Challenge Regeln: https://ftmo.com/de/ftmo-challenge/
[^2]: Die wichtigsten FTMO-Regeln findest du in den FAQ: https://ftmo.com/de/faq/
[^3]: Mehr zu cTrader Automate: https://help.ctrader.com/ctrader-automate/

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert