
Die Strategie ist ein Handelssystem, das auf dem 22-periodigen Index Moving Average (EMA) basiert. Es erzeugt Handelssignale durch die Kreuzung von Preisen mit EMAs und verwendet adaptive Schwingungshöhen und Tiefen, um Stop-Loss-Positionen zu setzen. Diese Methode garantiert sowohl die grundlegenden Funktionen des Trend-Trackings als auch die Flexibilität des Risikomanagements.
Die Kernlogik der Strategie umfasst die folgenden Schlüsselelemente:
Es handelt sich um eine strukturierte, logisch klare Trendverfolgungsstrategie. Durch die Kreuzung von EMAs wird ein Handelssignal erzeugt, das die Risiken der Schwankungen nutzt, um ein ausgewogenes Handelssystem zu bilden. Der Hauptvorteil der Strategie liegt in ihrer Fähigkeit, sich dynamisch an die Märkte anzupassen, während das Hauptrisiko aus Veränderungen der Marktlage resultiert. Die Stabilität und Profitabilität der Strategie werden durch die empfohlene Optimierungsrichtung voraussichtlich weiter verbessert.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © GlenMabasa
//@version=6
strategy("22 EMA Crossover Strategy", overlay=true)
// Input for the EMA length
ema_length = input.int(22, title="EMA Length")
// Calculate the 22-day Exponential Moving Average
ema_22 = ta.ema(close, ema_length)
// Plot the 22 EMA
plot(ema_22, color=color.blue, title="22 EMA")
// Buy condition: Price crosses and closes above the 22 EMA
buy_condition = ta.crossover(close, ema_22) and close > ema_22
// Sell condition: Price crosses or closes below the 22 EMA
sell_condition = ta.crossunder(close, ema_22) or close < ema_22
// Swing high and swing low calculations
swing_high_length = input.int(14, title="Swing High Lookback")
swing_low_length = input.int(14, title="Swing Low Lookback")
swing_high = ta.highest(high, swing_high_length) // Previous swing high
swing_low = ta.lowest(low, swing_low_length) // Previous swing low
// Profit target and stop loss for buys
buy_profit_target = swing_high
buy_stop_loss = swing_low
// Profit target and stop loss for sells
sell_profit_target = swing_low
sell_stop_loss = swing_high
// Plot buy and sell signals
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy logic for backtesting
if (buy_condition)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Buy", limit=buy_profit_target, stop=buy_stop_loss)
if (sell_condition)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", "Sell", limit=sell_profit_target, stop=sell_stop_loss)