Byron Serpent Cloud Quant Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-18 15:36:22
Tags:

img

Übersicht

Byron Serpent Cloud Quant Strategy kombiniert hauptsächlich Ichimoku-Indikatoren und den zufälligen Indikator RSI, um quantitative Handelsstrategie-Signale zu konstruieren, indem die Urteile der beiden Indikatoren gewichtet werden, wodurch der automatisierte Handel mit Wertpapiersorten erreicht wird.

Strategieprinzip

Diese Strategie verwendet Indikatoren wie Konversionslinien, Basislinien, Lead 1 und Lead 2 in Ichimoku, kombiniert mit K-Linien und D-Linien in StochRSI. Auf der Ichimoku-Seite ist es ein Bullish-Signal, wenn die Konversionslinie über der Basislinie liegt und Lead 1 über Lead 2 liegt. Wenn die Konversionslinie unter der Basislinie liegt und Lead 1 unter Lead 2 liegt, ist es ein starkes Bärensignal. Darüber hinaus kann, wenn die Konversionslinie über oder unter der Basislinie liegt, auch schwache Bullish- oder Bärensignale generiert werden. Auf der StochR-Seite, wenn die K-Linie über der DSI-Linie und die K-Linie unter der Überkauf-Linie und die D-Linie unter der Überkauf-Linie liegt, ist es ein Überkauf-Signal von StochR. Wenn die KSI-Linie unter der D-Linie liegt und die KSI-Linie über der Überkauf-Linie liegt und die D-Linie über der Über

Analyse der Vorteile

Diese Strategie kombiniert Ichimoku- und StochRSI-Indikatoren, um gleichzeitig die Trendrichtung und die Überkauf-/Überverkaufsbedingungen für umfassendere und zuverlässigere Signale zu bestimmen. Im Vergleich zu der Verwendung eines einzigen Indikators kann sie die Erzeugung falscher Signale reduzieren. Der Ichimoku-Indikator ist bei der Beurteilung mittelfristiger und langfristiger Trends ziemlich genau, während der StochRSI-Indikator kurzfristige Überkauf-/Überverkaufsphänomene messen kann, so dass die Strategie für verschiedene Zyklen geeignet ist. Das Design der Hinzufügung von Entscheidungsgewichten macht die Strategie-Signale auch reibungsloser und zuverlässiger. Insgesamt kann diese Strategie automatisch Wendepunkte in den Markttrends bestimmen und Handelssignale mit Vorteilen wie einfacher Bedienung, breiter Anwendbarkeit und stabilen Signalen generieren.

Risikoanalyse

Das größte Risiko dieser Strategie besteht darin, dass sowohl die Ichimoku- als auch die StochRSI-Indikatoren falsche Signale erzeugen können, insbesondere in Bereichsgebundenen Märkten, was unnötige Trades erhöht. Darüber hinaus hat die Einstellung von Gewichten und Parameterwerten auch einen großen Einfluss auf die Effektivität der Strategie. Wenn die Gewichte falsch eingestellt werden, können wichtige Signale verpasst oder zu viele falsche Signale erzeugt werden. Einige wichtige Parameter wie RSI-Länge und StochRSI-Länge müssen ebenfalls getestet und für verschiedene Sorten und Marktumgebungen optimiert werden, da dies sonst die Strategie beeinflussen wird. Schließlich können Datenprobleme auch zu Risiken für die Strategie werden. Wenn die Datenqualität nicht gut ist, wird dies auch zu Signalen in Indikatoren und Abweichungen führen.

Optimierungsrichtlinien

Diese Strategie hat auch ein großes Optimierungspotenzial. Erstens sollten Sie mehr Indikatoren wie Bollinger Bands und KD hinzufügen, um das Signalbeurteil umfassender zu machen. Zweitens sollten Sie maschinelles Lernen oder genetische Algorithmen verwenden, um Parameter automatisch zu optimieren, anstatt feste Parameter zu verwenden, um Strategien intelligenter und anpassungsfähiger zu machen. Drittens sollten Sie erforschen, wie die Indikatoralgorithmen verbessert werden können, um die Erzeugung falscher Signale zu reduzieren. Viertens kann der Gewichtssetting-Mechanismus auch weiter optimiert werden, wie zum Beispiel das Gewicht starker Signale zu erhöhen. Fünftens können Parameter und Regeln für mehr Sorten oder Submärkte optimiert werden, um sich an das sich ständig ändernde Marktumfeld anzupassen.

Zusammenfassung

Byron Serpent Cloud Quant Strategy kombiniert Ichimoku und StochRSI Indikatoren, um Handelssignale durch Gewichtung und Parameterdesign zu bilden, die automatisch die Trendänderungen des Marktes erfassen können und eine gute Anpassungsfähigkeit an verschiedene Sorten und Zyklen haben.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Baracuda Ichimoku/StochRSI Strategy", overlay=true)

DecisionWeight = input(50, minval = 0, title="BUY/SELL decision weight")

ichimokuStrong = input(35, minval = 0, title="Ichimoku strong weight")
ichimokuStandard = input(20, minval = 0, title="Ichimoku standard weight")
ichimokuWeak = input(20, minval = 0, title="Ichimoku weak weight")
stochRSIWweak = input(30, minval = 0, title="Stoch RSI weight")

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(5, minval=1, title="Displacement")

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

lengthRSI = input(8, minval=8) //14
lengthStoch = input(5, minval=5)//14
smoothK = input(3,minval=3) 
smoothD = input(3,minval=3)
OverSold = input(20)
OverBought = input(80)
rsi1 = rsi(close, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)


stronglong = conversionLine > baseLine and leadLine1 > leadLine2
strongshort = conversionLine < baseLine and leadLine1 < leadLine2

weaklong = conversionLine > baseLine
weakshort = conversionLine < baseLine

RSIlong = k > d and k < OverSold and d < OverSold
RSIshort = k < d and k > OverBought and d > OverBought

long=(((stronglong ? 1:0)*ichimokuStrong) + ((weaklong? 1:0)*ichimokuWeak) + ((RSIlong? 1:0)*stochRSIWweak)) > DecisionWeight
short=(((strongshort? 1:0)*ichimokuStrong) + ((weakshort? 1:0)*ichimokuWeak) + ((RSIshort? 1:0)*stochRSIWweak)) > DecisionWeight

strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)

Mehr