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

Stratégie de négociation équilibrée avec prise de bénéfices et stop-loss

Auteur:ChaoZhang est là., Date: 2024-12-12 14h25 et 36h
Les étiquettes:OCALe GAP

img

Résumé

Cette stratégie est un système de négociation adaptatif basé sur les écarts et les mouvements de prix, permettant d'obtenir des rendements stables grâce à des points d'entrée flexibles et des paramètres dynamiques de prise de profit / stop-loss.

Principes de stratégie

La stratégie fonctionne à travers plusieurs mécanismes de base:

  1. Mécanisme de négociation des écarts: identifie les écarts à la hausse et à la baisse, en plaçant des ordres d'arrêt aux niveaux des écarts
  2. Suivi de tendance: Détermine la direction de la tendance en fonction de la relation entre les prix d'ouverture et de clôture
  3. Pyramiding: autorise jusqu'à 100 commandes dans la même direction
  4. TP/SL dynamique: définit dynamiquement les niveaux de prise de profit et de stop-loss en fonction du prix moyen de la position
  5. Gestion des ordres OCA: utilise des groupes d'ordres OCA pour assurer l'exclusivité mutuelle des ordres TP et SL
  6. Limites de négociation intraday: contrôle du risque par la définition des ordres maximaux exécutés intraday

Les avantages de la stratégie

  1. Haute adaptabilité: la stratégie ajuste automatiquement la direction des transactions et la taille des positions en fonction des conditions du marché
  2. Résultats de l'analyse de risque
  3. Haute flexibilité: aide à la pyramide pour obtenir plus de profits sur les marchés en tendance
  4. Efficacité d'exécution élevée: utilise des ordres stop pour la création rapide de positions à des niveaux de prix clés
  5. Systématisation élevée: les décisions commerciales totalement systématiques réduisent les interférences émotionnelles

Risques stratégiques

  1. Risque de glissement: risque de glissement significatif sur les marchés en évolution rapide
  2. Risque de suréchange: les entrées et sorties fréquentes peuvent entraîner des coûts de transaction élevés
  3. Risque systémique: risque de pertes plus importantes sur les marchés très volatils
  4. Risque de gestion des capitaux: le pyramidage peut conduire à une utilisation excessive des capitaux
  5. Risque technique: les interruptions du programme peuvent entraîner des problèmes de gestion des commandes

Directions d'optimisation de la stratégie

  1. Incorporer des indicateurs de volatilité: ajuster dynamiquement les paramètres TP/SL en fonction de la volatilité du marché
  2. Optimiser le mécanisme de pyramide: concevoir des règles plus détaillées de dimensionnement des positions afin d'éviter une utilisation excessive du capital
  3. Améliorer le contrôle des risques: ajouter plus d'indicateurs de contrôle des risques tels que les limites maximales de tirage intrajournalier
  4. Améliorer l'exécution des ordres: optimiser le mécanisme de progression des ordres afin de réduire l'impact du glissement
  5. Ajouter une analyse du sentiment du marché: optimiser le calendrier d'entrée en incorporant le volume et d'autres indicateurs

Résumé

Il s'agit d'une stratégie de trading bien conçue avec une logique rigoureuse, garantissant la stabilité et la sécurité des transactions grâce à de multiples mécanismes. Les principaux avantages résident dans sa capacité d'adaptation et de contrôle des risques, tout en accordant une attention particulière aux risques liés à la volatilité du marché.


/*backtest
start: 2024-12-04 00:00:00
end: 2024-12-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Greedy Strategy - maclaurin", pyramiding = 100, calc_on_order_fills=false, overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
backtestStartDate = input(timestamp("1 Jan 1990"),
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " +
     "where the chart's instrument trades. It doesn't use the time " +
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2023"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " +
     "where the chart's instrument trades. It doesn't use the time " +
     "zone of the chart or of your computer.")
inTradeWindow = true
tp = input(10)
sl = input(10)
maxidf = input(title="Max Intraday Filled Orders", defval=5)
// strategy.risk.max_intraday_filled_orders(maxidf)
upGap = open > high[1]
dnGap = open < low[1]
dn = strategy.position_size < 0 and open > close
up = strategy.position_size > 0 and open < close
if inTradeWindow and upGap
    strategy.entry("GapUp", strategy.long, stop = high[1])
else
    strategy.cancel("GapUp")
if inTradeWindow and dn
    strategy.entry("Dn", strategy.short, stop = close)
else
    strategy.cancel("Dn")
if inTradeWindow and dnGap
    strategy.entry("GapDn", strategy.short, stop = low[1])
else
    strategy.cancel("GapDn")
if inTradeWindow and up
    strategy.entry("Up", strategy.long, stop = close)
else
    strategy.cancel("Up")
XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size
dir = strategy.position_size < 0 ? -1 : 1
lmP = strategy.position_avg_price + dir*tp*syminfo.mintick
slP = strategy.position_avg_price - dir*sl*syminfo.mintick
float nav = na
revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false)
if inTradeWindow and not revCond and XQty > 0
    strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL",  "TPSL")
    strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL", "TPSL")
if XQty == 0 or revCond
    strategy.cancel("TP")
    strategy.cancel("SL")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


Relationnée

Plus de