Stratégie de la Sainte Croix


Date de création: 2023-12-01 15:27:39 Dernière modification: 2023-12-01 15:27:39
Copier: 0 Nombre de clics: 970
1
Suivre
1619
Abonnés

Stratégie de la Sainte Croix

La stratégie de la Sainte Croix est une stratégie de trading quantitative qui combine un système bi-linéaire et un indicateur ADX. Elle vise à identifier la direction et l’intensité d’une tendance et à négocier en cas de revers.

Principe de stratégie

La stratégie utilise à la fois l’indice des moyennes mobiles à 20 jours (EMA) et l’indice ADX pour identifier le moment de l’entrée. Plus précisément, elle émet un signal de transaction dans les deux cas suivants:

  1. Faire plus lorsque l’ADX est inférieur à 30 (indiquant une tendance plus faible) et que le prix franchit l’EMA du 20e jour en dessous;

  2. Lorsque la valeur de l’ADX est supérieure à 30 (indiquant une forte tendance) et que le prix franchit l’EMA du 20e jour par-dessus, le shorting est effectué.

On peut voir que la stratégie repose sur la force et la direction de la tendance déterminée par l’ADX, puis sur la résistance au support associée à la moyenne mobile pour rechercher des opportunités de revers.

Analyse des avantages

Le plus grand avantage de la stratégie de la Sainte-Croix est qu’elle prend en compte à la fois la direction et la force de la tendance, ce qui permet d’éviter efficacement les fausses ruptures, réduisant ainsi la probabilité d’un arrêt de perte. Plus précisément, la stratégie présente les avantages suivants:

  1. L’utilisation d’un système bi-linéaire permet d’identifier efficacement les tendances;
  2. L’ADX permet d’évaluer la force de la tendance afin d’éviter les ruptures de stockage et les ruptures inefficaces.
  3. La combinaison de l’inversion et du trading de tendances permet de capturer une tendance et de la renverser à un tournant.
  4. Les règles de fonctionnement sont claires, simples et faciles à mettre en œuvre.

Analyse des risques

La stratégie de la Sainte-Croix comporte également des risques, principalement dans les domaines suivants:

  1. L’ADX, qui sert d’indicateur de jugement auxiliaire, peut également émettre des signaux erronés.
  2. Les pertes causées par les petites vagues ne peuvent pas être évitées complètement par les croisements bi-homogènes.
  3. Des paramètres mal définis (tels que les valeurs de cible ADX, les périodes de ligne moyenne, etc.) peuvent provoquer des signaux trop fréquents ou conservateurs.

Pour réduire les risques mentionnés ci-dessus, il est possible d’ajuster les combinaisons de paramètres pour obtenir des résultats optimaux, ou de mettre en place des arrêts de perte pour contrôler les pertes individuelles. De plus, il est nécessaire de faire retester la stratégie sur différentes variétés et périodes.

Direction d’optimisation

La stratégie de la Sainte-Croix a également de nombreux aspects à optimiser:

  1. Essayez différents types de moyennes mobiles, comme les moyennes mobiles pondérées.
  2. Les valeurs ADX peuvent être optimisées en tant que paramètres;
  3. Il est possible de tester différents paramètres de cycle, tels que l’EMA de 10 jours et 30 jours.
  4. Il est possible d’ajouter d’autres indicateurs auxiliaires, tels que le RSI, le Brin, etc. pour confirmer le signal de négociation.

Les ajustements de paramètres ou l’ajout de nouveaux paramètres peuvent améliorer la rentabilité ou le taux de réussite d’une stratégie. Cependant, toute optimisation nécessite un retour d’expérience suffisant pour assurer sa stabilité.

Résumer

Dans l’ensemble, la stratégie de la Sainte-Croix combine les avantages de la double ligne de parité et de l’indicateur ADX, et utilise des règles de négociation claires pour capturer les virages de tendance. Elle est prometteuse. Cependant, les traders doivent encore optimiser les combinaisons de paramètres et les règles de stop-loss pour s’adapter aux différentes conditions du marché.

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

//@version=3
strategy("LAT Holy Grail v3", overlay=true)

/////////////TEST TIME ////////////////////////
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(4, "Backtest Start Month")
testStartDay = input(15, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(5, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
//////////////////////////////////////////////////////////////////////

myema= ema(close, 20)
plot(myema, color=green, title="eMA", linewidth=3)



//longCondition = (crossover(close, myema)) //and adx3 < target
//if (longCondition)
    //strategy.entry("My Long Entry Id", strategy.long)

//shortCondition = (crossunder(close, myema)) //and adx3 > target
//if (shortCondition)
    //strategy.entry("My Short Entry Id", strategy.short)
    
    //////////////////////////////////////////////////////////
    ///////////////////////////////////////   DMI  ///////////////////////////////////////////////
len3 = input(14, minval=1, title="DI Length")                           /////////////////////
lensig3 = input(14, title="ADX Smoothing", minval=1, maxval=50)         ////////////////////
up3 = change(high)                                                      ///////////////////
down3 = -change(low)                                                    //////////////////
plusDM3 = na(up3) ? na : (up3 > down3 and up3 > 0 ? up3 : 0)            /////////////////
minusDM3 = na(down3) ? na : (down3 > up3 and down3 > 0 ? down3 : 0)     ////////////////
trur3 = rma(tr, len3)                                                   ///////////////
plus3 = fixnan(100 * rma(plusDM3, len3) / trur3)                        //////////////
minus3 = fixnan(100 * rma(minusDM3, len3) / trur3)                      /////////////
sum3 = plus3 + minus3                                                   ////////////
adx3 = 100 * rma(abs(plus3 - minus3) / (sum3 == 0 ? 1 : sum3), lensig3) ///////////
//plot(plus3, color=green, style=circles, linewidth=2, title="+DI")     //////////
//plot(minus3, color=red, style=circles, linewidth=2, title="-DI")      /////////
plot(adx3, color=aqua, style=line, linewidth=3, title="ADX")            ////////
target = input(30, title=" ADX Target Line")                            ///////
plot(target, color=yellow, title="ADX Target Line")                     //////
/////////////////////////////////////////////////////////////////////////////////////////////////
                                                                                        
plot(hl2)


///////////////////////////////////////////////  eMA SIGNAL LINE   ///////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////// HOLY GRAIL STRATEGY ///////////////////////////////////////////////////////////////////

if (adx3 <= target) and crossover(close, myema)
    strategy.entry("HolyGrail", strategy.long, comment="Long")
 
if (adx3 >= target) and crossunder(close, myema)
    strategy.entry("HolyGrail", strategy.short, comment="Short")