Cet algorithme négocie l'or en fonction de son action de prix. Il calcule les prix les plus élevés et les plus bas des 20 bougies récentes pour déterminer la plage de fluctuation des prix. Il va long lorsque le prix franchit le prix le plus élevé du dernier bougie et court lorsque le prix franchit le prix le plus bas du dernier bougie. Après avoir ouvert des positions longues ou courtes, il fixe les prix de prise de profit et de stop-loss.
La logique de base de cet algorithme est basée sur la théorie de la rupture. Il enregistre les prix les plus élevés et les plus bas des 20 bougies les plus récentes pour déterminer la plage de fluctuation des prix. Lorsque le prix dépasse cette plage, il est considéré comme une rupture et donc un signal de trading est déclenché.
Comme on peut le voir, les signaux de trading de cet algorithme proviennent de jugements de rupture de prix.
L'algorithme présente les avantages suivants:
En général, l'idée de base de cet algorithme est claire et logique. Il est simple à mettre en œuvre et facile à saisir le timing d'entrée. Il permet également de contrôler la perte d'une seule transaction. Il s'agit donc d'une stratégie de trading quantitative avec une forte praticité.
L'algorithme comporte aussi des risques:
Pour contrôler et optimiser ces risques, les mesures suivantes peuvent être prises:
L'algorithme peut être optimisé dans les aspects suivants:
Combiner avec d'autres indicateursLes moyennes mobiles, les bandes de Bollinger, etc. peuvent être introduites pour confirmer les signaux de rupture et augmenter la fiabilité.
Optimisation des paramètres. Différentes combinaisons de paramètres peuvent être testées pour optimiser la durée de la période de rupture et trouver des paramètres plus fiables.
Optimisation du profit et du stop-loss. Ajustez dynamiquement la distance de prise de profit et de stop-loss en fonction de la volatilité, etc.
Optimisation de la taille de la positionOptimiser l'algorithme de dimensionnement des positions pour réduire l'impact des pertes sur une seule transaction.
Apprentissage automatiqueApprenez à partir de grandes quantités de données historiques pour trouver automatiquement de meilleures combinaisons de paramètres.
Les optimisations ci-dessus peuvent encore améliorer la stabilité, le taux de victoire et la rentabilité de l'algorithme.
L'algorithme de trading d'or génère des signaux de trading basés sur l'action des prix et la théorie de la rupture. L'idée est simple et claire, facile à mettre en œuvre et très pratique. En attendant, il comporte également des risques et nécessite une optimisation supplémentaire pour améliorer la stabilité et la rentabilité.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("XAUUSD Price Action Strategy", overlay=true) // Define input parameters takeProfit = input(500, "Take Profit") stopLoss = input(200, "Stop Loss") // Calculate price action highs = ta.highest(high, 20) lows = ta.lowest(low, 20) priceRange = highs - lows breakoutLevel = highs[1] // Define conditions for long and short trades longCondition = high > breakoutLevel and close > highs[1] shortCondition = low < breakoutLevel and close < lows[1] // Execute long and short trades with take profit and stop loss if longCondition strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", limit = close + takeProfit, stop = close - stopLoss) if shortCondition strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", limit = close - takeProfit, stop = close + stopLoss) // Plot breakout level plot(breakoutLevel, color=color.blue, title="Breakout Level") // Highlight long and short trade signals on the chart bgcolor(longCondition ? color.green : na, transp=80) bgcolor(shortCondition ? color.red : na, transp=80)