Die Great Delight Multifaktor-Quantitative Strategie kombiniert mehrere technische Indikatoren, einschließlich gleitender Durchschnitte, des MACD und der Ichimoku-Wolke, als eine trendfolgende langfristige Strategie.
Durch die Berücksichtigung sowohl langfristiger als auch kurzfristiger Trends sowie der Mehrfach-Faktor-Verifizierung kann diese Strategie Lärmgeschäfte durch falsche Ausbrüche effektiv filtern.
Wenn der Preis über dem 200-Tage-MA liegt, glaubt die Strategie, dass sich der Markt in einem Bullentrend befindet. Solange die 20-Tage-MA- und MACD-Indikatoren gleichzeitig ein Kaufsignal erzeugen und der Preis höher als der höchste Ichimoku-Cloud-Preis oder innerhalb der Cloud ist, wird ein Kaufsignal erzeugt.
Wenn der Preis unter den 200-Tage-MA bricht, bestimmt die Strategie, dass ein Bärentrend begonnen hat. Die Signalanforderungen werden jetzt strenger: Zusätzlich zu den 20-Tage-MA- und MACD-Kaufsignalen muss die Ichimoku-Wolke auch ein Kaufsignal (grüne Wolke oder Preis über der Wolke) geben, bevor sie einen Kauf auslöst.
Die Verkaufssignallogik ist ähnlich, aber umgekehrt: In einem Bullenmarkt schließt sich eine Kerze unterhalb des Wolkenbodens oder der Wolkenflip-Trigger zum Verkauf; in einem Bärenmarkt treten die roten Wolken oder die 20-tägigen MA- und MACD-Verkaufssignale zum Verkauf ein.
Der größte Vorteil dieser Strategie liegt in der Kombination mehrerer langfristiger und kurzfristiger Indikatoren zur Bestimmung der Marktsituation, die falsche Signale effektiv filtern kann.
Durch mehrschichtige Überprüfungen kann die Rentabilitätsrate erheblich verbessert werden, und die Koordinierung zwischen langfristigen und kurzfristigen Indikatoren macht die Strategie auch für kurz- und mittelfristige Operationen geeignet.
Das Hauptrisiko dieser Strategie ist die Wahrscheinlichkeit, dass mehrere Indikatoren gleichzeitig falsche Signale geben.
Die Strategie kann aus folgenden Gesichtspunkten optimiert werden:
Die Great Delight-Strategie filtert durch wissenschaftliche Kombinationen von Indikatoren Lärm aus und ermöglicht eine anhaltende Rentabilität bei gleichzeitiger Kontrolle von Risiken. Durch die Berücksichtigung sowohl langfristiger Trends als auch kurzfristiger Chancen ist sie in mittelfristigen und langfristigen Investitionen weit verbreitet. Weitere Leistungsverbesserungen können durch Optimierungen wie Parameter-Tuning, Stop-Loss-Zusätze und die Einführung von maschinellem Lernen erwartet werden.
/*backtest start: 2023-11-03 00:00:00 end: 2023-12-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="MACD/EMA/SMA/Ichimoku Long Strategy",overlay=true) // Ichimoku 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) 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 ? color(green,50) : color(red,50)) bottomcloud=leadLine2[displacement-1] uppercloud=leadLine1[displacement-1] // SMA Indicator - Are we in a Bull or Bear market according to 200 SMA? SMA200 = sma(close, input(200)) EMA = ema(close,input(20)) //MACD Indicator - Is the MACD bullish or bearish? fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD // Set Buy/Sell conditions [main,signal,histo]=macd(close,fastLength,slowlength,MACDLength) buy_entry = if ((uppercloud>bottomcloud or close>max(uppercloud,bottomcloud)) and close>EMA and (delta>0 and close>min(uppercloud,bottomcloud))) or (close<SMA200 and delta>0 and close>EMA and (uppercloud>bottomcloud or close>max(uppercloud,bottomcloud))) true if close<EMA and ((delta<0 and close<min(uppercloud,bottomcloud)) or (uppercloud<bottomcloud and close>max(uppercloud,bottomcloud))) buy_entry = false strategy.entry("Buy",true , when=buy_entry) alertcondition(buy_entry, title='Long', message='Chart Bullish') sell_entry = if ((uppercloud<bottomcloud or close<min(uppercloud,bottomcloud)) and close<EMA and (delta<0 and close<max(uppercloud,bottomcloud))) or (close>SMA200 and delta<0 and close<EMA and (uppercloud<bottomcloud or close<min(uppercloud,bottomcloud))) true if close>EMA and ((delta>0 and close>max(uppercloud,bottomcloud)) or (uppercloud>bottomcloud and close<min(uppercloud,bottomcloud))) sell_entry = false strategy.close("Buy",when= sell_entry) alertcondition(sell_entry, title='Short', message='Chart Bearish') //plot(delta, title="Delta", style=cross, color=delta>=0 ? green : red )