Stratégie de rupture de tendance basée sur une MA et des lignes de tendance adaptatives

Auteur:ChaoZhang est là., Date: 2023-09-19 15h49: 37
Les étiquettes:

Résumé

Cette stratégie utilise une moyenne mobile adaptative et des écarts de ligne de tendance pour les entrées, et RSI pour les sorties.

La logique de la stratégie

  1. Calcule l'AM adaptative de 99 périodes pour déterminer la tendance globale.

  2. Calcule les sommets locaux de 14 périodes pour la résistance supérieure de la ligne de tendance.

  3. Il est long quand il est au-dessus de la ligne de tendance et sans ordre ce mois-ci.

  4. Calcule le RSI à 14 périodes et sort à un RSI supérieur à 70 (suracheté).

  5. Suivi du dernier mois d'entrée pour assurer une transaction par mois.

Analyse des avantages

  1. L'AM adaptatif suit dynamiquement les changements de tendance.

  2. Les ruptures de tendance améliorent la précision d'entrée.

  3. L'indicateur d'indices de risque évalue efficacement les niveaux de surachat/survente pour le contrôle des risques.

  4. Une transaction par mois réduit la fréquence et les frais.

  5. Une logique simple et claire, facile à comprendre et à exécuter.

Analyse des risques

  1. Des paramètres incorrects peuvent entraîner des entrées manquées.

  2. Les indicateurs de sortie fixes ne peuvent pas s'adapter rapidement aux marchés.

  3. Possibilité de retrait.

  4. Aucun contrôle des risques pour de longues périodes de détention.

  5. Trop de filtres peuvent empêcher les entrées.

Directions d'optimisation

  1. Testez différents paramètres pour des réglages optimaux.

  2. Ajouter des filtres pour améliorer la robustesse de la stratégie.

  3. Développer des stratégies dynamiques et d'arrêt de retard.

  4. Optimisez la logique d'entrée pour identifier les évasions plus fortes.

  5. Testez les instruments et les délais appropriés.

  6. Ajoutez un filtre de tendance pour éviter les fausses ruptures.

Résumé

Cette stratégie intègre l'analyse de tendance et les oscillateurs pour un effet de suivi de tendance stable. Des optimisations supplémentaires sur les paramètres, les sorties dynamiques, etc. peuvent en faire un système quantique fiable.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 15m
basePeriod: 5m
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