Stratégie de trading quotidienne de gestion dynamique des positions


Date de création: 2024-05-28 11:21:52 Dernière modification: 2024-05-28 11:21:52
Copier: 0 Nombre de clics: 674
1
Suivre
1617
Abonnés

Stratégie de trading quotidienne de gestion dynamique des positions

Aperçu

La stratégie adopte une approche de trading quotidienne cohérente, axée sur la capture de petits bénéfices cibles tout en contrôlant strictement les risques. La stratégie a été retracée à partir de 2021 et a montré une performance solide, avec un taux de victoire de 100%. L’idée principale de la stratégie est d’ouvrir de nouvelles positions de plus ou de moins au début de chaque journée de trading en fonction de la situation du marché la veille. Les paramètres clés comprennent un profit cible de 0,3% et un stop loss de 0,2%, un capital initial de 1000 $ et une commission de 0,1% par transaction.

Principe de stratégie

Le principe de base de la stratégie est basé sur le mouvement du marché du jour de négociation précédent, en ouvrant de nouvelles positions de tête blanche ou de tête blanche à l’ouverture de chaque jour de négociation. Plus précisément, si aucun poste n’était ouvert le jour précédent, la stratégie ouvrira des positions de tête blanche à l’ouverture d’un nouveau jour.

Avantages stratégiques

Cette stratégie de trading quotidien présente plusieurs avantages notables:

  1. 100% de réussite: La stratégie a obtenu 100% de réussite sur 36 transactions clôturées, soulignant sa performance constante.
  2. Gestion dynamique des positions: si une position de tête vide touche le seuil de perte, la stratégie consiste à ouvrir immédiatement une nouvelle position de tête multiple pour la remplacer, assurant ainsi une ouverture continue du marché.
  3. Une gestion rigoureuse des risques: la stratégie a fixé un profit cible de 0,3% et un stop-loss de 0,2% et maîtrise efficacement les risques.
  4. Participation régulière au marché: stratégie consistant à ouvrir une position au début de chaque journée, garantissant une participation régulière au marché.
  5. Résultats de la revue robuste: La revue a montré une solide performance à partir de 2021, avec un bénéfice net de 22,2% et un retrait maximal de 13,75%

Risque stratégique

Malgré les excellentes performances et la maîtrise des risques de cette stratégie, il existe des risques potentiels:

  1. Possibilité de pertes persistantes: Bien que les résultats de la revue soient impressionnants, les performances passées ne sont pas une garantie de résultats futurs.
  2. Événements Black Swan: les stratégies peuvent être vulnérables à des événements imprévus et à des fluctuations extrêmes du marché, entraînant des pertes supérieures aux attentes.
  3. Risque de levier: la stratégie utilise un levier de 200% sur chaque transaction, ce qui augmente le rendement potentiel, mais augmente également le risque.

Afin d’atténuer ces risques, il est important d’envisager d’augmenter la diversification et d’appliquer des stratégies similaires dans différents marchés et classes d’actifs. Il est également important de surveiller et d’ajuster régulièrement les paramètres de la stratégie pour s’adapter aux conditions changeantes du marché.

Orientation de l’optimisation de la stratégie

  1. Optimisation des paramètres: les objectifs de profit, de stop-loss et autres paramètres clés peuvent être améliorés par un retour d’expérience et une optimisation supplémentaires afin de réaliser des performances optimales dans différentes conditions de marché.
  2. Diversification: l’extension de la stratégie à d’autres marchés et catégories d’actifs peut améliorer les rendements globaux et réduire les risques.
  3. Ajustement de position dynamique: Ajustez dynamiquement la taille de la position en fonction de la volatilité du marché ou d’autres facteurs, afin d’optimiser davantage le rendement après ajustement du risque.
  4. Ajout de filtres supplémentaires: l’introduction d’indicateurs techniques supplémentaires ou d’indicateurs d’humeur du marché comme filtres peut améliorer la qualité des signaux de négociation.

Résumer

Dans l’ensemble, cette stratégie de trading quotidienne offre une approche équilibrée du day trading, axée sur la gestion des risques et la rentabilité continue. Elle convient aux traders qui recherchent une approche de trading systématique et rigoureuse.

Code source 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("Daily AUD-JPY Trading", overlay=true, initial_capital=1000, currency="AUD", default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1)

// Input parameters
profit_target = input(0.3, title="Profit Target (%)") / 100
loss_target = input(0.2, title="Loss Target (%)") / 100
start_year = input(2021, title="Start Year")

// Calculate daily open and close
new_day = ta.change(time("D"))

var float entry_price_long = na
var float entry_price_short = na
var bool position_long_open = false
var bool position_short_open = false

// Date check
trade_start = timestamp(start_year, 1, 1, 0, 0)

if new_day and time >= trade_start
    // If there was a previous long position, check for profit target
    if position_long_open
        current_profit_long = (close - entry_price_long) / entry_price_long
        if current_profit_long >= profit_target
            strategy.close("AUD Trade Long", comment="Take Profit Long")
            position_long_open := false
    
    // If there was a previous short position, check for profit target
    if position_short_open
        current_profit_short = (entry_price_short - close) / entry_price_short
        if current_profit_short >= profit_target
            strategy.close("AUD Trade Short", comment="Take Profit Short")
            position_short_open := false

    // Check for daily loss condition for short positions
    if position_short_open
        current_loss_short = (close - entry_price_short) / entry_price_short
        if current_loss_short <= -loss_target
            strategy.close("AUD Trade Short", comment="Stop Loss Short")
            position_short_open := false
            
            // Open a new long position to replace the stopped short position
            strategy.entry("AUD Trade Long Replacement", strategy.long)
            entry_price_long := close
            position_long_open := true

    // Open a new long position at the start of the new day if no long position is open
    if not position_long_open and not position_short_open
        strategy.entry("AUD Trade Long", strategy.long)
        entry_price_long := close
        position_long_open := true

    // Open a new short position at the start of the new day if no short position is open
    if not position_short_open and not position_long_open
        strategy.entry("AUD Trade Short", strategy.short)
        entry_price_short := close
        position_short_open := true

// Check for continuous profit condition for long positions
if position_long_open
    current_profit_long = (close - entry_price_long) / entry_price_long
    if current_profit_long >= profit_target
        strategy.close("AUD Trade Long", comment="Take Profit Long")
        position_long_open := false

// Check for continuous profit condition for short positions
if position_short_open
    current_profit_short = (entry_price_short - close) / entry_price_short
    if current_profit_short >= profit_target
        strategy.close("AUD Trade Short", comment="Take Profit Short")
        position_short_open := false

// Plot the entry prices on the chart
plot(position_long_open ? entry_price_long : na, title="Entry Price Long", color=color.green, linewidth=2)
plot(position_short_open ? entry_price_short : na, title="Entry Price Short", color=color.red, linewidth=2)

// Display current profit/loss percentage for long positions
var label profit_label_long = na
if position_long_open and not na(entry_price_long)
    current_profit_long = (close - entry_price_long) / entry_price_long * 100
    label.delete(profit_label_long)
    profit_label_long := label.new(x=time, y=high, text="Long P/L: " + str.tostring(current_profit_long, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)

// Display current profit/loss percentage for short positions
var label profit_label_short = na
if position_short_open and not na(entry_price_short)
    current_profit_short = (entry_price_short - close) / entry_price_short * 100
    label.delete(profit_label_short)
    profit_label_short := label.new(x=time, y=high, text="Short P/L: " + str.tostring(current_profit_short, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)