Die von HedgerLabs entwickelte Mean Reversion with Incremental Entry Strategie ist ein fortschrittliches Handelsstrategieskript, das sich auf die Mean Reversion-Technik auf den Finanzmärkten konzentriert.
Der Mittelpunkt dieser Strategie ist der Simple Moving Average (SMA), um den sich alle Ein- und Ausstiege drehen.
Einzigartig an dieser Strategie ist das inkrementelle Einstiegssystem. Es startet eine erste Position, wenn der Preis um einen bestimmten Prozentsatz von der MA abweicht. Nachfolgende Einträge werden dann in inkrementellen Schritten, wie vom Händler definiert, durchgeführt, wenn sich der Preis weiter von der MA entfernt. Dies zielt darauf ab, von steigender Volatilität zu profitieren.
Die Strategie verwaltet Positionen intelligent, indem sie bei einem Kurs unter dem MA lang und bei einem Kurs über dem MA kurz geht, um sich an sich ändernde Marktbedingungen anzupassen.
Ausgänge werden bestimmt, wenn der Preis den MA berührt, mit dem Ziel, Positionen an potenziellen Umkehrpunkten für optimierte Ergebnisse zu schließen.
Mit aktiviertem Calc_on_every_tick bewertet die Strategie den Markt kontinuierlich, um eine rasche Reaktion zu gewährleisten.
Die Strategie der mittleren Umkehrung mit inkrementellem Eintritt hat folgende Hauptvorteile:
Zu den zu berücksichtigenden Risiken gehören:
Ausgänge können optimiert, Trendfilter hinzugefügt und die Positionsgröße reduziert werden, um die oben genannten Risiken zu mindern.
Die Strategie kann verbessert werden, indem
Die Mean Reversion mit Incremental Entry Strategie konzentriert sich auf Mean Reversion-Techniken mit einem systematisierten Inkrementellen Positionsgrößenansatz. Mit anpassbaren Einstellungen ist sie an verschiedene Handelsinstrumente angepasst.
/*backtest start: 2023-12-29 00:00:00 end: 2024-01-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Mean Reversion with Incremental Entry by HedgerLabs", overlay=true, calc_on_every_tick=true) // Input for adjustable settings maLength = input.int(30, title="MA Length", minval=1) initialPercent = input.float(5, title="Initial Percent for First Order", minval=0.01, step=0.01) percentStep = input.float(1, title="Percent Step for Additional Orders", minval=0.01, step=0.01) // Calculating Moving Average ma = ta.sma(close, maLength) // Plotting the Moving Average plot(ma, "Moving Average", color=color.blue) var float lastBuyPrice = na var float lastSellPrice = na // Function to calculate absolute price percentage difference pricePercentDiff(price1, price2) => diff = math.abs(price1 - price2) / price2 * 100 diff // Initial Entry Condition Check Function initialEntryCondition(price, ma, initialPercent) => pricePercentDiff(price, ma) >= initialPercent // Enhanced Entry Logic for Buy and Sell if (low < ma) if (na(lastBuyPrice)) if (initialEntryCondition(low, ma, initialPercent)) strategy.entry("Buy", strategy.long) lastBuyPrice := low else if (low < lastBuyPrice and pricePercentDiff(low, lastBuyPrice) >= percentStep) strategy.entry("Buy", strategy.long) lastBuyPrice := low if (high > ma) if (na(lastSellPrice)) if (initialEntryCondition(high, ma, initialPercent)) strategy.entry("Sell", strategy.short) lastSellPrice := high else if (high > lastSellPrice and pricePercentDiff(high, lastSellPrice) >= percentStep) strategy.entry("Sell", strategy.short) lastSellPrice := high // Exit Conditions - Close position if price touches the MA if (close >= ma and strategy.position_size > 0) strategy.close("Buy") lastBuyPrice := na if (close <= ma and strategy.position_size < 0) strategy.close("Sell") lastSellPrice := na // Reset last order price when position is closed if (strategy.position_size == 0) lastBuyPrice := na lastSellPrice := na