Hochfrequenz-Hedging-Strategie basierend auf MACD-Säulenfarbe und linearer Regression


Erstellungsdatum: 2023-10-27 10:42:54 zuletzt geändert: 2023-10-27 10:42:54
Kopie: 0 Klicks: 871
1
konzentrieren Sie sich auf
1617
Anhänger

Hochfrequenz-Hedging-Strategie basierend auf MACD-Säulenfarbe und linearer Regression

Überblick

Die Strategie kombiniert MACD-Pillarfarbe und lineare Regression, um durch eine geschickte Kombination von hochfrequenten Reversal-Trading, besonders geeignet für Short-Line-Arbitrage und Absicherung, gehört zu den typischen marktneutralen Strategien.

Strategieprinzip

Die Strategie besteht aus folgenden Teilen:

  1. Die Farbe der MACD-Säule dient als Trendbeurteilungsindikator. Wenn die Farbe der MACD-Säule grün ist, ist sie im Aufwärtstrend, und es werden keine Leerpositionen gemacht. Wenn die Farbe der MACD-Säule rot ist, ist sie im Abwärtstrend, und es werden keine Überpositionen gemacht.

  2. Lineare Regression als wichtiger Handelssignalindikator. Wenn der Preis von unten durch eine lineare Regression geht, machen Sie einen Plus; wenn der Preis von oben durch eine lineare Regression geht, machen Sie einen Minus.

  3. Der PAC-Kanal besteht aus hohen, niedrigen und schließenden EMAs, um die Richtung der linearen Regression zu bestimmen. Ein Handelssignal wird nur erzeugt, wenn die Richtung der linearen Regression dem Trend innerhalb des Kanals entspricht.

  4. Der EMA 89 als Stop-Line, der Schaden wird ausgeschaltet, wenn der Preis die Linie wieder durchbricht.

Die Logik der Erzeugung von Handelssignalen ist:

Mehrkopfsignal: lineare Rückkehr nach oben durch den PAC-Kanal und lineare Rückkehr nach oben und die MACD-Säule ist nicht rot Hohes Signal: Linearer Rückgang nach unten durch den PAC-Kanal und linearer Rückgang nach unten und die MACD-Säule ist nicht grün

Stopp- und Ausstiegssignal: Preis unter EMA 89

Die Strategie kombiniert Trendbeurteilung und kritische Preisniveaus, um eine hohe Frequenz von Hedging-Trading zu ermöglichen.

Analyse der Stärken

  1. Verwenden Sie die Farbe der MACD-Säule, um einen Trend zu erkennen, um einen Abwärtstrend zu vermeiden.

  2. Die lineare Regression ist glatt und kann zum Teil Geräusche filtern.

  3. Die EMA-Formationskanäle definieren klar die Richtungen der Phobie.

  4. Die Stop-Loss-Linie ist vernünftig eingestellt, um maximale Gewinne zu garantieren.

  5. Hochfrequenz-Strategie für den Prozesshandel.

  6. Die Investitionen sind in der Lage, die Risiken zu überwinden, die sich auf die Risiken auswirken.

Risikoanalyse

  1. Lineare Regression und Gangways erfordern eine bestimmte Parameteroptimierung, sonst kann es zu Fehlfunktionen kommen.

  2. Bei starken Erschütterungen kann die Schadensbegrenzung häufiger ausgelöst werden. Die Schadensbegrenzung kann entsprechend erweitert werden.

  3. Bei einer hohen Anzahl von Transaktionen ist auf die Auswirkungen der Gebühren zu achten.

  4. Der MACD-Indikator weist eine gewisse Verzögerung auf und kann eine kurzfristige Trendwende verpassen.

  5. Die EMA-Kanäle müssen auch kontinuierlich optimiert werden, um sich an Marktveränderungen anzupassen.

Optimierungsrichtung

  1. Anpassung der linearen Regression und der Durchgangsparameter, um die Kennzahlen besser an die Eigenschaften der verschiedenen Sorten anzupassen.

  2. Erleichtern Sie die Stop-Loss-Marge und stellen Sie sicher, dass der Stop-Loss-Verhältnis größer als 1 ist.

  3. Optimierung der MACD-Parameter, um mehr kurzfristige Signale zu erfassen.

  4. Versuchen Sie es mit anderen Indikatoren als mit linearen Regressionen, wie z.B. der Brink-Linie.

  5. Erhöhung der Positionskontrolle, um einseitige Verluste zu verhindern.

  6. Der RSI und andere Indikatoren filtern teilweise die Handelssignale.

