Stratégie de suivi du renversement doré sur plusieurs périodes


Date de création: 2024-01-31 15:01:39 Dernière modification: 2024-01-31 15:01:39
Copier: 0 Nombre de clics: 592
1
Suivre
1617
Abonnés

Stratégie de suivi du renversement doré sur plusieurs périodes

Aperçu

La stratégie utilise différents indicateurs techniques et méthodes de négociation en combinaison pour identifier automatiquement les tendances, détecter les occasions de retournement et effectuer des transactions de suivi efficaces sur le marché de l’or. La stratégie s’applique à plusieurs périodes de temps et peut obtenir d’excellents résultats sur les courts et les longs jours.

Principe de stratégie

La stratégie est principalement basée sur plusieurs indicateurs techniques tels que la croix de la même ligne, les bandes de Brin, les niveaux de résistance de soutien et la forme des prix pour juger des signaux de négociation. Lors de la détermination de la grande tendance, la combinaison de confirmation multi-angles utilisée, comme les moyennes mobiles rapides, les moyennes mobiles lentes, les indicateurs RSI et MACD, capture avec précision le renversement de la tendance.

L’ensemble du processus de stratégie peut être principalement divisé en les étapes suivantes:

  1. Comment évaluer les grandes tendancesCalculer les MA rapides et les MA lentes, les MA rapides comme baisse et les MA lentes comme hausse. La confirmation est effectuée en combinaison avec le RSI et le MACD.

  2. Trouver un point d’entrée spécifiqueL’entrée est principalement basée sur l’observation des bandes de Brin, des ruptures de points de résistance clés et des signaux de tendance des prix.

  3. Réglage du stop-loss: Calculer le stop loss par l’indicateur ATR et définir une position de stop raisonnable.

  4. Filtrage de fausse percée: certains indicateurs peuvent présenter des signaux erronés, et le filtrage est effectué en utilisant plusieurs indicateurs combinés.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Les jugements multiplesL’utilisation d’une combinaison de différents indicateurs permet de juger le marché à partir de plusieurs dimensions, évitant ainsi la probabilité d’une erreur de jugement sur un seul indicateur.

  2. Une grande adaptabilitéLa stratégie est plus efficace pour les transactions en ligne, qu’il s’agisse de transactions à la journée ou à la mi-journée.

  3. Flexibilité et évolutionLes stratégies comprennent une grande variété de méthodes de négociation adaptées aux différentes phases du marché.

  4. Les risques sont maîtrisés: le retrait maximal de la stratégie de contrôle de l’ensemble, en contrôlant les embouteillages individuels par des arrêts de perte et des arrêts.

Analyse des risques

La stratégie présente principalement les risques suivants:

  1. Probabilité d’erreur dans les indicateursBien que la probabilité d’erreur soit réduite par une combinaison d’indicateurs, il existe toujours une certaine probabilité d’erreur dans des situations extrêmes. C’est un risque difficile à éviter dans le trading d’indicateurs techniques.

  2. Inversion de l’incertitude: les points clés de la stratégie pour juger d’un renversement de base peuvent ne pas être suffisants pour être de véritables points de retournement de tendance et ne peuvent pas parfaitement prédire les tendances futures.

  3. Risque de fausse percéeLes événements de rupture, s’ils se produisent soudainement, peuvent être des fausses ruptures de courte durée. Cela doit être jugé en observant les cadres temporels et les tendances des prix à un niveau plus large.

  4. Difficulté à optimiser les paramètres: la stratégie contient plusieurs paramètres, différents paramètres ont une influence importante sur les résultats, mais il est difficile d’ajuster à l’infini pour trouver le paramètre optimal. Il est nécessaire d’atténuer cela en équilibrant plusieurs indicateurs et en maintenant la stabilité des paramètres.

Direction d’optimisation

Cette stratégie peut être optimisée principalement dans les directions suivantes:

  1. Intégration du modèleLes modèles d’apprentissage automatique sont utilisés pour évaluer le poids et la probabilité d’un indicateur.

  2. Optimisation des paramètres d’adaptation: Optimiser les paramètres en introduisant de manière appropriée des indicateurs dynamiques ou des mécanismes d’adaptation basés sur les variations des entités de prix.

  3. Des transactions motivées par des événementsLe marché de l’or est un marché où l’on utilise des facteurs tels que les événements et les nouvelles comme sources de signaux de trading.

  4. Portfolio de modèles de couverture: la construction d’un portefeuille de positions longues et courtes, avec une couverture mutuelle entre les différents modèles, peut réduire le risque systémique du marché.

Résumer

