N Bar Schließen unter Offener Kurzstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-26
Tags:

img

Übersicht

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.

Strategie Logik

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.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Einfache und klare Logik, leicht zu verstehen und umzusetzen.
  2. Anpassungsfähige Parameter, flexibel unter unterschiedlichen Marktbedingungen.
  3. Ausgestattet mit Take Profit und Stop Loss, effektiv Risiken kontrollieren.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. N-Bar schließen unter offen kann eine Trendumkehr nicht vollständig bestätigen, es kann ein falsches Signal auftreten.
  2. Eine falsche Einstellung von Stop-Loss oder Take-Profit kann zu einem vorzeitigen Ausstieg oder zu verstärkten Verlusten führen.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten verbessert werden:

  1. Fügen Sie einen Trendfilter hinzu, um zu vermeiden, dass kurzfristige Korrekturen im seitlichen Markt falsch beurteilt werden.

  2. Ein Anstieg des Volumens bestätigt eine Umkehrung des Trends.

  3. Optimieren Sie Take Profit und Stop Loss, z. B. mit Trailing Stop Loss, Prozentsatz Stop Loss, um intelligentere Exits zu machen.

  4. Verwenden Sie maschinelle Lernmodelle, um Parameter wie nLength dynamisch anhand von Echtzeitmarktveränderungen anzupassen.

Schlussfolgerung

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)

Mehr