Dies ist eine Umkehrstrategie, die auf einfachen gleitenden Durchschnitten basiert. Sie verwendet einfache gleitende Durchschnitte von 1 Tag und 5 Tagen. Wenn die kürzere SMA über die längere SMA überschreitet, geht sie lang. Wenn die kürzere SMA unter die längere SMA überschreitet, geht sie kurz. Es ist eine typische Trendstrategie.
Die Strategie berechnet den 1-Tage-SMA (sma1) und den 5-Tage-SMA (sma5) des Schlusskurses. Wenn sma1 über sma5 geht, tritt es in eine Long-Position ein. Wenn sma1 unter sma5 geht, tritt es in eine Short-Position ein. Nach Eröffnung einer Long-Position wird der Stop-Loss auf 5 USD unter dem Einstiegspreis und der Take-Profit auf 150 USD oben festgelegt. Für Short-Positionen beträgt der Stop-Loss 5 USD über dem Einstieg und der Take-Profit 150 USD unten.
Diese einfache Doppel-SMA-Strategie ist leicht zu verstehen und umzusetzen, um die Strategie schnell zu verifizieren. Aber sie hat eine begrenzte Risikotoleranz und ein begrenztes Gewinnpotenzial. Weitere Optimierungen in Parametern und Filtern sind erforderlich, um mehr Marktbedingungen anzupassen. Als Starter-Quant-Strategie enthält sie grundlegende Bausteine für iterative Verbesserungen.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-19 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100) var float lastLongOrderPrice = na var float lastShortOrderPrice = na longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 5)) if (longCondition) strategy.entry("Long Entry", strategy.long) // Enter long shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 5)) if (shortCondition) strategy.entry("Short Entry", strategy.short) // Enter short if (longCondition) lastLongOrderPrice := close if (shortCondition) lastShortOrderPrice := close // Calculate stop loss and take profit based on the last executed order's price stopLossLong = lastLongOrderPrice - 5 // 10 USDT lower than the last long order price takeProfitLong = lastLongOrderPrice + 151 // 100 USDT higher than the last long order price stopLossShort = lastShortOrderPrice + 5 // 10 USDT higher than the last short order price takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price // Apply stop loss and take profit to long positions strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong) // Apply stop loss and take profit to short positions strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)