Stratégie d'équilibre dynamique intraday long-short combinant moyenne mobile et super tendance


Date de création: 2024-03-11 11:33:47 Dernière modification: 2024-03-11 11:33:47
Copier: 0 Nombre de clics: 692
1
Suivre
1617
Abonnés

Stratégie d’équilibre dynamique intraday long-short combinant moyenne mobile et super tendance

Aperçu de la stratégie

La stratégie d’équilibrage dynamique multichannel intraday combinée à la moyenne et à la super tendance est une stratégie de négociation quantitative basée sur Pine ScriptTM 5. Elle utilise l’indicateur MACD et l’indicateur de la super tendance pour capturer les opportunités de tendance du marché, tout en contrôlant les risques par des commutations multichannel dynamiques et des arrêts de perte.

Principe de stratégie

Le cœur de la stratégie est de combiner l’indicateur MACD et l’indicateur de super-tendance pour juger de la direction de la tendance du marché.

  1. Utilisez l’indicateur de super-tendance pour déterminer la direction de la tendance actuelle. Lorsque l’indicateur de super-tendance change, il indique un renversement de tendance.
  2. Le diagramme à colonnes de l’indicateur MACD est utilisé pour juger de la variation du mouvement. Lorsque le diagramme à colonnes du MACD est inversé négativement, il indique une augmentation de l’énergie d’oscillation vers le haut; lorsque le diagramme à colonnes du MACD est inversé positivement, il indique une augmentation de l’énergie d’oscillation vers le bas.
  3. Lorsque l’indicateur de super-tendance et l’indicateur MACD émettent simultanément des signaux de plus, ouvrir une position de plus; lorsque l’indicateur de super-tendance et l’indicateur MACD émettent simultanément des signaux de moins, ouvrir une position de moins.
  4. Il est préférable d’annuler toutes les positions à une heure fixe de chaque jour de négociation (par exemple, 15h15), afin d’éviter les risques d’une nuit.
  5. Le jour de l’ouverture de la position (par exemple, à 9h30), la position peut être réouverte en fonction des indications de l’indicateur de tendance supérieure et de l’indicateur MACD.

La stratégie est capable de s’adapter aux changements du marché et de saisir les opportunités de tendance grâce à des commutations multifonctions dynamiques. En outre, la conception d’un placement à temps fixe aide également à contrôler les risques.

Avantages stratégiques

  1. Le suivi des tendances: en combinant l’indicateur de super-tendance et l’indicateur MACD, la stratégie permet de saisir efficacement les opportunités de tendance du marché.
  2. Dynamique de commutation: la stratégie consiste à ajuster la direction de la position en fonction de la dynamique des changements d’indicateurs et de l’évolution du marché.
  3. Contrôle des risques: grâce à des positions à plat fixe et à des commutations dynamiques multi-espaces, la stratégie permet de mieux contrôler les risques.
  4. Flexibilité des paramètres: les paramètres de la stratégie (par exemple, le cycle ATR, les facteurs, etc.) peuvent être ajustés en fonction des caractéristiques du marché et des préférences personnelles, avec une certaine flexibilité.

Risque stratégique

  1. Risque d’échec de l’indicateur: dans certains environnements de marché, les indicateurs MACD et les indicateurs de tendance supérieure peuvent émettre des signaux erronés, entraînant l’échec de la stratégie.
  2. Risque d’optimisation des paramètres: la performance de la stratégie dépend de la sélection des paramètres, les paramètres inappropriés peuvent entraîner une mauvaise performance de la stratégie.
  3. Risque de stop-loss: la stratégie n’a pas de logique de stop-loss claire, ce qui peut entraîner des pertes plus importantes dans des conditions de marché extrêmes.
  4. Risque de nuit: Bien que la stratégie soit décomptée pendant la journée, il est possible de courir le risque d’un déficit de nuit en ouvrant une position de nuit.

