
Die Strategie basiert auf dem Gold- und Forksprinzip eines einfachen Moving Averages (SMA). Die Strategie verwendet zwei SMAs, den schnellen SMA und den langsamen SMA, um ein Kaufsignal zu erzeugen, wenn der schnelle SMA den langsamen SMA von unten durchbricht; ein Verkaufsignal wird erzeugt, wenn der schnelle SMA den langsamen SMA von oben nach unten durchbricht.
Die Strategie beruht hauptsächlich auf zwei SMA-Indikatorlinien. Eine kürzere Einstellung während des schnellen SMA ermöglicht eine schnellere Erfassung der Preisänderung. Eine längere Einstellung während des langsamen SMA filtert den Lärm.
Durch die Einstellung verschiedener SMA-Zyklusparameter können die Parameter der Strategie in gewisser Weise an die unterschiedlichen Marktbedingungen angepasst werden. Die Strategie erlaubt außerdem die Einstellung eines Zeitrahmens, um die Strategieparameter auf historischen Daten zu testen.
Die folgenden Maßnahmen können gegen diese Risiken eingesetzt werden:
Diese Strategie gehört zu den typischen Trend-Tracking-Strategien. Die Anwendung eines einfachen Doppelgleichslinien-Kreuzungsprinzips ermöglicht die Erzielung einer besseren Tracking-Effekt, wenn die Parameter angemessen eingestellt sind. Die SMA selbst ist jedoch etwas zurückgeblieben und kann die Stärke der Trends nicht beurteilen. Daher müssen in der Praxis andere Hilfsmittel eingeführt werden, um eine Portfolio von Indikatoren zu bilden, die gleichzeitig mit automatisierter Parameteroptimierung und Risikokontrolle unterstützt werden, um die Strategie stabil und 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)