Эта стратегия называется
В этой стратегии мы рассчитываем 50-периодные и 200-периодные линии простой скользящей средней (SMA). Традиционно, когда 50-дневная SMA пересекается ниже 200-дневной SMA, это называется
Логика торговли заключается в том, чтобы просто занять позиции на основе этих сигналов - короткие позиции на смертном кресте и длинные на золотом кресте. Это позволяет нам получать прибыль вокруг переломных точек, когда рыночная тенденция меняется.
Кроме того, стратегия предоставляет настраиваемые диапазоны дат для обратных тестов, поэтому мы можем изучить фактическую эффективность этих перекрестных сигналов в разные периоды.
Для решения рисков, мы можем оптимизировать параметры, добавлять фильтры, управлять рисками, бумажной торговли стратегии и т.д., чтобы минимизировать риски.
К основным способам оптимизации этой стратегии относятся:
Исследуя влияние параметров, мы можем обнаружить лучшие системы перекрестного движения.
Эта стратегия использует классический технический индикатор пересечения скользящих средних для захвата ключевых точек перелома на рынках. Благодаря простой логике и удобным функциям обратного теста, она может помочь в отслеживании тенденций в рамках более широкой системы. Но реальная торговля все еще требует рассмотрения различных внешних факторов, а не просто слепо полагаться на сигналы.
/*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")