Les ressources ont été chargées... Je charge...

Système d'analyse de l'extension haute/basse de 52 semaines

Auteur:ChaoZhang est là., Date: 2024-12-27 14h27 et 51 min
Les étiquettes:Le MACD- Je vous en prie.Le taux d'intérêtSMAIndice de résistance

img

Résumé

Cette stratégie combine les signaux croisés MACD à partir de plusieurs délais avec des niveaux de support et de résistance dynamiques basés sur des hauts et des bas de 52 semaines. Elle confirme les signaux de trading via des croisements MACD sur des délais hebdomadaires et quotidiens tout en utilisant des lignes de support et de résistance dynamiques formées par des hauts et des bas de 52 semaines pour aider à l'analyse des tendances du marché, permettant des décisions de trading plus robustes.

Principes de stratégie

La stratégie repose sur la logique de base suivante:

  1. Les signaux d'entrée sont confirmés par des croix dorées MACD hebdomadaires et quotidiennes, ce qui nécessite des signaux haussiers sur les deux délais.
  2. Les signaux de sortie sont déclenchés par des croix de mort MACD quotidiennes, les positions étant fermées une fois qu'un signal baissier apparaît.
  3. Le stop-loss dynamique est défini au prix le plus bas de la journée où les signaux de sortie sont déclenchés.
  4. Les lignes haut/bas de 52 semaines sont générées dynamiquement sur la base d'un calcul sélectionné par l'utilisateur (haut/bas ou prix de clôture) et s'étendent vers la droite en tant que niveaux de référence importants.
  5. La stratégie utilise une gestion de position de 5% avec un coût de transaction de 1 unité monétaire par transaction.

Les avantages de la stratégie

  1. Confirmation sur plusieurs délais: filtre les fausses ruptures par résonance des signaux MACD sur les niveaux hebdomadaires et quotidiens, améliorant ainsi la précision des transactions.
  2. Soutien/résistance dynamique: les lignes haut/bas de 52 semaines fournissent d'importantes références psychologiques de prix, aidant à évaluer la force de la tendance.
  3. Contrôle complet des risques: le mécanisme de stop-loss dynamique s'adapte aux fluctuations du marché pour protéger les bénéfices.
  4. Visualité élevée: une interface graphique claire affiche les niveaux et les signaux de prix clés, facilitant la compréhension et le fonctionnement.
  5. Commerce systématique: des règles strictes d'entrée/sortie évitent les interférences émotionnelles, ce qui améliore l'objectivité du commerce.

Risques stratégiques

  1. Inadapté aux marchés à courants: les croisements fréquents du MACD sur les marchés latéraux peuvent générer des faux signaux excessifs.
  2. Risque de décalage: le décalage inhérent à l'indicateur MACD peut manquer les points d'entrée optimaux.
  3. Risque de gestion de trésorerie: le positionnement à proportion fixe peut manquer de souplesse dans certaines conditions de marché.
  4. Risque de déficit du marché: les déficits importants peuvent entraîner des prix d'arrêt-perte réels bien inférieurs aux niveaux attendus.
  5. Risque d'optimisation des paramètres: une optimisation excessive peut entraîner des problèmes de surajustement.

Directions d'optimisation de la stratégie

  1. Incorporer une analyse de la relation volume-prix: envisager d'ajouter une confirmation de volume aux signaux MACD existants.
  2. Optimiser la gestion des positions: concevoir des mécanismes de gestion des positions plus souples, adaptés dynamiquement à la volatilité du marché.
  3. Améliorer le mécanisme de stop-loss: envisager l'ajout d'arrêts de trailing ou d'arrêts dynamiques basés sur ATR.
  4. Ajouter un filtrage de l'environnement de marché: introduire des indicateurs de force de tendance, n'ouvrant que des positions sur des marchés à forte tendance.
  5. Développer un mécanisme de filtrage des signaux: concevoir des conditions de confirmation des signaux plus strictes afin de réduire les faux signaux.

Résumé

Cette stratégie construit un système de trading complet suivant la tendance en combinant des signaux croisés MACD multi-temporels avec des lignes de support et de résistance dynamiques basées sur des hauts et des bas de 52 semaines.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MACD Bitcoin strategy con 52W High/Low (linee estese)", overlay=true)

