Ich möchte das Double_Smoothed_abs_pc bekommen.
Durch den Vergleich des TSI-Wertes mit seiner Signallinie tsi_signal können Überkauf- oder Überverkaufszonen ermittelt und somit Kauf- und Verkaufspunkte festgelegt werden.
Kaufsignal: TSI überquert sein Signal nach oben, was auf eine Umkehrung des Aktienkurses hinweist, was den Beginn einer überkauften Zone markiert, in der wir lang sein sollten.
Verkaufssignal: TSI kreuzt unter seinem Signal nach unten, was auf eine Umkehrung des Aktienkurses hinweist, was das Ende der Überkaufzone markiert, wo wir ausverkaufen sollten.
Der größte Vorteil dieser Strategie liegt in der Verwendung des doppelten gleitenden Durchschnittsindikators, um zyklische Merkmale in den Aktienkursen zu identifizieren.
Darüber hinaus wird in dieser Strategie der TSI-Index anstelle anderer gemeinsamer technischer Indikatoren gewählt, da der TSI mehr Aufmerksamkeit der Berechnung der Preisänderungsdynamik gewidmet wird, die überkaufte/überverkaufte Bedingungen genauer beurteilen kann, was zu besseren Handelsplätzen führt.
Das größte Risiko dieser Strategie besteht darin, dass der Doppel gleitende Durchschnitt selbst sehr empfindlich auf Preisänderungen reagiert. Im Falle von Preisschwankungen kann er leicht falsche Signale erzeugen. Darüber hinaus sind die Kriterien für TSI zur Beurteilung von Überkauf-/Überverkaufszonen immer noch subjektiv, und unsachgemäße Parameter-Einstellungen wirken sich auch auf die Genauigkeit aus.
Um solche Risiken zu kontrollieren, ist es ratsam, die Parameter angemessen zu optimieren, indem die Längen der doppelten gleitenden Durchschnitte angepasst werden. Die Kombination anderer Indikatoren zur Überprüfung von Signalen ist auch notwendig, um die Eröffnung von Positionen unter Volatilität zu vermeiden. Darüber hinaus ist die Optimierung von Stop-Loss-Strategien und die Einrichtung von Risikokontrollmaßnahmen gegen Notfälle sehr wichtig.
Die Optimierungsrichtungen dieser Strategie konzentrieren sich hauptsächlich auf zwei Aspekte:
Die optimale Kombination von Parametern wie Länge des langen und kurzen gleitenden Durchschnitts und Signallinie kann zurück getestet werden, um die Empfindlichkeit zu verbessern.
Sie können auch Filter für das Handelsvolumen verwenden, wenn Sie nur geöffnete Positionen mit einem hohen Volumen haben.
Fügen Sie eine Stop-Loss-Strategie hinzu. Setzen Sie einen beweglichen Stop-Loss ein, einen zeitlich begrenzten Ausgang, um den Verlust einer einzigen Position zu begrenzen. Außerdem können wir den Handel vorübergehend auf Basis der Marktbedingungen aussetzen, um das systematische Risiko zu kontrollieren.
Optimieren Sie die Positionsgröße und setzen Sie dynamische Größe und Anteil der Positionen auf Basis der Marktbedingungen ein, um die Risikoposition jedes Handels zu verwalten.
Diese Strategie nutzt die Berechnungsmethode des Dual Moving Average Oscillator Index und integriert sowohl die langfristige als auch die kurzfristige Analyse von Kursdynamikveränderungen, wodurch Überkauf- und Überverkaufszonen bestimmt werden, um Ein- und Ausgänge zu bestimmen. Im Vergleich zu einem einzelnen gleitenden Durchschnitt hat sie den Vorteil eines genaueren und empfindlicheren Urteils. Natürlich ist eine angemessene Parameteroptimierung noch erforderlich, gepaart mit anderen Indikatoren für die Signalfilterung, um die Stabilität und Rentabilität zu verbessern. Insgesamt bietet diese Strategie ein effektives technisches Werkzeug zur Bestimmung von Handelspunkten, das es wert ist, live getestet und optimiert zu werden.
/*backtest start: 2023-01-29 00:00:00 end: 2024-02-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © shankardey7310 //@version=5 strategy("TSI STOCKS", shorttitle="TSI", overlay=true) initialCapital = input(10000, title="Initial Capital") riskPercent = input(1, title="Risk Percentage") / 100 longLength = input(12, title="Long Length") shortLength = input(9, title="Short Length") signalLength = input(12, title="Signal Length") price = close pc = ta.change(price) double_smooth(src, long, short) => first_smooth = ta.ema(src, long) ta.ema(first_smooth, short) double_smoothed_pc = double_smooth(pc, longLength, shortLength) double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) tsi_signal = ta.ema(tsi_value, signalLength) riskAmount = (initialCapital * riskPercent) / close if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1]) strategy.entry("Long", strategy.long) if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1]) strategy.close("Long") plot(tsi_value, title="True Strength Index", color=#2962FF) plot(tsi_signal, title="Signal", color=#E91E63) hline(0, title="Zero", color=#787B86)