La stratégie de suivi de la tendance de la croix dorée et de la croix de la mort est une stratégie de trading quantitative qui utilise à la fois les lignes de tendance de support/résistance et les moyennes mobiles comme signaux alternatifs pour suivre la tendance.
Cette stratégie se compose de quatre éléments principaux:
Plus précisément, la stratégie utilise d'abord les fonctions de demande de sécurité pour obtenir les plus hauts et les plus bas au cours des 30 derniers jours et 30 semaines respectivement, en traçant des lignes de support et de résistance dynamiques. Elle combine ensuite les signaux de croix dorée et de croix de mort du SMA à 10 périodes pour filtrer les opportunités de rupture. Les signaux longs sont générés lorsque le prix dépasse le niveau de support à 30 jours et le SMA à 10 périodes, tandis que les signaux courts sont générés lorsque le prix dépasse le niveau de résistance à 30 semaines et le SMA à 10 périodes.
Cette stratégie prend en compte à la fois les niveaux de support/résistance à moyen et à long terme, ce qui lui permet de saisir des opportunités de tendance plus importantes.
Les principaux avantages de cette stratégie sont les suivants:
Il y a aussi quelques risques à prendre en compte pour cette stratégie:
Les solutions:
Des améliorations supplémentaires sont possibles:
La stratégie de suivi de la tendance de la double ligne de tendance Breakout Golden Cross Death Cross combine efficacement des indicateurs de support / résistance à moyen et long terme et des moyennes mobiles pour filtrer les signaux rentables pendant les tendances majeures, ce qui en fait une stratégie de trading quantitative relativement mature.
/*backtest start: 2024-01-22 00:00:00 end: 2024-02-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © neosaid //@version=5 strategy("Support and resistant Strategy", overlay=true) // Function to check for breakout f_breakoutCondition(closingPrice, highestHigh, lowestLow) => closingPrice > highestHigh or closingPrice < lowestLow // Step 1: 30 Days Trend Line (Lower Lows) low30Days = request.security(syminfo.tickerid, "D", low) // Step 2: 30 Weeks Upper Trend Line (Higher Highs) high30Weeks = request.security(syminfo.tickerid, "W", high) // Step 3: Trend Line for Lowest Low within the Last Month var float lowestLowLastMonth = na for i = 0 to 29 lowestLowLastMonth := na(lowestLowLastMonth) ? low[i] : math.min(lowestLowLastMonth, low[i]) lowestLowLastMonthValue = lowestLowLastMonth[1] // Breakout Strategy highestHighLast3Candles = request.security(syminfo.tickerid, "D", ta.highest(close, 3)) lowestLowLast3Candles = request.security(syminfo.tickerid, "D", ta.lowest(close, 3)) // Additional conditions to filter signals buyCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close > low30Days sellCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close < high30Weeks // Additional filters to reduce the number of orders buyFilter = ta.crossover(close, ta.sma(close, 10)) // Buy only when price crosses above a 10-period SMA sellFilter = ta.crossunder(close, ta.sma(close, 10)) // Sell only when price crosses below a 10-period SMA buyCondition := buyCondition and buyFilter sellCondition := sellCondition and sellFilter // Plot Buy and Sell signals on the chart plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar) // Strategy entries strategy.entry("Buy", strategy.long, when = buyCondition) strategy.entry("Sell", strategy.short, when = sellCondition)