Stratégie de trading IGKEIT multi-temps basée sur l'amplitude moyenne de la trajectoire


Date de création: 2023-11-24 17:29:39 Dernière modification: 2023-11-24 17:29:39
Copier: 2 Nombre de clics: 586
1
Suivre
1617
Abonnés

Stratégie de trading IGKEIT multi-temps basée sur l’amplitude moyenne de la trajectoire

Aperçu

Cette stratégie est appelée stratégie de négociation multi-chronologique basée sur l’amplitude moyenne de la trajectoire. Son idée principale est de construire un signal de négociation basé sur l’amplitude moyenne entre la particule et le prix en introduisant une particule correspondant à la trajectoire des prix.

Principe de stratégie

La stratégie commence par définir une particule qui s’adapte à l’orbite des prix. La particule est affectée par la gravité et l’inertie, et sa trajectoire de mouvement s’écarte autour de l’oscillation des prix.

Plus précisément, la formule de position des particules définie dans la stratégie est la suivante:

pos:=if pos<close 
     nz(pos[1])+grav+traj  
else 
     nz(pos[1])-(grav)+traj

Je suis là.gravLe point de gravité, qui rapproche les particules du prix;trajLes deux composants permettent aux particules d’osciller autour du prix.

Et puis on calcule la distance moyenne entre le prix et la particule.avgdistLa construction de l’orbite ascendante et descendante:

bbl=pos-sma(avgdist,varb) 
bbh=pos+sma(avgdist,varb)

Enfin, lorsque le prix est supérieur à la ligne supérieure, faites plus, et lorsque le prix est inférieur à la ligne inférieure, faites moins.

Avantages stratégiques

Les avantages de cette stratégie par rapport aux stratégies traditionnelles de moyenne mobile sont les suivants:

  1. Les trajets des particules permettent de mieux simuler les fluctuations des prix.
  2. L’orbite ascendante et descendante peut s’adapter à l’amplitude moyenne historique, ce qui est utile pour capturer les percées;
  3. La conception de plusieurs fuseaux horaires permet de basculer entre les fuseaux horaires les plus élevés et les plus bas pour capturer plus d’opportunités de transactions.

Risque stratégique

Cette stratégie présente aussi des risques:

  1. Une mauvaise configuration des paramètres de mouvement des particules peut entraîner un faux signal ou un signal manqué;
  2. Les signaux peuvent entrer en conflit lors de la commutation entre plusieurs fuseaux horaires;
  3. La rupture d’un signal en orbite ascendante ou descendante peut augmenter le risque d’arrêt.

Les mesures de gestion des risques correspondantes comprennent: l’optimisation des paramètres pour réduire les faux signaux, la définition d’un cadre de temps clair pour les règles de prise de décision, la mise en place d’une position d’arrêt appropriée, etc.

Orientation de l’optimisation de la stratégie

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

  1. Optimiser les paramètres liés au mouvement des particules pour s’adapter à la trajectoire des prix;
  2. Augmentation du nombre de couches dans les périodes de temps, afin de confirmer les signaux dans les périodes de temps plus avancées;
  3. L’ajout d’indicateurs de volatilité évite de générer des signaux lors de fortes fluctuations du marché.
  4. Optimiser les stratégies de stop loss pour réduire les pertes individuelles.

Résumer

Cette stratégie améliore la stratégie des moyennes mobiles en introduisant l’adaptation des trajectoires de prix, avec des caractéristiques telles que l’auto-adaptation des paramètres, le multi-cadre temporel et l’optimisation des pertes. La clé est de trouver les équations de mouvement des particules appropriées pour simuler les prix. Bien que des tests et des optimisations supplémentaires soient encore nécessaires, les idées de base sont viables et méritent d’être étudiées plus en profondeur.

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

//@version=4
//2 revert
strategy("Jomy's Gyroscopic Bands",precision=8,commission_value=.03,overlay=true,initial_capital =10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100,  pyramiding=0)//,calc_on_order_fills= true, calc_on_every_tick=false) 
leverage=input(1,"leverage")
a=0
a:= if volume > -1
    nz(a[1])+1
else
    nz(a)
    
vara=input(4.0,"variable a (10 to the power of __ ",step=.5)
vara:=pow(10,vara)
varb=input(12,"variable b")
pos=0.0
pos:=if a<=5
    close
else
    nz(pos[1])
grav=1/sqrt((close*close))*vara
traj=0.0
traj:=(nz(close[1])-nz(close[2])+nz(traj[1])*varb)/(varb+1)
pos:=if pos<close
    nz(pos[1])+grav+traj
else
    nz(pos[1])-(grav)+traj

plot(pos,color=color.white)
plot(close)

avgdist=abs(close-pos)
bbl=pos-sma(avgdist,varb)
bbh=pos+sma(avgdist,varb)

plbbh=plot(bbh,color=color.red)
plbbl=plot(bbl,color=color.red)

long = close>pos
short = close<pos

fill(plbbh,plbbl,color=long?color.lime:color.red)
//bgcolor(close>bbh?color.lime:close<bbl?color.red:na,transp=90)

strategy.entry("Long1",strategy.long,when=long,qty=(strategy.equity*leverage/open)) 
strategy.close("Long1",when=not long)
strategy.entry("Short1",strategy.short,when=short,qty=(strategy.equity*leverage/open)) 
strategy.close("Short1",when=not short)


//plot(strategy.equity,color=color.lime,linewidth=4)