Kurzfristige quantitative Handelsstrategie basierend auf mehreren Indikatoren


Erstellungsdatum: 2023-09-14 19:46:55 zuletzt geändert: 2023-09-14 19:46:55
Kopie: 1 Klicks: 785
1
konzentrieren Sie sich auf
1617
Anhänger

Dieser Artikel beschreibt eine kurzfristige quantitative Handelsstrategie mit einer Kombination aus mehreren Indikatoren. Die Strategie verwendet eine Gruppe von starken technischen Indikatoren, um Handelssignale in niedrigen Zeiträumen (z. B. 15 Minuten) zu erzeugen.

  1. Strategische Grundlagen

Im Zentrum der Strategie steht die Verwendung einer Kombination aus verschiedenen Indikatoren, darunter:

(1) Doppel-Gleichlinien-System: Berechnung zweier Hull-Moving-Averagen, die die Richtung des Trends anhand ihrer Kreuzbeziehungen bestimmen.

(2) Ichimoku-System: Berechnung von Übergangslinien, Referenzlinien usw. und Kombination von Trend- und Unterstützungswiderstandsurteilen in Cloud-Grafiken.

(3) Donchian-Kanal: Durch Höchst- und Tiefstpreise wird ein Kanal gebaut, um einen Preisbruch zu beurteilen.

(4) MACD: Berechnung der MACD und der Signalleitungen und Ausführung von Operationen anhand ihrer Kreuzung.

Wenn sich diese Indikatoren auf eine Trendbeurteilung einigen, erzeugen sie ein zuverlässigeres Handelssignal. Die konkrete Logik ist:

Wenn die schnelle Hull MA über die langsame Hull MA, UND die Ichimoku-Linie über die Wolkenkarte UND die Donchian-Kanal-Brechung UND die Signal-Linie über die MACD durchbricht, tun Sie mehr; stattdessen beurteilen Sie, dass es leer ist.

Die Entwicklung der K-Linie-Abschlusskosten pro Tag ist ein Hilfsmittel, um eine Umkehrung zu vermeiden.

Darüber hinaus beinhaltet die Strategie eine Stop-Loss- und Stop-Stop-Logik, die die Risiko-Rendite eines einzelnen Handels kontrolliert.

  1. Strategische Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sich die Kombination von Indikatoren ergänzt, was die Signalqualität verbessert. Verschiedene Indikatoren beurteilen Trends aus mehreren Perspektiven, und nur ein einheitlicher Konsens erzeugt Signale, was die Einschränkung eines einzelnen Indikators vermeidet.

Zweitens ist die Kombination aus mehreren Zeitzyklen ein großer Vorteil. Die Hilfsurteile des täglichen Kline filtern das Risiko aus, dass die Low-Zyklen kurzfristig eingeschlossen werden.

Die Strategie beinhaltet eine Stop-Loss-Stopp-Mechanismus, der das Risiko für jeden einzelnen Handel kontrolliert.

  1. Potenzielle Risiken

Obwohl die Strategie so konzipiert ist, sind folgende Risiken im Handel zu beachten:

Erstens erhöht die Kombination von mehreren Kennzahlen die Schwierigkeit der Parameteroptimierung, und eine falsche Einstellung kann zu einer Überoptimierung führen.

Zweitens kann bei starken Trends ein Stop-Loss durch einen Durchbruch verursacht werden.

Schließlich gibt es auch Situationen, in denen complexesignals schwer zu beurteilen sind.

Insgesamt ist diese Strategie eine effektive Short-Line-Quantifizierungsstrategie, die sich durch die Kombination der logischen Wissenschaft und die kontinuierliche Optimierung durch Parameter-Tests verbessert.

Vier Inhalte, Zusammenfassung

Dieser Artikel beschreibt eine Short-Line-Quantitative-Trading-Strategie mit einer Kombination aus mehreren Indikatoren. Sie kombiniert Indikatoren wie Binary Equivalent, Ichimoku, Donchian Channel und MACD, um die Signalqualität zu verbessern. Gleichzeitig wird die Risikobewertung mit mehreren Zeiträumen und Stop-Loss-Stop-Logik kontrolliert.

Strategiequellcode
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Custom 15m strat",overlay=true)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", step=0.0001)`
SL = input(defval=-500.00, title="Stop Loss in $", step=1)
TP = input(defval=25000.00, title="Target Point in $", step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength) //macd
aMACD = ema(MACD, MACD_Length) //signal
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
    strategy.entry("Short",strategy.short)

a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
//plot(longCondition == true ? 4000:4100,title="long")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart