
Beschreibung: Diese Strategie ist eine Strategie, die die Brin-Kanäle, die KDJ-Indikatoren und die Trendverfolgung nutzt, um Preis-Breakouts durchzuführen. Sie kann Kauf- und Verkaufshandlungen an den Breakouts durchführen und eine Stop-Loss-Linie einrichten, um das Risiko zu kontrollieren.
Die Strategie:
- Berechnen Sie einfache gleitende Durchschnitte für 15 und 30 Tage, um die Preisentwicklung zu beurteilen.
- Berechnen Sie den Auf- und Abstieg des Brin-Kanals und kombinieren Sie die K-Linien-Einheiten mit dem Durchbruch des Auf- und Abstiegs des Brin-Kanals, um zu bestimmen, wann zu kaufen und zu verkaufen.
- In Kombination mit dem Zufallsindikator RSI, um zu bestimmen, ob ein Überkauf ein Überverkauf ist. RSI größer als 50 ist ein Überkaufsignal, RSI kleiner als 50 ist ein Überverkaufsignal.
- Wenn der Preis steigt, wird ein Kaufsignal erzeugt, wenn der Brin-Kanal aufgeht und der RSI größer als 50 ist. Wenn der Preis fällt, wird ein Verkaufsignal erzeugt, wenn der Brin-Kanal untergeht und der RSI kleiner als 50 ist.
- Das ATR-Stopp-System dient zur Risikokontrolle.
Die Analyse der Stärken:
- Die Strategie verwendet mehrere Indikatoren wie den Brin-Kanal, den RSI-Indikator, um Handelssignale zu ermitteln, um einen Fehler zu vermeiden, der durch ein einzelnes Indikator verursacht wird.
- In Kombination mit Trendbeurteilung, um falsche Handelssignale bei der Berechnung und Umkehrung zu vermeiden.
- Ein ATR-Stopp-System wird eingesetzt, um das Risiko für jede Einheit zu kontrollieren.
- Die Strategie ist klar, einfach und leicht zu verstehen.
Risiken und Verbesserungen
- Der Brin-Kanal ist ein Kontext-Indikator, dessen Auf- und Abwärtstransformationen keine absoluten Unterstützungs- und Widerstandspunkte sind, und es kann vorkommen, dass ein Stop-Loss durchbrochen wird, wenn der Preis die Auf- und Abwärtstransformationen durchbricht. Es kann ein lockerer Stop-Loss-Punkt eingerichtet werden oder andere Stop-Loss-Strategien wie z. B. eine zeitliche Stop-Loss-Strategie angewendet werden.
- Der RSI-Indikator kann in einigen Märkten fehlschlagen. Es kann in Kombination mit anderen Indikatoren wie KDJ, MACD usw. in Betracht gezogen werden, um zuverlässigere Überkauf-Überverkaufsurteile zu erzielen.
- Bei Umkehrungen und Kursen können falsche Signale erzeugt werden. Ein Trendfilter kann in Betracht gezogen werden, der nur dann betrieben wird, wenn ein Trend sichtbar ist.
Optimierungsvorschläge:
- Test und Optimierung der Periodenanzahl und der Standardabweichungsparameter der Brinkanäle, um sie besser an die Eigenschaften der verschiedenen Sorten anzupassen.
- Testen und optimieren Sie die Periodiparameter des RSI.
- Versuchen Sie andere Strategien, um Verluste zu stoppen, wie Verlustverfolgung, Verlustzeit usw.
- Mehrfache Modelle mit mehr Trend- und Signalindikatoren.
Zusammenfassung:
Die Strategie verwendet mehrere Indikatoren wie den Brin-Kanal, den RSI und andere, um die Zeit für den Kauf und Verkauf zu bestimmen, und setzt einen Stop-Loss ein, um das Risiko zu kontrollieren, während die Genauigkeit der Handelssignale gewährleistet wird. Es ist jedoch erforderlich, die Parameter für bestimmte Sorten zu optimieren, um die Signale genauer und zuverlässiger zu machen. Darüber hinaus kann man auch erwägen, mehr Faktoren hinzuzufügen, um mehrere Faktoren zu erstellen.
Strategiequellcode
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Custom Strategy", overlay=true)
length = 14
mult = 0.75
atr = atr(length) * mult
// Moving averages
ma15 = sma(close, 15)
ma30 = sma(close, 30)
// Bullish Engulfing pattern
bullishEngulfing = close[1] < open[1] and close > open and close[1] < open and close > open[1]
// Bearish Engulfing pattern
bearishEngulfing = close[1] > open[1] and close < open and close[1] > open and close < open[1]
// RSI
rsi = rsi(close, length)
// Buy condition
if (bullishEngulfing and close[1] > ma15 and rsi > 50)
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", "Buy", stop=close - atr)
// Sell condition
if (bearishEngulfing and close[1] < ma15 and rsi < 50)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", stop=close + atr)
// Plotting
plotshape(series=strategy.position_size > 0, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=strategy.position_size < 0, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")