Zusammenfassen

Die Strategie nutzt verschiedene technische Indikatoren, um eine hohe Frequenz des Hedging-Handels zu realisieren. Ihr Vorteil besteht darin, kurzfristige Umkehrungen zu erfassen. Die Risikokontrolle ist vernünftig und eignet sich hervorragend für Zeiten von Marktschwankungen.

Strategiequellcode
/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// strategy("Sonic R + Linear Reg + Kumo Cloud + Barcolor MACD", overlay=true,default_qty_value=10000,initial_capital=200,currency=currency.USD, pyramiding=1)
EMA = input(defval=89, title="EMA Signal")
HiLoLen     = input(34, minval=2,title="High Low channel Length")
pacC        = ema(close,HiLoLen)
pacL        = ema(low,HiLoLen)
pacH        = ema(high,HiLoLen)
DODGERBLUE = #1E90FFFF
// Plot the Price Action Channel (PAC) base on EMA high,low and close//
L=plot(pacL, color=DODGERBLUE, linewidth=1, title="High PAC EMA",transp=90)
H=plot(pacH, color=DODGERBLUE, linewidth=1, title="Low PAC EMA",transp=90)
C=plot(pacC, color=DODGERBLUE, linewidth=2, title="Close PAC EMA",transp=80)
//Moving Average//
signalMA =ema(close,EMA)
plot(signalMA,title="EMA Signal",color=black,linewidth=3,style=line)
linereg = linreg(close, EMA, 0)
plot(linereg, color = orange, title = "Linear Regression Curve", style = line, linewidth = 1)
//////ICHIMOKU/////////
conversionPeriods = input(9),
basePeriods = input(26, minval=1, title="Base Line")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span"),
displacement = input(26, minval=1)
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine) 
leadLine2 = donchian(laggingSpan2Periods-1)
p1 = plot(leadLine1, offset = displacement-1, color=gray,title="Senkou span A", transp=90)
p2 = plot(leadLine2, offset = displacement-1, color=gray, title="Senkou span B", transp=90)
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red, title="Kumo Cloud")
///////////////// MACD BARCOLOR /////////////////////
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
hisup= iff(delta>delta[1] and delta>0, 1,
	     iff(delta<delta[1], -1, nz(hisup[1], 0)))
hisdown = iff(delta<delta[1] and delta<0, 1,
	     iff(delta>delta[1], -1, nz(hisdown[1], 0)))
barcolor(hisup==1 and MACD>0 ? lime: hisdown==1 and MACD<0 ? red : blue )
///////////// SIGNAL ///////////////
conbuy = iff(crossover(linereg,pacL) and rising(linereg,5), 1,
	     iff(crossover(linereg,pacH) or (crossunder(linereg,pacL) and pacL<signalMA), -1, nz(conbuy[1], 0)))
consell = iff(crossunder(linereg,pacH) and falling(linereg,5), 1,
	     iff(crossunder(linereg,pacL) or (crossover(linereg,pacH) and pacH>signalMA), -1, nz(consell[1], 0)))
golong= conbuy==1 and close>open and open<pacH and close>linereg and hisdown!=1
goshort= consell==1 and close<open and open>pacL and close<linereg and hisup!=1
if(golong)
    strategy.entry("Buy",strategy.long)
if(goshort)
    strategy.entry("Sell",strategy.short)
closelong= conbuy==-1
closeshort=consell==-1
if(closelong)
    strategy.close("Buy")
if(closeshort)
    strategy.close("Sell")
 ////////////// TP and SL//.
//SL = input(defval=200.00, title="Stop Loss Point", type=float, step=1)
//rr= input(defval=0.1,title="Reward/Risk",type=float)
//useTPandSL = input(defval = false, title = "Use exit order strategy?")
//Stop = SL
//Take=SL*rr
//Q = 100
//if(useTPandSL)
//    strategy.exit("Out Long", "Buy", qty_percent=Q, profit= Take, loss=Stop)
//    strategy.exit("Out Short", "Sell", qty_percent=Q, profit= Take, loss=Stop)