Esta estratégia é chamada de
Nesta estratégia, nós calculamos as linhas de média móvel simples (SMA) de 50 períodos e 200 períodos. Tradicionalmente, quando a SMA de 50 dias cruza abaixo da SMA de 200 dias, é chamada de cruz de morte, o que sinaliza uma perspectiva de baixa.
A lógica de negociação é simplesmente tomar posições baseadas nesses sinais - curto na cruz da morte e longo na cruz dourada.
Além disso, a estratégia fornece intervalos de datas personalizáveis para backtests. para que possamos examinar a eficácia real desses sinais cruzados em diferentes períodos.
Para lidar com os riscos, podemos otimizar parâmetros, adicionar filtros, gerenciar riscos, negociar a estratégia, etc. para minimizar riscos.
As principais formas de otimizar esta estratégia incluem:
Ao examinar os impactos dos parâmetros, podemos descobrir melhores sistemas de cruzamento de médias móveis.
Esta estratégia aproveita o indicador técnico clássico de cruzes médias móveis para capturar pontos de inflexão chave nos mercados. Com lógica simples e recursos de backtest convenientes, ele pode ajudar no rastreamento de tendências como parte de um sistema mais amplo.
/*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")