Stratégie de trading basée sur une combinaison d'indicateurs multiples


Date de création: 2023-10-26 15:22:28 Dernière modification: 2023-10-26 15:22:28
Copier: 0 Nombre de clics: 693
1
Suivre
1617
Abonnés

Stratégie de trading basée sur une combinaison d’indicateurs multiples

Aperçu

La stratégie utilise la combinaison de trois indicateurs: CCI, ADX et AO pour générer des signaux de trading. Le CCI est utilisé pour déterminer si le marché est en survente, l’ADX est utilisé pour déterminer la direction de la tendance et l’AO est utilisé pour aider à déterminer le marché de la volatilité.

Principe de stratégie

  1. L’indicateur CCI est utilisé pour juger si le marché est en sur-achat ou en sur-vente. Si le CCI est inférieur à -100, il est en survente, et si il est supérieur à 100, il est en survente.

  2. L’indicateur ADX détermine la force de la tendance. DI+ représente la force de la tendance à la hausse, DI- représente la force de la tendance à la baisse. ADX représente la force de la tendance moyenne.

  3. L’indicateur AO détermine la force aérienne excessive. L’AO est composé de la force SMA rapide diminuée de la force SMA lente. Une augmentation de l’AO représente une augmentation de la force aérienne courante, une diminution de l’AO représente une augmentation de la force aérienne.

  4. La combinaison de plusieurs indicateurs ci-dessus forme une stratégie de négociation: faire plus lorsque CCI < 0 et DI + < 25 et AO < 0; plafonner lorsque DI + > 25

  5. Calculer le nombre d’ordres dynamiquement en tant qu’intérêt de compte divisé par le prix de clôture et le prix de décaissement pour réaliser un nombre d’ordres ajusté en fonction de la variation des intérêts de compte.

  6. L’utilisation de strategy.entry est utilisée pour la multiplication des signaux, tandis que strategy.close est utilisé pour la clôture des positions.

Analyse des avantages

  1. L’utilisation du CCI pour détecter les situations de survente et de survente permet de filtrer efficacement les fausses informations générées par les chocs.

  2. L’indicateur ADX détermine l’existence et la force d’une tendance et capte les signaux de tendance les plus forts.

  3. L’indicateur AO peut aider à juger de la chaleur et de l’énergie d’une tendance et à éviter de négocier dans des conditions de choc.

  4. La combinaison de plusieurs indicateurs permet de vérifier les signaux entre eux, d’améliorer la fiabilité des signaux et de réduire efficacement les faux signaux.

  5. Le nombre d’ordres calculé de manière dynamique permet d’ajuster la taille des positions en fonction de l’évolution des droits et intérêts du compte, avec une plus grande conscience de la gestion des fonds.

  6. La logique de la stratégie est claire, simple, facile à comprendre et à suivre.

Analyse des risques

  1. L’indicateur CCI a une faible capacité de détection des tremblements de terre de VSDK, ce qui peut générer de faux signaux.

  2. L’indicateur ADX est en retard et risque de manquer un tournant.

  3. L’indicateur AO est peu efficace pour juger de la courbure.

  4. Bien que la combinaison de plusieurs indicateurs puisse améliorer la fiabilité du signal, une mauvaise configuration des indicateurs peut également entraîner un filtre excessif entraînant des opportunités de trading manquées.

  5. DYNAMICAOR est lié à la volatilité du marché et doit être adapté en fonction des variétés et des conditions du marché.

  6. Les retraits stratégiques peuvent être importants et nécessitent une gestion rigoureuse des fonds pour contrôler les risques.

Direction d’optimisation

  1. Optimiser les paramètres du CCI pour identifier les zones de sur-achat et de sur-vente dans différents marchés.

  2. Optimiser les paramètres ADX pour capturer la conversion des tendances dans différentes variétés et environnements de marché.

  3. Adaptez les paramètres AO pour identifier les tendances réelles dans différents environnements de fluctuation.

  4. Tester différentes combinaisons de poids d’indicateurs pour trouver le paramètre optimal.

  5. Le gouvernement a décidé d’ajouter des stratégies de stop-loss pour contrôler la retraite.

  6. Le nombre de transactions a été évalué en fonction du volume des transactions, afin d’éviter de fausses ruptures.

  7. Adaptation des positions fixes en fonction des caractéristiques des différentes variétés.

Résumer

Cette stratégie utilise la combinaison de trois indicateurs CCI, ADX et AO pour former un signal de multiplication plus fiable. En même temps, elle est associée à un nombre d’ordres calculé de manière dynamique et à une gestion des positions, ce qui permet de contrôler efficacement les risques. L’idée de la stratégie est simple et claire, facile à comprendre et convient aux débutants.

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

//@version=3
strategy("Strategy Niel", shorttitle="Strategy Niel", max_bars_back=2000, initial_capital=1000)

//Input variables
buywhenadxabove = input(25)
buywhendiplusbelow = input(10)
buywhenccibelow = input(0)
buywhenawesomeoscillatorbelow = input(0)
sellwhendiplusabove = input(25)

//CCI script
numberofbarsforcci = input(20)
CCI = cci(close,numberofbarsforcci)

//+DI and ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) => 
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	[adx, plus, minus]

[sig, up, down] = adx(dilen, adxlen)

//plot(sig, color=red, title="ADX")
//plot(up, color=blue, title="+DI")
//plot(down, color=orange, title="-DI")


//Awesome Oscillator
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
cClr = xSMA1_SMA2 > xSMA1_SMA2[1] ? blue : red
//plot(xSMA1_SMA2, style=histogram, linewidth=1, color=cClr)

buy = sig > buywhenadxabove and up < buywhendiplusbelow  and CCI < buywhenccibelow and xSMA1_SMA2 < buywhenawesomeoscillatorbelow 

ordersize=floor(strategy.equity/close) // Floor returns largest integer, strategy.equity gives total equity remaining - allows to dynamically calculate the order size as the account equity increases or decreases.
strategy.entry("long",strategy.long,ordersize,when= buy) //strategy.entry let's you enter the market variables id ("long"), strategy.long (long position entry), size of the order and when the order should happen
bought = strategy.position_size[0] > strategy.position_size[1]
entry_price = valuewhen(bought, open, 0)
sell = up > sellwhendiplusabove 
strategy.close("long", when=sell ) //strategy.close let's you close your position with variables id ('long') and when this should happen