
Die Strategie nutzt ein Kreuzsignal aus einem 50-Zyklus-Schleif-Moving-Average (SMMA) und einem 20-Zyklus-Simple-Moving-Average (SMA), um zu entscheiden, wann man kauft und verkauft. Es erzeugt ein Kaufsignal, wenn ein schneller SMA einen Aufwärtstrend über den langsameren SMA aufweist. Es erzeugt ein Verkaufsignal, wenn ein schneller SMA einen Abwärtstrend über den SMMA aufweist.
Kombinationen verschiedener Parameter (Zykluszahl, Filterbedingungen usw.) getestet werden können, um die optimale Parameter zu finden;
Das Filtersignal kann mit anderen Faktoren kombiniert werden, wie z. B. einem Anstieg des Umsatzes;
Optimierung der Parameter mit Hilfe eines Parameteroptimierungstools;
Alternative Stoppmethoden, z. B. in Kombination mit Bewegungsstopp, Proportionsstopp und anderen Stoppmethoden, können in Betracht gezogen werden.
Die dynamische Stop-Loss-Marge kann in Verbindung mit der Marktfluktuation berechnet werden.
Die Strategie funktioniert einfach und erfasst die Richtung der Trends durch eine doppelte Gleichgewichtung. Die Strategie nutzt flexible Fix-Stopps und dynamische Stop-Losses, um Gewinne zu sichern und Risiken, nennbare Risiken und Gewinne zu kontrollieren. Die Strategie kann durch Optimierung von Parametern und Regeln weiter an die breitere Marktumgebung angepasst werden.
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("50 SMMA and 20 SMA Crossover with TP and SL", overlay=true)
// Define 50 SMMA
smma50 = sma(close, 50)
// Define 20 SMA
sma20 = sma(close, 20)
// Plotting the SMMA and SMA
plot(smma50, color=color.blue, title="50 SMMA")
plot(sma20, color=color.red, title="20 SMA")
// Initialize TP and SL variables
tp = 150
var float sl_price = na
// Buy Signal
buySignal = crossover(sma20, smma50)
strategy.entry("Buy", strategy.long, when = buySignal)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", profit=tp, loss=sl_price)
// Sell Signal
sellSignal = crossunder(sma20, smma50)
strategy.entry("Sell", strategy.short, when = sellSignal)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", profit=tp, loss=sl_price)
// Update stop loss level on every crossover
if (buySignal or sellSignal)
sl_price := close[bar_index + 1]
// Plot Stop Loss level
plotshape(series=sl_price != na, title="Stop Loss Level", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)