Stratégie de dimensionnement des positions composées à faible rupture de volume élevé

Auteur:ChaoZhang est là., Date: 2024-02-18 15:43:02 Je vous en prie.
Les étiquettes:

img

Résumé

L'idée de base de cette stratégie est de suivre les ruptures lors d'un volume de négociation élevé en utilisant une approche de dimensionnement des positions composée basée sur un pourcentage de risque défini et un effet de levier simulé de 250x.

La logique de la stratégie

Les signaux d'entrée longue durée sont déclenchés lorsque:

  1. Le volume dépasse un seuil défini par l'utilisateur (volThreshold)
  2. La barre de basse actuelle est inférieure à la barre de basse précédente (lowLowerThanPrevBar)
  3. La clôture de la barre actuelle est négative mais supérieure à la clôture de la barre précédente (close avec volume élevé négatif)
  4. Il n' existe pas de position longue ouverte (strategy.position_size == 0)

Le dimensionnement de la position est calculé comme suit:

  1. Montant du risque fondé sur les capitaux propres * pourcentage du risque
  2. Montant du risque * effet de levier (250x) pour déterminer le nombre de contrats/lots

Règles de sortie:

Fermez la position longue lorsque le pourcentage de profit postProfitPct atteint le stop loss (-0,14%) ou le take profit (4,55%).

Analyse des avantages

Avantages de cette stratégie:

  1. Capture des opportunités d'inversion de tendance résultant d'un volume de négociation élevé
  2. La taille des positions composées permet une croissance plus rapide des bénéfices
  3. Un arrêt-perte raisonnable et une prise de bénéfices raisonnables aident à contrôler le risque

Analyse des risques

Les risques à prendre en considération:

  1. L'effet de levier de 250x amplifie les pertes
  2. Ne prend pas en compte les écarts, les commissions, les exigences de marge
  3. Requiert un backtesting robuste et une optimisation des paramètres

Le risque peut être réduit par:

  1. Réduction du montant de l'effet de levier
  2. Pourcentage de stop loss en hausse
  3. Comptabilisation des coûts commerciaux réels

Des possibilités d'optimisation

Les domaines à améliorer:

  1. Ajustez dynamiquement le niveau d'effet de levier
  2. Optimiser les règles de stop loss et de prise de profit
  3. Ajouter un filtre de tendance
  4. Personnaliser les paramètres en fonction de l'instrument

Conclusion

En résumé, il s'agit d'une stratégie assez simple et directe pour capturer les retours en arrière et les gains démesurés. Mais les risques existent et des tests prudents dans le monde réel sont essentiels. Avec l'optimisation, il peut être rendu plus robuste et pratique.


/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("High Volume Low Breakout (Compounded Position Size)", overlay=true, initial_capital=1000)

// Define input for volume threshold
volThreshold = input.int(250, "Volume Threshold")

// Define input for risk per trade as a percentage of total equity
riskPercentage = input.float(10, "Risk Percentage")

// Calculate volume
vol = volume

// Check for high volume and low lower than the previous bar
highVolume = vol > volThreshold
lowLowerThanPrevBar = low < low[1]

// Calculate position profit percentage
posProfitPct = 100 * (close - strategy.position_avg_price) / strategy.position_avg_price

// Calculate the position size based on risk percentage and total account equity
equity = strategy.equity
riskAmount = (equity * riskPercentage / 100) / (close - strategy.position_avg_price)

// Calculate leverage (250x in this case)
leverage = 250

// Calculate the position size in contracts/lots to trade
positionSize = riskAmount * leverage

// Check if the current bar's close is negative when it has high volume
negativeCloseWithHighVolume = highVolume and close < close[1]

// Enter long position as soon as volume exceeds the threshold, low is lower than the previous bar, and the current bar's close is negative
if highVolume and lowLowerThanPrevBar and negativeCloseWithHighVolume and strategy.position_size == 0
    strategy.entry("Long", strategy.long, qty=positionSize, comment="Long Entry")

// Exit long position intrabar if profit goes below -0.14% or above 1%
if strategy.position_size > 0
    if posProfitPct < -0.14 or posProfitPct > 4.55
        strategy.close("Long")


Plus de