Dieser C Bot (RSTI_Ausama)
Dieser C Bot (Roboter) ist in C# unter Verwendung der cAlgo.API-Plattform geschrieben und für den automatisierten Handel auf dem Forex-Markt konzipiert. Der Bot stützt sich auf Signale technischer Indikatoren (einfache gleitende Durchschnitte), um Kauf- und Verkaufsentscheidungen zu treffen. Nachfolgend eine detaillierte Erklärung der Komponenten des Bots und seiner Funktionsweise:
---
### 1. **Parameter**
Der Bot enthält eine Reihe anpassbarer Parameter, um sein Handelsverhalten zu steuern:
- **RSTI Einstellungen**:
- `Source`: Die für Berechnungen verwendete Datenquelle (z.B. Schlusskurs).
- `Length`: Die Periodenlänge für den einfachen gleitenden Durchschnitt (SMA).
- `Signal Length`: Die Periodenlänge für den Signal-SMA.
- **Risikomanagement**:
- `Trade Direction`: Die Handelsrichtung (Nur Kaufen, Nur Verkaufen oder Beide).
- `Lot Size`: Die für Trades verwendete Lotgröße.
- `Target Percentage (%)`: Das prozentuale Ziel für Take Profit.
- `Target Partial (%)`: Der Prozentsatz für teilweises Gewinnmitnehmen.
- `Stop Loss Percentage (%)`: Der Prozentsatz für Stop Loss.
---
### 2. **Technische Indikatoren**
Der Bot verwendet die folgenden technischen Indikatoren:
- **Einfacher gleitender Durchschnitt (SMA)**: Ein einfacher gleitender Durchschnitt basierend auf dem Schlusskurs.
- **SMA Diff**: Ein einfacher gleitender Durchschnitt der Differenz zwischen Preis und SMA.
- **SMA Diff Abs**: Ein einfacher gleitender Durchschnitt der absoluten Differenz.
- **SMA Signal**: Ein einfacher gleitender Durchschnitt des relativen Stärke-Signals.
---
### 3. **Hauptfunktionen des Bots**
#### a. **OnStart()**
- Diese Funktion wird ausgeführt, wenn der Bot startet.
- Initialisiert die Indikatoren und berechnet die Anfangswerte für die gleitenden Durchschnitte.
- Speichert den letzten Signalwert (`_previousSignalValue`) für spätere Vergleiche.
#### b. **OnBar()**
- Diese Funktion wird ausgeführt, wenn ein neuer Balken schließt.
- Aktualisiert die gleitenden Durchschnitte basierend auf neuen Daten.
- Prüft Änderungen im Handelssignal:
- Wenn das Signal über 60 (Kaufen) oder unter 40 (Verkaufen) kreuzt, werden Trades ausgeführt.
- Aktualisiert den vorherigen Signalwert (`_previousSignalValue`).
#### c. **OnTick()**
- Diese Funktion wird bei jeder Preisänderung (Tick) ausgeführt.
- Prüft, ob das teilweise Take-Profit-Niveau erreicht wurde (`HandleCloseOnTPReached`).
#### d. **ExecuteTrades()**
- Führt Trades basierend auf dem Handelssignal aus:
- Wenn das Signal größer als 60 ist, wird ein Kauftrade eröffnet.
- Wenn das Signal kleiner als 40 ist, wird ein Verkaufstrade eröffnet.
- Berechnet Take-Profit- und Stop-Loss-Niveaus basierend auf den angegebenen Prozentsätzen.
- Führt Trades mit `ExecuteMarketOrder` aus.
#### e. **HandleCloseOnTPReached()**
- Prüft, ob das teilweise Take-Profit-Niveau erreicht wurde:
- Wenn der Trade das angegebene Gewinnniveau erreicht, wird die Positionsgröße um 50 % reduziert.
#### f. **HandleCloseOnSignal()**
- Schließt Trades, wenn sich das Handelssignal ändert:
- Wenn der Trade ein Kauf ist und das Signal unter 50 fällt, wird der Trade geschlossen.
- Wenn der Trade ein Verkauf ist und das Signal über 50 steigt, wird der Trade geschlossen.
#### g. **DrawSignalOnChart()**
- Zeigt den aktuellen Signalwert im Chart an:
- Wenn das Signal über 50 liegt, wird es blau angezeigt.
- Wenn das Signal unter 50 liegt, wird es rot angezeigt.
---
### 4. **Risikomanagement**
- Die Lotgröße (`LotSize`) wird basierend auf der Kontogröße bestimmt.
- Ziel- (`TargetPercentage`) und Stop-Loss- (`StopLossPercentage`) Niveaus werden als Prozentsätze des aktuellen Preises festgelegt.
- Teilweises Gewinnmitnehmen (`Target Partial`) wird ausgeführt, wenn ein bestimmtes Niveau erreicht wird.
---
### 5. **Handelsrichtung**
- Die Handelsrichtung kann mit dem Parameter `TradeDirection` eingestellt werden:
- `Both`: Handel in beide Richtungen (Kaufen und Verkaufen).
- `Buy_Only`: Handel nur in Kauf-Richtung.
- `Sell_Only`: Handel nur in Verkaufs-Richtung.
---
### 6. **Wie man den Bot verwendet**
1. Fügen Sie den Bot zur cTrader-Plattform hinzu.
2. Passen Sie die Parameter entsprechend Ihrer Strategie an (z.B. Lotgröße, Ziel- und Stop-Loss-Niveaus).
3. Starten Sie den Bot auf dem gewünschten Chart.
4. Der Bot öffnet und schließt Trades automatisch basierend auf den Handelssignalen.
---
### 7. **Stärken**
- Verlässliche Signale basierend auf gleitenden Durchschnitten.
- Bietet Flexibilität bei der Einstellung der Handelsrichtung und des Risikomanagements.
- Unterstützt teilweises Gewinnmitnehmen und das Schließen von Trades basierend auf Signaländerungen.
---
### 8. **Schwächen**
- Verlassen sich vollständig auf gleitende Durchschnitte, die nicht in allen Marktbedingungen effektiv sein können.
- Erfordert Parameteroptimierung, um für bestimmte Währungspaare und Zeitrahmen geeignet zu sein.
---
### 9. **Tipps zur Verbesserung**
- Testen Sie den Bot mit historischen Daten, um die Parameter zu optimieren.
- Fügen Sie zusätzliche technische Indikatoren hinzu, um die Signalgenauigkeit zu verbessern.
- Überwachen Sie die Leistung des Bots regelmäßig und nehmen Sie notwendige Anpassungen vor.
---
Dieser Bot ist ein leistungsstarkes Werkzeug für den automatisierten Handel, sollte jedoch mit Vorsicht und einem gründlichen Verständnis seiner Mechanik und des Risikomanagements verwendet werden.