// === MACD SETTINGS ===
fastLength = 12
slowLength = 26
signalSmoothing = 9

// Funzione per ottenere i valori MACD
getMACD(source, timeframe) =>
    [macdLine, signalLine, _] = ta.macd(source, fastLength, slowLength, signalSmoothing)
    [macdLine, signalLine]

// Valori MACD Settimanali
[macdWeekly, signalWeekly] = request.security(syminfo.tickerid, "W", getMACD(close, "W"), lookahead=barmerge.lookahead_on)

// Valori MACD Giornalieri
[macdDaily, signalDaily] = getMACD(close, "D")

// Variabile per lo stop loss
var float lowOfSignalCandle = na

// Condizione per l'ingresso
longConditionWeekly = ta.crossover(macdWeekly, signalWeekly)
exitConditionDaily = ta.crossunder(macdDaily, signalDaily)

// Imposta Stop Loss sulla candela giornaliera
if (exitConditionDaily)
    lowOfSignalCandle := low

// Condizione di ingresso nel trade
enterTradeCondition = macdWeekly > signalWeekly and ta.crossover(macdDaily, signalDaily)

if (enterTradeCondition)
    strategy.entry("MACD Long", strategy.long)

if (not na(lowOfSignalCandle))
    strategy.exit("Stop Loss", "MACD Long", stop=lowOfSignalCandle)

if (strategy.position_size == 0)
    lowOfSignalCandle := na

// // === 52 WEEK HIGH/LOW SETTINGS ===
// // Input per selezionare tra Highs/Lows o Close
// high_low_close = input.string(defval="Highs/Lows", title="Base 52 week values on candle:", options=["Highs/Lows", "Close"])

// // Calcolo dei valori delle 52 settimane
// weekly_hh = request.security(syminfo.tickerid, "W", ta.highest(high, 52), lookahead=barmerge.lookahead_on)
// weekly_ll = request.security(syminfo.tickerid, "W", ta.lowest(low, 52), lookahead=barmerge.lookahead_on)
// weekly_hc = request.security(syminfo.tickerid, "W", ta.highest(close, 52), lookahead=barmerge.lookahead_on)
// weekly_lc = request.security(syminfo.tickerid, "W", ta.lowest(close, 52), lookahead=barmerge.lookahead_on)

// // Selezione dei valori in base all'input
// high_plot = high_low_close == "Highs/Lows" ? weekly_hh : weekly_hc
// low_plot = high_low_close == "Highs/Lows" ? weekly_ll : weekly_lc

// // === LINEE ORIZZONTALI ESTESE FINO AL PREZZO ATTUALE ===
// var line highLine = na
// var line lowLine = na

// // Linea Orizzontale per il 52W High
// if (na(highLine))
//     highLine := line.new(bar_index, high_plot, bar_index + 1, high_plot, color=color.green, width=2, style=line.style_dashed, extend=extend.right)
// else
//     line.set_y1(highLine, high_plot)
//     line.set_y2(highLine, high_plot)

// // Linea Orizzontale per il 52W Low
// if (na(lowLine))
//     lowLine := line.new(bar_index, low_plot, bar_index + 1, low_plot, color=color.red, width=2, style=line.style_dashed, extend=extend.right)
// else
//     line.set_y1(lowLine, low_plot)
//     line.set_y2(lowLine, low_plot)

// // Etichette per le linee orizzontali
// var label highLabel = na
// var label lowLabel = na

// if (na(highLabel))
//     highLabel := label.new(bar_index, high_plot, "52W High", color=color.green, textcolor=color.white, style=label.style_label_down, size=size.small)
// else
//     label.set_y(highLabel, high_plot)
//     label.set_x(highLabel, bar_index)

// if (na(lowLabel))
//     lowLabel := label.new(bar_index, low_plot, "52W Low", color=color.red, textcolor=color.white, style=label.style_label_up, size=size.small)
// else
//     label.set_y(lowLabel, low_plot)
//     label.set_x(lowLabel, bar_index)

// // Tracciamento delle Linee Estese
// plot(high_plot, title="52W High", color=color.green, style=plot.style_linebr)
// plot(low_plot, title="52W Low", color=color.red, style=plot.style_linebr)


Relationnée

Plus de