Cette stratégie calcule les moyennes mobiles de différentes périodes, fixe des points de stop-loss et de take-profit pour mettre en œuvre le trading automatisé. Elle va long lorsque la moyenne mobile de courte période dépasse la moyenne mobile de longue période, et va court lorsque la moyenne mobile de courte période dépasse la moyenne mobile de longue période. Pendant ce temps, elle fixe des points de stop-loss et de take-profit pour contrôler les risques.
Cette stratégie est basée sur le principe de croisement de la moyenne mobile. Elle calcule simultanément les moyennes mobiles simples de 9 jours et de 55 jours. Lorsque la moyenne mobile de 9 jours franchit le seuil supérieur de la moyenne mobile de 55 jours, elle indique que la tendance à court terme s'est inversée à la hausse, donc va long. Lorsque la moyenne mobile de 9 jours franchit le seuil inférieur à la moyenne mobile de 55 jours, elle indique que la tendance à court terme s'est inversée à la baisse, donc va court.
Pendant ce temps, cette stratégie utilise l'indicateur ATR pour définir des points de stop-loss et de take-profit. L'indicateur ATR peut mesurer le degré de volatilité des prix sur le marché. Le point de stop-loss est fixé au prix de clôture moins la valeur ATR, de sorte qu'il peut définir un stop-loss raisonnable en fonction de la volatilité du marché. Le point de take-profit utilise un ratio risque-rendement, qui est défini à 2 ici - take profit = prix de clôture + 2 * valeur ATR.
Il s'agit d'une stratégie de négociation à court terme très simple et pratique qui présente les avantages suivants:
Cette stratégie comporte également certains risques:
Ces risques peuvent être réduits par l'optimisation des paramètres, un stop-loss strict et une dimensionnement raisonnable des positions.
Cette stratégie peut être encore optimisée:
La logique générale de cette stratégie est claire et facile à mettre en œuvre, particulièrement adaptée aux débutants. En tant que stratégie de trading de base à court terme, elle présente les avantages d'un fonctionnement simple et d'une optimisation facile. Lorsqu'elle est combinée avec COMPLETE ou d'autres frameworks, elle peut être encore améliorée pour devenir un système de trading quantitatif pratique.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MA Crossover Strategy with Stop-Loss and Take-Profit", overlay=true) // Input for selecting the length of the moving averages maShortLength = input(9, title="Short MA Length") maLongLength = input(55, title="Long MA Length") // Input for setting the risk-reward ratio riskRewardRatio = input(2, title="Risk-Reward Ratio") // Calculate moving averages maShort = ta.sma(close, maShortLength) maLong = ta.sma(close, maLongLength) // Buy condition: 9-period MA crosses above 55-period MA buyCondition = ta.crossover(maShort, maLong) // Sell condition: 9-period MA crosses below 55-period MA sellCondition = ta.crossunder(maShort, maLong) // Set stop-loss and take-profit levels atrValue = ta.atr(14) stopLossLevel = close - atrValue // Use ATR for stop-loss (adjust as needed) takeProfitLevel = close + riskRewardRatio * atrValue // Risk-reward ratio of 1:2 // Execute buy and sell orders with stop-loss and take-profit strategy.entry("Buy", strategy.long, when = buyCondition) strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel) // Plot moving averages on the chart plot(maShort, color=color.blue, title="Short MA") plot(maLong, color=color.red, title="Long MA")