Direction d’optimisation

  1. Augmentation de la logique de stop-loss: ajout d’une logique de stop-loss explicite dans la stratégie, telle qu’un stop-loss à pourcentage fixe ou un stop-loss ATR, pour une plus grande maîtrise du risque.
  2. Optimisation des paramètres: optimisation des paramètres clés de la stratégie, tels que le cycle ATR, les facteurs, les paramètres MACD, etc., afin d’améliorer la stabilité et la rentabilité de la stratégie.
  3. Filtrage des signaux: ajout d’autres conditions de filtrage des signaux, telles que la rupture des prix, le volume des transactions, etc., pour améliorer la fiabilité des signaux.
  4. Test multi-marché: tester la stratégie sur différents marchés et variétés pour évaluer son adéquation et sa stabilité.

Résumer

La stratégie d’équilibre dynamique multi-espaces au cours de la journée combinée à la moyenne et à la super tendance est une stratégie de négociation basée sur le suivi de la tendance et le jugement de la dynamique. En combinant l’indicateur de super tendance et l’indicateur MACD, la stratégie permet d’ajuster dynamiquement la direction de la position pour s’adapter aux changements du marché et de capturer les opportunités tendancielles.

Cependant, la stratégie présente également des risques et des lacunes, tels que le risque de défaillance de l’indicateur, le risque d’optimisation des paramètres, le risque de rupture, etc. Pour améliorer encore la stratégie, il est possible d’envisager d’ajouter une logique de rupture, d’optimiser les paramètres, d’ajouter plus de conditions de filtrage du signal et de tester sur plusieurs marchés.

Dans l’ensemble, la stratégie d’équilibre dynamique polyvalente combinée à une tendance équilibrée et à une tendance supérieure fournit un moyen de suivre la tendance et de contrôler le risque. Dans la pratique, les traders doivent combiner leurs propres préférences en matière de risque et les caractéristiques du marché, afin d’ajuster et d’optimiser la stratégie de manière appropriée.

Code source de la stratégie
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © smj31071995

//@version=5
strategy("EQ - INTRA - Samsuga supertrend prod", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick = false)


atrPeriod = input.int(7,    "ATR Length", minval = 1)
factor =    input.float(1.0, "Factor",     minval = 0.01, step = 0.01)
st_tf = "3"
macd_tf="30"

[supertrend, direction] =request.security(symbol = syminfo.tickerid, timeframe = st_tf,expression =  ta.supertrend(factor, atrPeriod),lookahead=barmerge.lookahead_on)

supertrend := barstate.isfirst ? na : supertrend
upTrend =    plot(direction <= 0 ? supertrend : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend =  plot(direction <= 0 ? na : supertrend, "Down Trend", color = color.red,   style = plot.style_linebr)
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)
longcondition = direction[1] > direction 
shortCondition = direction[1] < direction 

macdp1 = 2
macdp2=8
macdp3=4

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = macd_tf,expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
timezone_input = input("Asia/Kolkata", title="Timezone")
// log.info(timezone_input)
if(hour==15 and minute==15)
    strategy.close_all(comment = "DAY EXIT",alert_message = "X-D")
else if(hour==9 and minute==30)
    if(longcondition or histLine[1]>0)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "DL",alert_message = "L")
    else if(shortCondition or histLine[1]<0) 
        strategy.entry(id= "Short", direction=strategy.short,  comment = "DS",alert_message = "S")
else
    if(longcondition)
        strategy.close("Short",comment = "X-S", alert_message = "X-S")
        if(histLine[1]>0)    
            strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
    else if(shortCondition) 
        strategy.close("Long",comment = "X-L",alert_message = "X-L")
        if(histLine[1]<0)    
            strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")


// plot(macdLine,   title = "MACD",   color = #2962FF)
// plot(signalLine, title = "Signal", color = #FF6D00)
// 8, 21, 5
// 8,13,9
// 12,26,9
//  1--> 3, 17, 5
// 3, 10, 16
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
//  /////////----------------METHOD 1-----------------////////////////
// if(longcondition)
//     if(strategy.opentrades>0)
//         strategy.close("Long","Prev Exit", immediately = true)
//     if( histLine[0] > 0.1)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long")

    
// else if(shortCondition and strategy.openprofit<=0.1) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 2-----------------////////////////
// if(longcondition)
//     if(histLine[0] > 0)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long" )
//         strategy.exit("Long", loss = close*0.2)


    
// else if(shortCondition ) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 3-----------------////////////////