Zum Inhalt

Renko-Strategien in cTrader

Ein Renko-Chart ist ein Diagrammtyp, der nur anhand von Preisbewegungen erstellt wird. Ein neuer Renko-Baustein wird nur dann gebildet, wenn die Preisbewegung für ein Symbol einen bestimmten Schwellenwert von Pips überschreitet; die Zeitkomponente, die normalerweise in Candlestick-Charts verwendet wird, fehlt vollständig. cTrader ermöglicht es Händlern, automatisierte Strategien basierend auf Renko-Balken auf genau dieselbe Weise zu entwickeln wie die Entwicklung solcher Strategien für zeitbasierte Candlestick-Balken. In diesem Artikel und dem dazugehörigen Video werden wir einen einfachen cBot erstellen, der eine Renko-basierte Strategie verwendet, und ihn backtesten.

Handelsstrategie definieren

Wir beginnen mit der Definition des Kaufsignals. Da Renko-Balken unabhängig von der Zeit sind, filtern sie natürlich Marktrauschen heraus, was sie nützlich macht, um Trenderschöpfungen und potenzielle Umkehrungen zu identifizieren. Wir werden eine neue Kauforder platzieren, wenn auf zwei bärische Renko-Balken zwei bullische Balken folgen.

Unser Verkaufssignal folgt dem entgegengesetzten Setup. Wir werden eine Verkaufsorder platzieren, wenn auf zwei bullische Renko-Balken zwei bärische Balken folgen.

Beispiel-cBot erstellen

Wir können nun mit der Programmierung eines cBot basierend auf der obigen Strategie fortfahren. Zunächst definieren wir die Parameter für das Ordervolumen und die relativen Stop-Loss- und Take-Profit-Niveaus.

1
2
3
4
5
6
7
8
[Parameter(DefaultValue = 10000)]
public double Volume { get; set; }

[Parameter(DefaultValue = 20)]
public double StopLoss { get; set; }

[Parameter(DefaultValue = 20)]
public double TakeProfit { get; set; }

Wir werden unsere Handelsstrategie in der OnBarClosed()-Methode implementieren. Für unser bullisches Setup prüfen wir, ob die Balken mit den Indizes 3 und 2 einen Schlusskurs haben, der niedriger ist als der Eröffnungskurs, und wir prüfen auch, ob die Balken mit den Indizes 1 und 0 einen Schlusskurs haben, der höher ist als der Eröffnungskurs.

1
2
3
4
if (Bars.Last(3).Close < Bars.Last(3).Open && Bars.Last(2).Close < Bars.Last(2).Open && Bars.Last(1).Close > Bars.Last(1).Open && Bars.Last(0).Close > Bars.Last(0).Open)
{
    ExecuteMarketOrder(TradeType.Buy, SymbolName, Volume,InstanceId, StopLoss, TakeProfit);
}

Für unser bärisches Setup prüfen wir das Gegenteil. Balken mit den Indizes 3 und 2 müssen einen höheren Schlusskurs als ihren Eröffnungskurs haben; Balken mit den Indizes 1 und 0 müssen einen höheren Eröffnungskurs als ihren Schlusskurs haben.

1
2
3
4
if (Bars.Last(3).Close > Bars.Last(3).Open && Bars.Last(2).Close > Bars.Last(2).Open && Bars.Last(1).Close < Bars.Last(1).Open && Bars.Last(0).Close < Bars.Last(0).Open)
{
    ExecuteMarketOrder(TradeType.Sell, SymbolName, Volume, InstanceId, StopLoss, TakeProfit);
}

cBot backtesten

Nachdem wir unseren cBot gespeichert und erstellt haben, können wir direkt mit dem Backtesting fortfahren. Wenn wir den cBot zu einem Chart für EURUSD mit einem 20-Pip-Renko-Schwellenwert hinzufügen, sollten wir ermutigende Ergebnisse erhalten.

Hinweis

Renko-basierte Strategien verwenden dieselben Datenstrukturen wie zeitbasierte Candlesticks. Zum Beispiel haben wir die Bars-Sammlung verwendet, um unsere Renko-Balken abzurufen, wie wir es getan hätten, um Kerzen aus einem Candlestick-Chart abzurufen. Diese Funktion ermöglicht die Entwicklung von Strategien, die auf jedem Diagrammtyp getestet und ausgeführt werden können, ohne dass Änderungen erforderlich sind. Wenn wir unseren cBot auf einem Candlestick-Chart backtesten, werden alle Operationen weiterhin gemäß den festgelegten Regeln ausgeführt.

Hinweis

Renko-basierte Strategien können genau wie Candlestick-basierte Strategien in der Registerkarte Optimierung optimiert werden.

In diesem Leitfaden haben wir mit minimalem Aufwand einen erfolgreichen Renko-basierten cBot erstellt.