Algorithme de négociation d'action du prix de l'or

Auteur:ChaoZhang est là., Date: 2023-12-13 16h08 et 12h08
Les étiquettes:

img

Résumé

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.

Principaux

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é.

  1. Calculer les prix les plus élevés (hauts) et les prix les plus bas (faibles) des 20 chandeliers les plus récents
  2. Obtenez la fourchette de fluctuation des prix (priceRange)
  3. Enregistrer le prix le plus élevé du dernier chandelier comme niveau de rupture (breakoutLevel)
  4. Lorsque le sommet du dernier chandelier franchit le niveau de rupture et que la clôture franchit également le niveau de rupture, passez long.
  5. Lorsque le plus bas du dernier chandelier tombe en dessous du niveau de rupture et la fermeture tombe également en dessous du niveau de rupture, allez court
  6. Fixer les prix de prise de profit et de stop-loss après ouverture de positions longues ou courtes

Comme on peut le voir, les signaux de trading de cet algorithme proviennent de jugements de rupture de prix.

Analyse des avantages

L'algorithme présente les avantages suivants:

  1. Simple et clair, facile à comprendre et à mettre en œuvre
  2. Basé sur l'action des prix, non affecté par d'autres indicateurs
  3. Signaux clairs de rupture, temps d'entrée facile à saisir
  4. Peut filtrer de manière significative le bruit du marché et éviter d'être piégé
  5. Prendre des bénéfices et des arrêts de perte pour contrôler les pertes de transactions uniques

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é.

Analyse des risques

L'algorithme comporte aussi des risques:

  1. Probabilité élevée d'échec de la rupture, risque de perte de profit
  2. Une mauvaise compréhension du moment de la rupture, peut entrer trop tôt ou trop tard
  3. Des retraits relativement importants, nécessitant une certaine endurance psychologique
  4. Réglage déraisonnable des prises de bénéfices et des arrêts de pertes, risque de manquer des bénéfices plus importants ou de prendre des pertes plus élevées

Pour contrôler et optimiser ces risques, les mesures suivantes peuvent être prises:

  1. Confirmer la rupture avec d'autres indicateurs pour accroître la fiabilité
  2. Optimiser les paramètres pour améliorer la précision du temps d'entrée
  3. Ajuster la taille des positions pour réduire le risque de perte d'une seule transaction
  4. Ajuster dynamiquement les prix de prise de profit et de stop-loss

Directions d'optimisation

L'algorithme peut être optimisé dans les aspects suivants:

  1. 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é.

  2. 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.

  3. 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.

  4. Optimisation de la taille de la positionOptimiser l'algorithme de dimensionnement des positions pour réduire l'impact des pertes sur une seule transaction.

  5. 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.

Conclusion

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)

Plus de