Stratégie de trading inversée basée sur des écarts superposés


Date de création: 2023-12-15 15:47:23 Dernière modification: 2023-12-15 15:47:23
Copier: 0 Nombre de clics: 586
1
Suivre
1621
Abonnés

Stratégie de trading inversée basée sur des écarts superposés

Aperçu

L’idée principale de cette stratégie est d’utiliser la différence de chevauchement des prix pour juger de la tendance du marché. La différence est plus élevée lorsqu’elle est inversée de négatif à positif et vide lorsqu’elle est inversée de positif à négatif.

Le principe

La stratégie commence par calculer la différence de chevauchement entre les prix (Close-Close[1]), c’est-à-dire le prix de clôture d’aujourd’hui moins le prix de clôture d’hier, puis le total de la différence au cours des 30 derniers jours est calculé. Un signal de multiplication est généré lorsque le total est inversé de négatif à positif, et un signal de décalage est généré lorsque le total est inversé de positif à négatif, ce qui fait partie d’une stratégie de trading inversée typique.

Plus précisément, la stratégie vise à maintenir trois indicateurs:

  1. ff: somme des écarts des 30 derniers jours
  2. dd1: moyenne mobile pondérée sur 15 jours de ff
  3. dd2: moyenne mobile pondérée sur 30 jours de ff

Quand ff est inversé de négatif à positif, c’est-à-dire quand moins de 0 est plus grand que 0, et que dd1 est également inversé de négatif à positif, un signal de multiplicité est produit.

Un signal de commutation est généré lorsque ff est inversé de positif à négatif, c’est-à-dire que plus grand que 0 devient plus petit que 0, et que dd1 est également inversé de positif à négatif.

Le stop-loss est une ligne de stop-loss définie après avoir fait plus de prises de position.

Les avantages

Cette stratégie présente les avantages suivants:

  1. Les idées sont claires, faciles à comprendre et à mettre en œuvre.
  2. Le prix de l’or est le prix de l’or le plus élevé dans le monde.
  3. Le système de double confirmation permet de filtrer les fausses fuites.
  4. Les paramètres peuvent être personnalisés pour s’adapter à différents environnements de marché.

Les risques

Cette stratégie comporte aussi des risques:

  1. La probabilité d’échec de l’inversion est plus élevée, et les pertes sont plus faciles dans les marchés à oscillations intermédiaires.
  2. Une mauvaise configuration des paramètres peut entraîner des transactions fréquentes et des coûts de transaction élevés.
  3. Il est nécessaire de combiner d’autres indicateurs pour filtrer l’entrée, en évitant le recouvrement et le recouvrement.

La solution est la suivante:

  1. Il est nécessaire de définir un ratio de stop loss raisonnable pour contrôler les pertes individuelles.
  2. Optimiser les paramètres pour trouver la meilleure combinaison de paramètres
  3. Les conditions de filtrage ont été renforcées pour éviter l’accès inutile.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Augmentation du nombre de passages, par exemple en augmentant le nombre de passages lors d’une percée.
  2. Le filtrage des indicateurs de tendance est combiné avec celui de l’opération inverse.
  3. Adaptez les paramètres de manière dynamique pour qu’ils changent en fonction de l’état du marché
  4. Optimisation des mécanismes de stop loss, par exemple en fonction du mouvement des prix.

Résumer

Cette stratégie, qui permet de juger du point de basculement du marché en calculant le renversement de la différence de prix, est une stratégie de trading inversée typique. L’idée de la stratégie est claire, facile à mettre en œuvre et présente une certaine valeur pratique.

Code source de la stratégie
/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Fst",currency="USD",initial_capital=100000)

//Length0 = input(30, title="fastperiod", minval=1)
Length = input(30, title="SUMM")
Length1 = input(15, title="Signalperiod", minval=1)
Length2= input(30, title="Info", minval=1)
profit=input(95, title="profit", minval=1)
loss=input(95, title="loss", minval=1)
//f=iff(close>open,close-open,iff(close>open[1],close[1]-open[1],0))
f=0.0
dd1=0.0
dd2=0.0
ff=0.0
ff0=0.0
f:=close-close[1]
ff:=sum(f,Length)
//ff0:=sum(f,Length0)
dd1:=wma(ff,Length1)
dd2:=wma(ff,Length2)

bull=ff<0 and dd1<0 and ff[1]<dd1 and ff>dd1 and abs(ff)>20
bear=ff>0 and dd1>0 and ff[1]>dd1 and ff<dd1 and abs(ff)>20
if(bull)
    
    strategy.entry("long", strategy.long)
strategy.exit("exit", "long", profit = close*profit/1000, loss=close*loss/1000) 

strategy.close("long", when = bear)




plotchar(bull,size=size.small,location=location.bottom)
plot(ff,color=black,linewidth=2)
plot(ff0,color=green,linewidth=2)
plot(wma(ff,Length1),color=red,linewidth=2)
plot(wma(ff,Length2),color=blue,linewidth=2)
plot(wma(ff,Length1)-wma(ff,Length2),color=green,style=columns)

plot(0,linewidth=1,color=black)
plot(500,linewidth=1,color=red)
plot(-500,linewidth=1,color=red)