Stratégie de suivi des tendances basée sur plusieurs indicateurs

Auteur:ChaoZhang est là., Date: 2023-11-23 15:43:02 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie identifie les tendances en combinant plusieurs indicateurs tels que RSI, MA, EMA et Bollinger Bands pour mettre en œuvre le suivi des tendances. Lorsqu'une tendance à la baisse relativement ascendante est identifiée, la stratégie établira une position longue.

Principe

La logique de base de cette stratégie est d'identifier les tendances des prix en combinant RSI, MA, EMA et Bollinger Bands. Plus précisément, elle trace simultanément deux lignes MA, l'une définie à 10 périodes et l'autre à 5 périodes.

Lorsque le prix de clôture dépasse la ligne MA de 5 périodes, la ligne EMA de 20 périodes et le rail inférieur, tandis que l'indicateur RSI dépasse la ligne 25 suracheté, la stratégie estime que les prix sont relativement en hausse et qu'il entrera dans une position longue.

En revanche, lorsque le prix de clôture dépasse la ligne MA à 10 périodes, la ligne EMA à 30 périodes et le rail supérieur, tandis que l'indicateur RSI dépasse la ligne de survente à 75, la stratégie estime que les prix sont relativement en baisse et qu'il entrera dans une position courte.

Comme vous pouvez le voir, cette stratégie identifie les tendances potentielles en combinant la logique du prix brisant la moyenne mobile et l'inversion de l'indicateur RSI, puis suit cette tendance.

Analyse des avantages

Le plus grand avantage de cette stratégie est qu'elle utilise plusieurs indicateurs pour identifier les tendances, ce qui peut réduire efficacement les faux signaux. Plus précisément, le prix doit franchir la moyenne mobile et les bandes de Bollinger simultanément pour déclencher les signaux de trading, et l'indicateur RSI doit également subir un retournement de Langarde, ce qui filtre beaucoup de bruit.

En outre, la stratégie suit des tendances relativement claires plutôt que du bruit à court terme, ce qui augmente également la probabilité de profit.

Analyse des risques

Il convient de noter qu'aucune stratégie ne peut être rentable à 100%, et cette stratégie ne fait pas exception. Le principal risque est que le jugement combiné de plusieurs indicateurs se trompe, ce qui entraîne de mauvaises transactions. De plus, des événements soudains peuvent également invalider la stratégie.

Pour réduire les risques, les paramètres des indicateurs peuvent être ajustés de manière appropriée afin d'optimiser la rentabilité. En outre, il est également très nécessaire de définir des points de stop-loss pour contrôler une seule perte. Bien sûr, les risques systémiques inévitables nécessitent une préparation psychologique des investisseurs.

Optimisation

Les principales optimisations de cette stratégie sont les suivantes:

  1. Des combinaisons de plusieurs types d'indicateurs sont testées pour trouver de meilleures combinaisons multi-indicateurs;

  2. Optimiser les paramètres des indicateurs afin d'améliorer la stabilité de la stratégie;

  3. Améliorer les modèles d'apprentissage automatique pour faciliter le jugement et améliorer la précision;

  4. Améliorer les mécanismes d'arrêt-perte adaptatifs pour contrôler les risques;

  5. Optimisation des tests antérieurs pour améliorer la stabilité et la rentabilité.

Conclusion

Cette stratégie a conçu un ensemble de mécanismes de suivi relativement ascendants basés sur RSI, MA, EMA et Bollinger Bands, et entre dans des positions directionnelles après avoir jugé les tendances des prix en combinant plusieurs indicateurs. L'intégration de plusieurs indicateurs pour juger peut réduire efficacement la probabilité d'erreurs de jugement et filtrer le bruit dans une certaine mesure, en suivant des tendances relativement claires. Bien sûr, la gestion des risques a également besoin d'attention. Dans l'ensemble, cette stratégie a une grande marge d'optimisation et peut obtenir de meilleurs résultats avec l'apprentissage automatique et d'autres moyens.


/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © lepstick-TC
//@version=4
strategy("1", overlay=true)
length = input(5, minval=1)
src = input(close, title="Source")
mult = input(1.5, minval=0.001, maxval=50)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.red)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)
rsicok=input(75,minval=0,title="Rsi yüksek")
rsiaz=input(25,maxval=50,title="Rsi düşük")
rsizaman=input(7,minval=0,title="Rsi zaman")
smadeger=input(10,minval=0,title="Ma üst")
smadeger2=input(5,minval=0,title="Ma alt")
emadeger=input(30,minval=0,title="Ema üst")
emadeger2=input(20,minval=0,title="Ema alt")
myrsi=rsi(close,rsizaman)
myrsi2=rsi(close,rsiaz)
myrsi3=rsi(close,rsicok)
myma=sma(close,smadeger)
myma2=sma(close,smadeger2)
myema=ema(close,emadeger)
myema2=ema(close,emadeger2)
mycond =myrsi >rsicok and close> myma and close>myema
mycond2=myrsi<rsiaz and close<myma2 and close<myema2
barcolor(mycond? #2196F3: na)
barcolor(mycond2? #FF9800: na)
plot(myma,title="Ma yüksek",color=color.black,linewidth=0)
plot(myma2,title="Ma düşük",color=color.blue,linewidth=0)
plot(myema,title="Ema yüksek",color=color.yellow,linewidth=0)
plot(myema2,title="Ema düşük",color=color.gray,linewidth=0)
idunno =close< sma(close,smadeger2) and close < sma(close,smadeger) and close<ema(close,emadeger)and close<ema(close,emadeger2)and crossunder(close,lower)and crossunder(myrsi,myrsi2)and crossunder(close,basis) 
plotchar(idunno,char="A",color=#808000 ,location=location.belowbar) 
idunno2 =close> sma(close,smadeger2) and close> sma(close,smadeger) and close>ema(close,emadeger)and close>ema(close,emadeger2)and crossover(close,upper)and crossover(myrsi,myrsi3)and crossover(close,basis)
plotchar(idunno2,char="S",color=#787B86 ,location=location.abovebar)
strategy.entry("Al",true,when =idunno)
strategy.entry("Sat",false,when = idunno2)
strategy.close("Al",when=ema(close,emadeger)and crossover(open,upper))
strategy.close("Sat",when=sma(close,smadeger2)and crossunder(open,lower))
//strategy.exit("Al çıkış","Al",limit=upper)
//strategy.exit("Sat çıkış","Sat",limit=lower)
//strategy.exit("Al çıkış","Al",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)
//strategy.exit("Sat çıkış","Sat",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)


Plus de