Diese Strategie beinhaltet Bollinger Bands, RSI-Indikator und Multi-Timeframe-Analyse, um die Richtung der mittelfristigen bis langfristigen Trends zu erfassen. Sie identifiziert Trendumkehrpunkte durch Bollinger Bands Breakouts in Kombination mit RSI-Überkauf/Überverkaufssignalen für einen niedrigen Risikobereich. In der Zwischenzeit werden höhere Zeitrahmen angewendet, um die unterschiedlichen Märkte auszufiltern und nicht gefangen zu werden.
Bollinger-Bänder werden angewendet, um Preisbrechungen zu bestimmen. Das mittlere Band ist der gleitende Durchschnitt des Schlusskurses über N Tage. Die oberen und unteren Bande werden auf einer Entfernung von einer Standardabweichung auf beiden Seiten des mittleren Bands platziert.
Einbeziehen Sie den RSI-Indikator, um überkaufte/überverkaufte Niveaus zu identifizieren. Ein RSI über 70 deutet auf überkaufte Bedingungen hin, während unter 30 auf überverkaufte Bedingungen hindeutet. Ein Aufbruch des RSI über 70 bestätigt die Schwächung der Aufwärtsdynamik. Ein Abbruch des RSI unter 30 bestätigt die Schwächung der Abwärtsdynamik.
Wenn ein Ausbruchssignal auf dem täglichen Zeitrahmen erscheint, benötigt es eine zusätzliche Bestätigung aus den 4-Stunden- oder höheren Zeitrahmen, um nicht gefangen zu werden.
Die Integration mehrerer Indikatoren erhöht die Stabilität und Rentabilität der Strategie.
Die Einbeziehung des RSI verringert Verluste durch falsche Ausbrüche.
Die Multi-Time-Frame-Analyse filtert unterschiedliche Märkte effektiv aus und verhindert, dass sie gefangen werden.
Eine optimierte Bestimmung des Breakout-Signals (Breakouts über 3 aufeinanderfolgende Balken) gewährleistet eine ausreichende Trendreife vor den Einträgen.
Vortex-Indikator bestimmt frühzeitig die Richtung des Trends.
Eine unzureichende Parametrierung der Bollinger Bands führt zu falschen Signalen für Überkauf/Überverkauf.
Für verschiedene Produkte müssen angemessene Werte der RSI-Parameter getrennt bestimmt werden.
Die Ausbruchsignale können sich als falsche Ausbrüche erweisen.
Es muss eine ausreichende Stop-Loss-Marge aufrechterhalten werden, z. B. 3-fache ATR.
Anwendung von Algorithmen für maschinelles Lernen zur automatischen Abstimmung von Parametern für Bollinger-Bänder und RSI.
Optimieren Sie die Stop-Loss-Levels anhand von Volatilitätsmetriken.
Einbeziehung eines Positionsdimensionierungsmoduls zur Kalibrierung von Risikopositionen auf der Grundlage veränderter Marktbedingungen.
Einschränkung des maximalen Verlustes pro Handel auf der Grundlage von Geldmanagementprinzipien.
Bewertung der Signalstabilität in verschiedenen Handelssitzungen.
Diese Strategie untersucht umfassend die Trendbestimmung, die Überkauf-/Überverkaufsbedingungen und mehrere Zeitrahmen zur Risikokontrolle und sucht gleichzeitig nach einem optimalen Einstiegszeitpunkt, um qualitativ hochwertige mittelfristige bis langfristige Trends für attraktive Risiko-Rendite-Profile zu erfassen.
/*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"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Noway0utstorm //@version=5 strategy(title='Vortex0.71.3 + bb 3bar breakout + rsi - close hit upper or lower', shorttitle='truongphuthinh', format=format.price, precision=4,overlay = true) length = input(20, title="Length") mult = input(2.0, title="Multiplier") source = close basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upperBand = basis + dev lowerBand = basis - dev isClosedBar = ta.change(time("15")) var bool closeAboveUpperBand = false var bool closeBelowLowerBand = false // Vortex Indicator Settings period_ = input.int(14, title='Period', minval=2) VMP = math.sum(math.abs(high - low[1]), period_) VMM = math.sum(math.abs(low - high[1]), period_) STR = math.sum(ta.atr(1), period_) VIP = VMP / STR VIM = VMM / STR // lengthrsi = input(14, title="RSI Length") overboughtLevel = input(70, title="Overbought Level") oversoldLevel = input(30, title="Oversold Level") sourcersi = close rsiValue = ta.rsi(sourcersi, lengthrsi) shouldShort = rsiValue > overboughtLevel shouldLong = rsiValue < oversoldLevel if bool(isClosedBar[1]) and bool(isClosedBar[2]) and bool(isClosedBar[3]) if close[1] > upperBand[1] and close[2] > upperBand[2] and close[3] > upperBand[3] and VIP > 1.25 and VIM < 0.7 and rsiValue > overboughtLevel strategy.entry("Short", strategy.short) closeAboveUpperBand := false // Reset the condition when entering a new Short position if close[1] < lowerBand[1] and close[2] < lowerBand[2] and close[3] < lowerBand[3] and VIP < 0.7 and VIM > 1.25 and rsiValue < oversoldLevel strategy.entry("Long", strategy.long) closeBelowLowerBand := false // Reset the condition when entering a new Long position if strategy.position_size > 0 // Check if there is an open Long position closeAboveUpperBand := close > upperBand // Update the condition based on close price if closeAboveUpperBand strategy.close("Long",disable_alert=true) // Close the Long position if close price is above upper band if strategy.position_size < 0 // Check if there is an open Short position closeBelowLowerBand := close < lowerBand // Update the condition based on close price if closeBelowLowerBand strategy.close("Short",disable_alert=true) // Close the Short position if close price is below lower band // Plots plot(basis, color=color.orange, title="Basis") p1 = plot(upperBand, color=color.blue, title="Upper Band") p2 = plot(lowerBand, color=color.blue, title="Lower Band") fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))