Les ressources ont été chargées... Je charge...

Stratégie de rupture basée sur le ratio risque-rendement et l'analyse technique

Auteur:ChaoZhang est là., Date: le 28 mai 2024 à 10h47
Les étiquettes:

img

Résumé

Cette stratégie est basée sur le modèle de drapeau taureau. Elle achète lorsque le prix dépasse le plus haut de la plage de drapeau, fixe le stop loss au plus bas de la plage de drapeau et fixe l'objectif de profit en fonction du rapport risque-rendement. La stratégie utilise les fonctions de prix les plus élevées et les plus basses pour identifier la plage de drapeau et détermine la rupture en comparant le prix de clôture actuel avec le prix le plus élevé de la bougie précédente.

Principe de stratégie

  1. Identifier le modèle de drapeau haussier: Calculer le haut et le bas de la plage de drapeau en utilisant les fonctions de prix le plus élevé et le plus bas, et déterminer si le prix actuel dépasse le haut du drapeau.
  2. Entrée: Si le prix de clôture actuel dépasse le prix le plus élevé de la bougie précédente et que le prix le plus élevé de la bougie précédente est inférieur au niveau le plus élevé, alors achetez.
  3. Le prix d'arrêt des pertes est fixé à la valeur minimale de l'indicateur moins une valeur de tampon.
  4. Prendre profit: Calculer le prix cible en fonction du ratio risque/rendement.

Les avantages de la stratégie

  1. Basé sur le modèle classique du drapeau taureau, il peut saisir les opportunités de rebond dans les tendances fortes.
  2. Le stop loss est réglé à la valeur minimale, ce qui rend le risque contrôlable.
  3. Utilisez le rapport risque-rendement pour fixer le prix cible et rechercher des rendements plus élevés.
  4. La logique du code est claire et utilise les fonctions intégrées de TradingView, ce qui le rend facile à comprendre et à modifier.

Risques stratégiques

  1. Dans un marché volatil ou lorsque la tendance n'est pas claire, les prix peuvent rapidement s'inverser après avoir franchi le seuil, entraînant des baisses importantes.
  2. La mise en place incorrecte de la valeur du coussin peut entraîner un arrêt prématuré des pertes.
  3. Le ratio risque/rendement réel peut ne pas atteindre la valeur fixée.
  4. La stratégie peut échouer pour certains modèles de drapeaux déformés.

Directions d'optimisation de la stratégie

  1. Considérez l'ajout de conditions supplémentaires aux signaux filtrés, telles que les changements de volume des transactions, la direction de la moyenne mobile, etc., afin d'améliorer la qualité du signal.
  2. Optimiser les paramètres en fonction des différentes caractéristiques du marché, telles que la longueur de la fourchette de référence, le ratio risque/rendement, la valeur du tampon stop-loss, etc.
  3. Considérez la construction de positions par lots et l'utilisation de stop-loss dynamiques pour réduire l'exposition au risque.
  4. Ajouter la gestion des positions pour contrôler le risque global.

Résumé

Cette stratégie est une stratégie de rupture basée sur le modèle classique de drapeau taureau, qui capture les opportunités de poursuite de la tendance en identifiant la plage de drapeau et les ruptures de prix. Les avantages de la stratégie sont une logique claire et un risque contrôlable, mais elle fait face à certains risques sur les marchés volatils ou les renversements de tendance. Des améliorations peuvent être apportées en termes d'optimisation des signaux, des paramètres dynamiques, de la gestion de position, etc., pour améliorer la robustesse et la rentabilité de la stratégie.


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bull Flag Breakout", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Параметры стратегии
riskRewardRatio = 3.0
flagLength = input.int(5, title="Flag Length")
stopLossBuffer = input.float(0.01, title="Stop Loss Buffer", step=0.001)

// Функция для вычисления стоп-лосса и тейк-профита
calcRiskRewardPrice(entryPrice, stopLossPrice, riskRewardRatio) =>
    takeProfitPrice = entryPrice + (entryPrice - stopLossPrice) * riskRewardRatio
    [stopLossPrice, takeProfitPrice]

// Найти минимум и максимум флага
flagLow = ta.lowest(low, flagLength)
flagHigh = ta.highest(high, flagLength)

// Условия для формирования бычьего флага
isBullFlag = high[1] < flagHigh and close > high[1]

// Условия для входа в сделку
if (isBullFlag)
    entryPrice = close
    stopLossPrice = flagLow - stopLossBuffer
    [calculatedStopLoss, calculatedTakeProfit] = calcRiskRewardPrice(entryPrice, stopLossPrice, riskRewardRatio)
    
    // Открыть длинную позицию
    strategy.entry("Bull Flag Long", strategy.long)
    strategy.exit("Take Profit", "Bull Flag Long", limit=calculatedTakeProfit)
    strategy.exit("Stop Loss", "Bull Flag Long", stop=calculatedStopLoss)
    label.new(bar_index, high, "Buy", color=color.green, textcolor=color.white, style=label.style_label_down)


Plus de