Dies ist eine quantitative Handelsstrategie, die auf der Bestätigung einer doppelten Dynamik durchbruch mit Williams % R und Relative Strength Index (RSI) basiert. Die Strategie identifiziert Handelssignale durch die Kreuzdurchbruch von zwei Dynamikindikatoren, effektiv das Risiko von falschen Ausbrüchen zu reduzieren. Es sucht Handelsmöglichkeiten in überkauften und überverkauften Bereichen, Verbesserung der Handelsgenauigkeit durch gegenseitige Bestätigung beider Indikatoren.
Die Strategie verwendet einen 30-Perioden-Williams %R und einen 7-Perioden-RSI als primäre Indikatoren. Ein Kaufsignal wird ausgelöst, wenn Williams %R über -80 und der RSI gleichzeitig über 20 überschreitet; ein Verkaufssignal wird generiert, wenn Williams %R unter -20 und der RSI gleichzeitig unter 80 überschreitet. Dieser doppelte Bestätigungsmechanismus filtert potenzielle falsche Signale aus einzelnen Indikatoren effektiv aus. Die Strategie implementiert die manuelle Berechnung von Williams %R, indem die höchsten und niedrigsten Preise innerhalb des Zeitraums für genauere Indikatorwerte berechnet werden.
Die Strategie baut ein robustes Handelssystem durch die Synergie von Williams %R und RSI auf. Der Dual-Impuls-Bestätigungsmechanismus reduziert effektiv die falschen Signalrisiken, während der Handel in überkauften und überverkauften Zonen ein gutes Gewinnpotenzial bietet. Durch eine angemessene Risikokontrolle und kontinuierliche Optimierung kann die Strategie eine stabile Performance in verschiedenen Marktumgebungen aufreiten.
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Williams %R + RSI Strategy", overlay=true) // Inputs for Williams %R wpr_length = input.int(30, title="Williams %R Length", minval=1) wpr_upper = input.int(-20, title="Williams %R Upper Band", minval=-100, maxval=0) wpr_lower = input.int(-80, title="Williams %R Lower Band", minval=-100, maxval=0) // Inputs for RSI rsi_length = input.int(7, title="RSI Length", minval=1) rsi_upper = input.int(80, title="RSI Upper Band", minval=0, maxval=100) rsi_lower = input.int(20, title="RSI Lower Band", minval=0, maxval=100) // Calculate Williams %R Manually highest_high = ta.highest(high, wpr_length) lowest_low = ta.lowest(low, wpr_length) wpr = ((highest_high - close) / (highest_high - lowest_low)) * -100 // Calculate RSI rsi = ta.rsi(close, rsi_length) // Entry and Exit Conditions longCondition = ta.crossover(wpr, wpr_lower) and ta.crossover(rsi, rsi_lower) shortCondition = ta.crossunder(wpr, wpr_upper) and ta.crossunder(rsi, rsi_upper) // Plot Buy/Sell Signals plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy Entry and Exit if (longCondition) strategy.entry("Buy", strategy.long) if (shortCondition) strategy.entry("Sell", strategy.short)