Diese Strategie identifiziert kurzfristige Trends auf der Grundlage technischer Indikatoren und nimmt bei Erkennung von N aufeinanderfolgenden Bar-Schließungen unter dem Eröffnungspreis eine Shortposition ein.
Die Strategie verwendet eine nCounter-Variable, um die Anzahl der aufeinanderfolgenden Balken mit geschlossenem unter dem offenen zu zählen. Wenn der Schließpreis unter dem offenen Preis liegt, steigt nCounter um 1. Wenn der Schließpreis höher ist als der offene Preis, setzt nCounter auf 0. Wenn nCounter den Eingabeparameter nLength erreicht, zeigt es an, dass N aufeinanderfolgende Balken unter dem Eröffnungspreis schließen und das Signal C2 1 wird.
Nach dem Signal wird, wenn keine Position vorhanden ist, eine Short-Order gesendet. Wenn bereits eine Short-Position vorhanden ist, halten Sie die Position an. Nach der Eröffnung der Position zeichnet der Postpreis den Eintrittspreis auf. Take Profit und Stop Loss werden basierend auf dem Eintrittspreis festgelegt: Wenn der Preis den Take Profit-Punkt (Entry + Input Takeprofit) erreicht, schließen Sie die Position und setzen Sie sie zurück; wenn der Preis den Stop-Loss-Punkt (Entry - Input Stoploss) erreicht, schließen Sie die Position und setzen Sie sie zurück.
Die wichtigsten Vorteile dieser Strategie sind:
Die wichtigsten Risiken dieser Strategie sind:
Die Strategie kann in folgenden Aspekten verbessert werden:
Fügen Sie einen Trendfilter hinzu, um zu vermeiden, dass kurzfristige Korrekturen im seitlichen Markt falsch beurteilt werden.
Ein Anstieg des Volumens bestätigt eine Umkehrung des Trends.
Optimieren Sie Take Profit und Stop Loss, z. B. mit Trailing Stop Loss, Prozentsatz Stop Loss, um intelligentere Exits zu machen.
Verwenden Sie maschinelle Lernmodelle, um Parameter wie nLength dynamisch anhand von Echtzeitmarktveränderungen anzupassen.
Diese Strategie identifiziert einen kurzfristigen Trend, der einfach auf der Grundlage der Beziehung zwischen Schlusskurs und Offenkurs beruht. Handelssignale werden erzeugt, wenn N aufeinanderfolgende Bars unter dem Eröffnungspreis geschlossen werden. Die Strategie ist intuitiv, anpassbar und mit einem effektiven Risikomanagement ausgestattet. Es gibt jedoch ein bestimmtes Maß an falschen Signalen. Es wird empfohlen, zusätzliche Filter zur Optimierung zu kombinieren. Mit Parameter-Tuning, Risikomanagement und Modellverbesserung kann dies ein sehr praktisches Werkzeug für den kurzfristigen Handel sein.
/*backtest start: 2023-12-18 00:00:00 end: 2023-12-25 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 05/02/2020 // Evaluates for n number of consecutive lower closes. Returns a value // of 1 when the condition is true or 0 when false. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="N Bars Down", shorttitle="NBD Backtest", overlay = false) nLength = input(4, minval=1) input_takeprofit = input(20, title="Take Profit pip", step=0.01) input_stoploss = input(10, title="Stop Loss pip", step=0.01) nCounter = 0 nCounter := iff(close[1] <= open[1], nz(nCounter[1],0)+1, iff(close[1] > open[1], 0, nCounter)) C2 = iff(nCounter >= nLength, 1, 0) posprice = 0.0 pos = 0 barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) posprice := iff(C2== 1, close, nz(posprice[1], 0)) pos := iff(posprice > 0, -1, 0) if (pos == 0) strategy.close_all() if (pos == -1) strategy.entry("Short", strategy.short) posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 , nz(posprice, 0)) posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 , nz(posprice, 0)) plot(C2, title='NBD', color=color.red)