
Die Binär-Equilibrium-Cross-Short-Line-Strategie ist eine einfache und effiziente Short-Line-Handelsstrategie. Die Strategie nutzt die Kreuzung von Preisen und Moving Averages als Kauf- und Verkaufssignal, um die tendenziellen Preisschwankungen innerhalb der Short-Line zu erfassen.
Die Binary Equilibrium Crossover-Strategie verwendet zwei unterschiedliche Perioden des Moving Averages, eine kürzere MA-Linie und eine längere MA-Linie. Es erzeugt ein Kaufsignal, wenn die kurze MA-Linie die lange MA-Linie von unten durchbricht; es erzeugt ein Verkaufsignal, wenn die kurze MA-Linie von oben nach unten fällt und die lange MA-Linie durchbricht.
Die Strategie definiert zunächst die Länge der Variablen length, die einen langen Zeitraum MA mit einer Länge von 50 angeben, dann die Länge der Variablen price als Schließungspreis, berechnet die Länge als MA-Linie und speichert diese in der Variablen ma. Dann wird bcond definiert, um zu entscheiden, ob price höher als ma ist, und bcount plus 1 oder null. Wenn bcond in Folge die Anzahl der ConfirmBars auslöst ((default 2), wird ein Kaufsignal erzeugt.
Zur Filterung der ungültigen Signale wurden drei Filterbedingungen hinzugefügt: clc, clc0 und clc1. Diese drei Bedingungen bestimmen die Beziehung zwischen der aktuellen Periode und der Größe des Schlusskurses der vorherigen Periode sowie die Beziehung zwischen dem Schlusskurs der aktuellen Periode und dem Schlusskurs der vorherigen Periode.
Schließlich werden die entsprechenden Über- oder Leerpositionen ausgeglichen, wenn der Preis wieder auf die Oberbahn fällt oder die Unterbahn wieder durchbricht.
Um das Risiko zu verringern, können Sie die Durchschnittsparameter an die Dynamik der Marktfluktuation anpassen. Sie können auch einen abweichenden Stop-Loss oder einen Prozentsatz-Stop-Loss verwenden, um den Stop-Loss-Punkt flexibel anzupassen.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der Parameter des Mittelliniensystems, z. B. die dynamische Anpassung der Mittellinienlänge an Indikatoren wie die Marktfluktuation.
Zusätzliche Filterbedingungen, wie z.B. Überschneidungen, werden hinzugefügt, um die Signalqualität zu verbessern.
Optimierung von Stop-Loss-Strategien, wie z. B. Floating-Stopps oder Prozentsatz-Stopps, um die Wahrscheinlichkeit eines vorzeitigen Stop-Losses zu verringern.
In Kombination mit anderen Indikatoren, wie MACD, RSI, etc., wird eine Multifaktor-Verifizierung durchgeführt, um die Signalwirksamkeit zu verbessern.
Erweiterung der automatischen Risikomanagement-Strategien, wie z. B. dynamische Anpassung der Positionsgröße und Kontrolle von Einzelschäden.
Die Einführung von maschinellen Lernmethoden für Kauf- und Verkaufssignale ermöglicht die Erstellung eines präziseren Modells zur Signalbeurteilung.
Die Double Equilibrium Cross Short Line Strategie insgesamt ist eine sehr praktische Short Line-Handelsstrategie mit Vorteilen wie einfache Bedienung und einfache Umsetzung. Es ist jedoch erforderlich, die falschen Signale des Schaukelmarktes zu kontrollieren und Verbesserungen wie die Optimierung der dynamischen Parameter vorzunehmen, um die Strategie optimal zu nutzen. In Kombination mit Stop-Loss-Management- und Risikokontrollen kann die Stabilität der Strategie weiter verbessert werden.
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("MovingAvg Cross", overlay=true)
length = input(50)
confirmBars = input(2)
price = close
ma = sma(price, length)
bcond = price > ma
bcount = 0
bcount := bcond ? nz(bcount[1]) + 1 : 0
clc=close[0]>close[1]
clc0=close[0]>open[0]
clc1=close[1]>open[1]
if clc and clc0 and clc1 and (bcount == confirmBars)
strategy.entry("buy", strategy.long)
scond = price < ma
scount = 0
scount := scond ? nz(scount[1]) + 1 : 0
csc=close[0]<close[1]
csc0=close[0]<open[0]
csc1=close[1]<open[1]
if csc and csc0 and csc1 and (scount == confirmBars)
strategy.entry("sell", strategy.short)
strategy.close("buy", when=scond)
strategy.close("sell",when=bcond)
plot(ma, color=color.red)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)