
Die Strategie ist eine Kreuzungsstrategie, die auf zwei Moving Averages basiert, EMA und SMA. Wenn ein langsamer EMA von unten nach oben durch die schnellere SMA geht, erzeugt dies ein Kaufsignal. Wenn ein langsamer EMA von oben nach unten durch die schnellere SMA geht, erzeugt dies ein Verkaufsignal.
Die Strategie verwendet zwei Moving Averages: den 20-Zyklus-SMA und die 21-Zyklus-EMA. Wenn die EMA von unten nach oben durch die SMA geht, zeigt dies an, dass der Markt möglicherweise einen Aufwärtstrend aufweist, wodurch ein Kaufsignal erzeugt wird. Umgekehrt, wenn die EMA von oben nach unten durch die SMA geht, zeigt dies an, dass der Markt möglicherweise einen Abwärtstrend aufweist, wodurch ein Verkaufssignal erzeugt wird.
Die Linie-Kreuz-Bull-Behandlungs-Band-Strategie ist eine einfache und verständliche Trend-Tracking-Strategie, die speziell für die Entwicklung von Bull-Märkten geeignet ist. Die Strategie hat jedoch auch einige Einschränkungen, wie Falschsignale, Rückstand und begrenzte Fähigkeit zur Trenderkennung. Die Performance und Stabilität der Strategie können durch die Kombination anderer Indikatoren, Optimierungsparameter und die Aufnahme von Stop-Loss-Stopps weiter verbessert werden.
/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © rodrinverte
//@version=5
strategy("EMA-SMA Crossover Strategy", overlay=true, initial_capital = 1000)
// Definir la longitud de las medias móviles
fast = ta.sma(close, 20)
slow = ta.ema(close, 21)
// Definir condiciones de compra y venta
buySignal = ta.crossover(slow, fast)
sellSignal = ta.crossunder(slow, fast)
// Configurar colores de las líneas y relleno
emaColor = buySignal ? color.green : sellSignal ? color.red : color.blue
smaColor = color.gray
fillColor = slow < fast ? color.new(color.green, 90) : color.new(color.red, 90)
// Esperar un periodo para confirmar la señal de compra o venta
buyConfirmation = close > close[1] and buySignal
sellConfirmation = close < close[1] and sellSignal
// Dibujar las medias móviles
plot(slow, title="EMA", color=emaColor)
plot(fast, title="SMA", color=smaColor)
// Configurar las señales de compra y venta
plotshape(buyConfirmation, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellConfirmation, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Estrategia de compra y venta
if (buyConfirmation)
strategy.entry("Buy", strategy.long)
if (sellConfirmation)
strategy.entry("Sell", strategy.short)
// Cerrar posición opuesta al cruce original
if (sellSignal)
strategy.close("Buy")
if (buySignal)
strategy.close("Sell")