Dans l’ensemble, la stratégie de suivi de l’inversion de l’or utilise une combinaison de méthodes de négociation, de contrôle du risque tout en détectant un renversement de tendance, et constitue une stratégie efficace pour le trading à haute fréquence. En élargissant davantage les sources de signaux et en introduisant des mécanismes d’adaptation et des modèles de gestion des risques, la stratégie a également une grande marge d’optimisation, ce qui permet d’obtenir des gains supplémentaires plus durables et plus stables.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("PratikMoney_Gold_Swing_v2.0", overlay=true)

// Trend Following
fastMA = ta.sma(close, 50)
slowMA = ta.sma(close, 200)
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdDivergence = macdLine - signalLine
trendUp = ta.crossover(fastMA, slowMA) and rsiValue > 50 and macdLine > 0 and macdDivergence > 0
trendDown = ta.crossunder(fastMA, slowMA) and rsiValue < 50 and macdLine < 0 and macdDivergence < 0

// Breakout Trading
resistanceLevel = input(1500, title="Resistance Level")
supportLevel = input(1400, title="Support Level")

breakoutUp = close > resistanceLevel and close[1] <= resistanceLevel
breakoutDown = close < supportLevel and close[1] >= supportLevel

// Moving Average Crossovers
shortTermMA = ta.sma(close, 9)
longTermMA = ta.sma(close, 21)

maCrossUp = ta.crossover(shortTermMA, longTermMA)
maCrossDown = ta.crossunder(shortTermMA, longTermMA)

// Bollinger Bands
bbUpper = ta.sma(close, 20) + 2 * ta.stdev(close, 20)
bbLower = ta.sma(close, 20) - 2 * ta.stdev(close, 20)

bbBreakoutUp = close > bbUpper and close[1] <= bbUpper
bbBreakoutDown = close < bbLower and close[1] >= bbLower

// Support and Resistance
bounceFromSupport = close < supportLevel and close[1] >= supportLevel
reversalFromResistance = close > resistanceLevel and close[1] <= resistanceLevel

// Fibonacci Retracement
fibonacciLevel = input(0.618, title="Fibonacci Level")

fibRetraceUp = ta.lowest(low, 50) >= ta.highest(high, 50) * (1 - fibonacciLevel)
fibRetraceDown = ta.highest(high, 50) <= ta.lowest(low, 50) * (1 + fibonacciLevel)

// Price Action Trading
pinBar = close < open and low < close[1] and close > open[1]
engulfing = close < open and close[1] > open and close[2] > open[1] and close > open[2]

priceActionLong = pinBar or engulfing and close > open
priceActionShort = pinBar or engulfing and close < open

// Scalping
scalpLong = ta.change(close) > 0.1
scalpShort = ta.change(close) < -0.1

// Volatility Breakout
atrLevel = input(1.5, title="ATR Multiplier")

volatilityBreakoutUp = close > ta.sma(close, 20) + atrLevel * ta.atr(20)
volatilityBreakoutDown = close < ta.sma(close, 20) - atrLevel * ta.atr(20)

// Strategy Execution
strategy.entry("TrendLong", strategy.long, when=trendUp)
strategy.entry("TrendShort", strategy.short, when=trendDown)

strategy.entry("BreakoutLong", strategy.long, when=breakoutUp)
strategy.entry("BreakoutShort", strategy.short, when=breakoutDown)

strategy.entry("VolatilityLong", strategy.long, when=volatilityBreakoutUp)
strategy.entry("VolatilityShort", strategy.short, when=volatilityBreakoutDown)

strategy.entry("PriceActionLong", strategy.long, when=priceActionLong)
strategy.entry("PriceActionShort", strategy.short, when=priceActionShort)

strategy.entry("ScalpLong", strategy.long, when=scalpLong)
strategy.entry("ScalpShort", strategy.short, when=scalpShort)

// Plotting
plot(supportLevel, color=color.green, title="Support Level")
plot(resistanceLevel, color=color.red, title="Resistance Level")

plot(bbUpper, color=color.blue, title="Upper Bollinger Band")
plot(bbLower, color=color.blue, title="Lower Bollinger Band")

// Plotting Price Action Signals
plotshape(series=priceActionLong, title="Price Action Long", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=priceActionShort, title="Price Action Short", color=color.red, style=shape.triangledown, location=location.abovebar)

// Plotting Scalping Signals
plotshape(series=scalpLong, title="Scalp Long", color=color.green, style=shape.triangleup, location=location.abovebar)
plotshape(series=scalpShort, title="Scalp Short", color=color.red, style=shape.triangledown, location=location.belowbar)