Stratégie de trading Forex à court terme avec dimensionnement dynamique des positions

MACD SMA EMA RSI ADX
Date de création: 2024-05-28 11:11:26 Dernière modification: 2024-05-28 11:11:26
Copier: 8 Nombre de clics: 640
1
Suivre
1617
Abonnés

Stratégie de trading Forex à court terme avec dimensionnement dynamique des positions

Aperçu

Cette stratégie est une stratégie de trading forex à courte échéance, dont l’idée principale est d’améliorer la gestion des risques en ajustant dynamiquement la taille de la position. La stratégie calcule la taille de la position dynamique en fonction du ratio d’intérêt et de risque de chaque transaction sur le compte courant.

Principe de stratégie

  1. Initializez les variables en fonction des paramètres entrées par l’utilisateur, tels que le nombre de jours de position courte, le pourcentage de baisse de prix, le pourcentage de risque par transaction, le pourcentage de stop loss et le pourcentage de stop-loss.
  2. En l’absence de position, le montant de la position dynamique est calculé sur la base du ratio entre les droits et intérêts du compte actuel et le risque de chaque transaction, puis la position est ouverte au prix du marché.
  3. Enregistrez le prix d’ouverture et le moment où la position devrait être clôturée
  4. Pendant la tenue d’une position, surveillez les variations de prix en temps réel. Si vous atteignez le prix d’arrêt, le prix d’arrêt ou le temps de tenue prévu, videz la position.
  5. Les points d’ouverture et de clôture des positions sont indiqués sur le graphique, ce qui permet de visualiser les transactions.

Analyse des avantages

  1. Taille de position dynamique: Adaptez dynamiquement la taille de position de chaque transaction en fonction du ratio d’intérêt et de risque du compte, afin d’améliorer l’efficacité de l’utilisation des fonds tout en contrôlant les risques.
  2. Stop-loss strict: définir des limites de stop-loss et de stop-loss serrées pour contrôler efficacement le seuil de risque d’une seule transaction, tout en bloquant les bénéfices en temps opportun.
  3. La stratégie est axée sur les opportunités de transactions à court terme, avec un temps de position plus court, permettant une adaptation rapide aux changements de marché et une prise en compte des fluctuations de prix à court terme.
  4. Simple et facile à utiliser: la logique de la stratégie est claire, les paramètres sont simples et conviennent aux débutants.

Analyse des risques

  1. Risques de marché: les marchés des changes sont volatiles et les prix peuvent fluctuer rapidement à court terme, ce qui peut entraîner des arrêts de perte fréquents.
  2. Risque de paramétrage: des paramètres mal réglés, tels qu’un ratio de risque trop élevé, un espace de stop loss trop étroit, etc., peuvent entraîner une explosion rapide du portefeuille.
  3. Risque de taille de position: Bien que la stratégie utilise une taille de position dynamique, il faut être prudent de définir le ratio de risque de chaque transaction afin d’éviter que chaque transaction ne prenne trop de fonds.

Direction d’optimisation

  1. L’introduction de plus d’indicateurs techniques, tels que les moyennes mobiles, le MACD, etc., pour aider à déterminer les tendances et le moment de clôturer une position.
  2. Optimiser les logiques de stop loss, par exemple en utilisant des méthodes de suivi des pertes, de stop partiel, etc. pour améliorer le rapport risque/revenu de la stratégie.
  3. La mise en place de combinaisons de paramètres différentes pour différentes paires de devises et conditions de marché, améliorant l’adaptabilité et la stabilité de la stratégie.
  4. Ajouter une logique de gestion de position, telle que l’utilisation de formules telles que la formule de Kelly, pour ajuster dynamiquement le ratio de risque de chaque transaction.

Résumer

La stratégie, grâce à une taille de position dynamique et à des arrêts de perte stricts, réalise un équilibre entre le contrôle des risques et la recherche de bénéfices dans les transactions à court terme. La logique de la stratégie est simple et claire, adaptée à l’apprentissage des débutants. Cependant, dans la pratique, il faut rester prudent, faire attention au contrôle des risques et optimiser et améliorer constamment la stratégie en fonction des changements du marché.

Code source de la stratégie
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Short High-Grossing Forex Pair - Enhanced Risk Management", overlay=true)

// Parameters
shortDuration = input.int(7, title="Short Duration (days)")
priceDropPercentage = input.float(30, title="Price Drop Percentage", minval=0, maxval=100)
riskPerTrade = input.float(2, title="Risk per Trade (%)", minval=0.1, maxval=100) / 100  // Increased risk for short trades
stopLossPercent = input.float(2, title="Stop Loss Percentage", minval=0)  // Tighter stop-loss for short trades
takeProfitPercent = input.float(30, title="Take Profit Percentage", minval=0)  // Take Profit Percentage

// Initialize variables
var int shortEnd = na
var float entryPrice = na

// Calculate dynamic position size
equity = strategy.equity
riskAmount = equity * riskPerTrade
pipValue = syminfo.pointvalue
stopLossPips = close * (stopLossPercent / 100)
positionSize = riskAmount / (stopLossPips * pipValue)

// Entry condition: Enter short position at the first bar with calculated position size
if (strategy.opentrades == 0)
    strategy.entry("Short", strategy.short, qty=positionSize)
    shortEnd := bar_index + shortDuration
    entryPrice := close
    alert("Entering short position", alert.freq_once_per_bar_close)

// Exit conditions
exitCondition = (bar_index >= shortEnd) or (close <= entryPrice * (1 - priceDropPercentage / 100))

// Stop-loss and take-profit conditions
stopLossCondition = (close >= entryPrice * (1 + stopLossPercent / 100))
takeProfitCondition = (close <= entryPrice * (1 - takeProfitPercent / 100))

// Exit the short position based on the conditions
if (strategy.opentrades > 0 and (exitCondition or stopLossCondition or takeProfitCondition))
    strategy.close("Short")
    alert("Exiting short position", alert.freq_once_per_bar_close)

// Plot entry and exit points for visualization
plotshape(series=strategy.opentrades > 0, location=location.belowbar, color=color.red, style=shape.labeldown, text="Short")
plotshape(series=strategy.opentrades == 0, location=location.abovebar, color=color.green, style=shape.labelup, text="Exit")

// Add alert conditions
alertcondition(strategy.opentrades > 0, title="Short Entry Alert", message="Entering short position")
alertcondition(strategy.opentrades == 0, title="Short Exit Alert", message="Exiting short position")