Diese Strategie wird
In dieser Strategie berechnen wir die 50-Perioden- und 200-Perioden-Simple Moving Average (SMA) -Linien. Wenn der 50-Tage-SMA traditionell unter den 200-Tage-SMA überschreitet, wird er als
Die Handelslogik besteht einfach darin, Positionen auf der Grundlage dieser Signale einzunehmen - bei einem Todeskreuz kurz zu gehen und bei einem goldenen Kreuz lang zu gehen.
Darüber hinaus bietet die Strategie anpassbare Datumsbereiche für Backtests, so dass wir die tatsächliche Wirksamkeit dieser Crossover-Signale über verschiedene Zeiträume hinweg untersuchen können.
Um die Risiken anzugehen, können wir Parameter optimieren, Filter hinzufügen, Risiken verwalten, die Strategie auf Papier handeln usw. um Risiken zu minimieren.
Die wichtigsten Möglichkeiten zur Optimierung dieser Strategie sind:
Durch die Untersuchung der Auswirkungen der Parameter können wir bessere gleitende Durchschnitts-Crossover-Systeme entdecken.
Diese Strategie nutzt den klassischen technischen Indikator der gleitenden Durchschnittskreuze, um wichtige Wendepunkte in den Märkten zu erfassen. Mit einfacher Logik und bequemen Backtest-Funktionen kann sie dabei helfen, Trends als Teil eines breiteren Systems zu verfolgen.
/*backtest start: 2024-01-14 00:00:00 end: 2024-01-21 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("[S_R__9] - Death and Golden Cross", overlay=true) // Specific Time Date Range For Backtest startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31, group='DATE CONFIG') startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12, group='DATE CONFIG') startYear = input.int(title='Start Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG') endDate = input.int(title='End Date', defval=31, minval=1, maxval=31, group='DATE CONFIG') endMonth = input.int(title='End Month', defval=12, minval=1, maxval=12, group='DATE CONFIG') endYear = input.int(title='End Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG') SPECIFIC_DATE = input.bool(title='USE SPECIFIC DATE ?', defval=false, group='DATE CONFIG') inDateRange = SPECIFIC_DATE ? time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0) : true // Calculate 50 SMA and 200 SMA sma50 = ta.sma(close, 50) sma200 = ta.sma(close, 200) // Detect a Death Cross (50 SMA crossing below 200 SMA) deathCross = ta.crossunder(sma50, sma200) // Detect a Golden Cross (50 SMA crossing above 200 SMA) goldenCross = ta.crossover(sma50, sma200) // Strategy Execution if (inDateRange) if (deathCross) strategy.entry("Death Cross long", strategy.short) if (goldenCross) strategy.entry("Golden Cross short", strategy.long) // Plot SMAs plot(sma50, color=color.red, title="50 SMA") plot(sma200, color=color.blue, title="200 SMA") // Plotting Death Cross signal plotshape(series=deathCross and inDateRange, title="Death Cross Signal", location=location.belowbar, color=color.red, style=shape.labeldown, text="DEATH CROSS") // Plotting Golden Cross signal plotshape(series=goldenCross and inDateRange, title="Golden Cross Signal", location=location.abovebar, color=color.green, style=shape.labelup, text="GOLDEN CROSS")