Diese Strategie basiert auf den Prinzipien des goldenen Kreuzes und des toten Kreuzes des einfachen gleitenden Durchschnitts (SMA). Die Strategie verwendet zwei SMAs, nämlich schnelle SMA und langsame SMA. Wenn die schnelle SMA von unten über die langsame SMA überschreitet, wird ein Kaufsignal generiert. Wenn die schnelle SMA von oben unter die langsame SMA überschreitet, wird ein Verkaufssignal generiert.
Die Strategie beruht hauptsächlich auf zwei SMA-Indikatorlinien. Die schnelle SMA hat eine kürzere Periode und kann Preisänderungen schneller erfassen. Die langsame SMA hat eine längere Periode und kann etwas Lärm filtern. Wenn die schnelle SMA über die langsame SMA von unten geht, zeigt sie an, dass die kurzfristige steigende Geschwindigkeit schneller ist und ein Kaufsignal erzeugt. Wenn die schnelle SMA unter die langsame SMA von oben geht, zeigt sie an, dass die kurzfristige fallende Geschwindigkeit schneller ist und ein Verkaufssignal erzeugt.
Durch die Festlegung verschiedener SMA-Periodenparameter können die Strategieparameter in gewissem Umfang an unterschiedliche Marktumgebungen angepasst werden.
Zur Bekämpfung der oben genannten Risiken können folgende Maßnahmen ergriffen werden:
Dies ist eine typische Trendfolgestrategie. Durch die Anwendung des einfachen Prinzips des doppelten gleitenden Durchschnitts-Crossovers können gute Tracking-Ergebnisse erzielt werden, wenn die Parameter angemessen eingestellt werden. Allerdings hat der SMA selbst einen gewissen Verzögerungseffekt und kann nicht die Dynamik des Trends bestimmen. Daher müssen in der tatsächlichen Anwendung andere Hilfswerkzeuge eingeführt werden, um eine Indikatorenkombination zu bilden, und ergänzt mit automatisierter Parameteroptimierung und Risikokontrollemittel, um die Strategie stetig profitabel zu machen.
/*backtest start: 2023-12-17 00:00:00 end: 2023-12-18 19:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //strategy(title="MA Cross Entry & Exit w/Date Range", overlay=true, initial_capital=10000, currency='USD') strategy(title="SMA Cross Entry & Exit Strategy", overlay=true) // Credit goes to this developer for the "Date Range Code" // https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/ // === GENERAL INPUTS === // short ma maFastSource = input(defval = open, title = "Fast MA Source") maFastLength = input(defval = 36, title = "Fast MA Period", minval = 1) // long ma maSlowSource = input(defval = open , title = "Slow MA Source") maSlowLength = input(defval = 46, title = "Slow MA Period", minval = 1) // === SERIES SETUP === // a couple of ma's.. maFast = sma(maFastSource, maFastLength) maSlow = sma(maSlowSource, maSlowLength) // === PLOTTING === fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30) slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // === LOGIC === //enterLong = crossover(maFast, maSlow) //exitLong = crossover(maSlow, maFast) enterLong = crossover(maSlow, maFast) exitLong = crossover(maFast, maSlow) // Entry // strategy.entry(id="Long Entry", long=true, when=window() and enterLong) strategy.entry(id="Short Entry", long=false, when=window() and exitLong) // === FILL ==== fill(fast, slow, color = maFast > maSlow ? green : red)