Cette stratégie est appelée
Dans cette stratégie, nous calculons les lignes de moyenne mobile simple (SMA) de 50 périodes et 200 périodes. Traditionnellement, lorsque la SMA de 50 jours franchit le seuil inférieur à la SMA de 200 jours, elle est appelée une croix de mort qui indique une perspective baissière. Et lorsque la SMA de 50 jours franchit le seuil supérieur à la SMA de 200 jours, c'est une croix d'or qui indique la hausse.
La logique du trading consiste simplement à prendre des positions basées sur ces signaux - shorting à la croix de la mort et long à la croix d'or. Cela nous permet de profiter autour des points d'inflexion lorsque la tendance du marché s'inverse.
En outre, la stratégie fournit des plages de dates personnalisables pour les backtests. Nous pouvons donc examiner l'efficacité réelle de ces signaux croisés sur différentes périodes.
Pour faire face aux risques, nous pouvons optimiser les paramètres, ajouter des filtres, gérer le risque, négocier la stratégie, etc. pour minimiser les risques.
Les principaux moyens d'optimiser cette stratégie sont les suivants:
En examinant les impacts des paramètres, nous pouvons découvrir de meilleurs systèmes croisés de moyennes mobiles.
Cette stratégie tire parti de l'indicateur technique classique des croix moyennes mobiles pour capturer les points d'inflexion clés sur les marchés. Avec une logique simple et des fonctionnalités de backtest pratiques, elle peut aider à suivre les tendances dans le cadre d'un système plus large.
/*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")