Stratégie mensuelle de rupture de tendance

Auteur:ChaoZhang est là., Date: 2023-10-24 16:08:33 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie de rupture de tendance mensuelle est un indicateur TradingView basé sur le script Pine. Il combine une moyenne mobile adaptative, des ruptures de ligne de tendance et l'indicateur RSI pour déterminer les signaux d'entrée longue une fois par mois. Les sorties se produisent lorsque le RSI montre des conditions de surachat.

La logique de la stratégie

  1. Définir la variable lastEntryMonth pour suivre le dernier mois d'entrée. currentMonth obtient le mois en cours.

  2. Définir les paramètres MA adaptatifs TRAMA longueur=99 pour stabiliser le prix et déterminer la tendance.

  3. Définir longueur_trend=14 pour tracer la ligne de tendance supérieure basée sur les pics de pivot. Long lorsque le prix dépasse la ligne de tendance.

  4. Calculer l'indicateur RSI avec rsiLength=14 pour déterminer le surachat/survente.

  5. Logique d'entrée: aller long si close > TRAMA et fermer les ruptures au-dessus de la ligne de tendance supérieure, si aucune entrée n'a eu lieu le mois dernier.

  6. Logique de sortie: clôturer long si le RSI est supérieur à 70 (suracheté).

  7. Graphique de la ligne TRAMA et du RSI suracheté au niveau 70.

La stratégie combine trois principaux indicateurs techniques pour trouver des entrées longues à faible risque une fois par mois.

Les avantages

  1. Combine plusieurs indicateurs pour une analyse de marché robuste et une plus grande précision.

  2. Limite les entrées à un délai mensuel, évitant ainsi le suréchange.

  3. La MA adaptative s'adapte rapidement aux changements de tendance.

  4. Le RSI survendu évite d'acheter aux sommets du marché et contrôle le risque.

  5. Des règles d'entrée/sortie simples sont faciles à mettre en œuvre.

  6. Des paramètres personnalisables permettent l'optimisation de la stratégie.

Les risques

  1. Le risque de rupture s'il échoue, le stop loss si le prix tombe en dessous de la ligne de tendance.

  2. Un mauvais timing conduit à des entrées près des sommets.

  3. Les mauvais paramètres d'indicateur provoquent des signaux trompeurs.

  4. Les événements de rupture peuvent refléter la volatilité récente du marché.

  5. Surveillez le rapport risque/récompense. Considérez uniquement les retraits ou l'ajout d'autres filtres de confirmation.

  6. Valider les indicateurs sur plusieurs délais. Utiliser des délais plus élevés pour identifier la tendance et plus bas pour l'entrée.

  7. Optimiser les paramètres pour faire correspondre la stratégie au type de marché.

Optimisation

  1. Ajoutez un indicateur de volume pour éviter les fausses ruptures avec un faible volume.

  2. Considérez un bénéfice partiel en prenant une sortie surachetée RSI, en conservant une position partielle.

  3. Optimiser les paramètres de l'AM pour mieux s'adapter aux changements de tendance.

  4. Ajoutez des zones avant/après le point de rupture pour éviter d'acheter directement à l'inversion.

  5. Ajouter plus de filtres comme les canaux, volatilité pour une plus grande précision.

  6. Scalez avec des ruptures supplémentaires à de nouveaux niveaux de résistance.

Conclusion

La stratégie de rupture de tendance mensuelle analyse la tendance, l'élan et les extrêmes. Elle détermine la tendance sur un laps de temps mensuel, mais entre sur des ruptures de temps plus courts. Le RSI supervise la gestion des risques. Une logique simple identifie les entrées longues mensuelles optimisées. Elle équilibre le suivi des tendances et les contrôles des risques. L'optimisation des paramètres l'adapte aux différentes conditions du marché.


/*backtest
start: 2022-10-17 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Bannos Strategy', shorttitle='Bannos', overlay=true)

//The provided script is an indicator for TradingView written in Pine Script version 5. The indicator is used to determine entry and exit points for a trading strategy. Here's a detailed breakdown of what the script does:

// Strategy Definition:

// Bannos Strategy is the full name, with a short title Bannos.
// The overlay=true option indicates that the strategy will be overlayed on the price chart.
// Tracking Entry Month:

// A variable lastEntryMonth is set up to track the month of the last entry.
// currentMonth identifies the current month.
// Trend Regularity Adaptive Moving Average (TRAMA):

// It takes an input of length 99 as default.
// It uses adaptive calculations to track trend changes.
// Trendlines with Breaks:

// Identifies local peaks over a given period (in this case, 14) and calculates a slope based on these peaks.
// Relative Strength Index (RSI):

// Uses a length of 14 (default) to calculate the RSI.
// RSI is an oscillation indicator that indicates overbought or oversold conditions.
// Strategy Logic for Long Entry:

// A long position is opened if:
// The close price is above the TRAMA.
// There's a crossover of the close price and the upper trendline.
// The position is taken only once per month.
// Strategy Logic for Long Exit:

// The long position is closed if the RSI exceeds 70, indicating an overbought condition.
// Plotting:

// The TRAMA is plotted in red on the chart.
// A horizontal line is also drawn at 70 to indicate the RSI's overbought zone.
// In summary, this strategy aims to enter a long position when certain trend and crossover conditions are met, and close the position when the market is considered overbought as per the RSI. Additionally, it ensures entries only occur once a month.
//



// Variable pour suivre le mois de la dernière entrée
var float lastEntryMonth = na
currentMonth = month(time)

// Parameters for Trend Regularity Adaptive Moving Average (TRAMA)
length_trama = input(99)
src_trama = close
ama = 0.
hh = math.max(math.sign(ta.change(ta.highest(length_trama))), 0)
ll = math.max(math.sign(ta.change(ta.lowest(length_trama)) * -1), 0)
tc = math.pow(ta.sma(hh or ll ? 1 : 0, length_trama), 2)
ama := nz(ama[1] + tc * (src_trama - ama[1]), src_trama)

// Parameters for Trendlines with Breaks
length_trend = 14
mult = 1.0
ph = ta.pivothigh(length_trend, length_trend)
upper = 0.
slope_ph = 0.
slope_ph := ph ? mult : slope_ph
upper := ph ? ph : upper - slope_ph

// Parameters for RSI
rsiLength = 14
up = ta.rma(math.max(ta.change(close), 0), rsiLength)
down = ta.rma(-math.min(ta.change(close), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

// Strategy Logic for Long Entry
longCondition = close > ama and ta.crossover(close, upper) and (na(lastEntryMonth) or lastEntryMonth != currentMonth)
if (longCondition)
    lastEntryMonth := currentMonth
    strategy.entry('Long', strategy.long)

// Strategy Logic for Long Exit
exitCondition = rsi > 70
if (exitCondition)
    strategy.close('Long')

// Plotting
plot(ama, 'TRAMA', color=color.red)
hline(70, 'Overbought', color=color.red)


Plus de