Stratégie de percée d'oscillation basée sur la moyenne mobile

Auteur:ChaoZhang est là., Date: 2024-01-23 15:13:31 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie s'appelle Oscillation Breakthrough Strategy Based on Moving Average. Elle calcule les lignes moyennes mobiles de différents cycles de prix pour déterminer si les prix franchissent les moyennes mobiles clés pour les transactions longues et courtes. Lorsque la moyenne mobile à court terme franchit la moyenne mobile à long terme, allez long. Lorsque la moyenne mobile à court terme tombe à travers la moyenne mobile à long terme, allez court.

Principe de stratégie

La stratégie est principalement basée sur la théorie des moyennes mobiles. La moyenne mobile est un outil d'analyse couramment utilisé dans l'analyse technique. Elle facilite les données de prix en filtrant les fluctuations de prix à court terme et reflète la direction de la tendance principale des prix. La moyenne mobile rapide reflète les tendances de prix à court terme, tandis que la moyenne mobile lente reflète les tendances de prix à long terme.

Cette stratégie utilise ce principe en définissant deux moyennes EMA avec des paramètres différents, une à court terme comme la ligne rapide et une à long terme comme la ligne lente. La stratégie définit des moyennes EMA avec des longueurs de 9 et 26 pour calculer la ligne de conversion et la ligne de base. Lorsque la moyenne EMA à court terme dépasse la moyenne EMA à long terme, allez long, indiquant que le prix à court terme est supérieur au prix à long terme, un signal haussier. Lorsque la moyenne EMA à court terme dépasse la moyenne EMA à long terme, allez court, indiquant que le prix à court terme est inférieur au prix à long terme, un signal baissier.

Ainsi, cette stratégie évalue les points d'inversion possibles des prix à travers les percées des EMAs rapides et lentes afin de saisir les opportunités de tendance à court terme des prix.

Analyse des avantages

  • Utiliser des indicateurs fiables basés sur la théorie de la moyenne mobile pour déterminer les points d'inversion des prix
  • Facile à comprendre et à mettre en œuvre sur la base d'indicateurs de base
  • Paramètres flexibles de réglage et d'optimisation pour différents produits
  • Option d'ouvrir uniquement des positions pendant des heures de négociation spécifiques pour éviter les risques du jour au lendemain
  • Cherchez des points de percée plus clairs pour augmenter le taux de victoire

Analyse des risques et solutions

  • Prédisposé à de multiples petites pertes lors de transactions aller-retour
    Peut assouplir correctement la plage de stop-loss, attendre un signal de renversement clair avant d'entrer dans les positions

  • Pour les stocks à faible liquidité, des écarts de prix ou des prix incohérents peuvent survenir Les paramètres peuvent être optimisés, ajuster les paramètres du cycle de moyenne mobile, le commerce avec des paramètres optimisés

  • Il est facile d'obtenir de faux signaux dans les marchés chaotiques. Peut être combiné avec d'autres indicateurs pour la confirmation avant d'entrer dans des positions

  • Capacité limitée à gérer des situations de marché complexes avec seulement des indicateurs de moyenne mobile simples Peut introduire d'autres indicateurs techniques pour améliorer la prise de décision sur des points clés

Directions d'optimisation

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

  1. Ajouter un mécanisme de dimensionnement des positions pour contrôler le risque de position en ajoutant/réduisant

  2. Ajouter un mécanisme de stop loss pour contrôler efficacement les pertes par transaction

  3. Incorporer le volume de négociation, les indicateurs de volume pour éviter de fausses écarts de prix

  4. Ajouter la prédiction de modèle, utiliser l'apprentissage automatique, etc. pour prédire la probabilité d'inversion de prix, améliorer les décisions

  5. Utiliser l'apprentissage en profondeur pour simuler la logique de prise de décision des traders professionnels et sélectionner des signaux à des points de probabilité d'inversion élevés

Résumé

Il s'agit d'une stratégie de réversion moyenne à court terme basée sur des indicateurs de moyenne mobile. Les paramètres personnalisables offrent une bonne flexibilité. Bien qu'il utilise des indicateurs simples, il peut être bien adapté aux environnements du marché grâce à l'ajustement des paramètres. La stratégie vise à saisir les opportunités d'arbitrage des inversions de prix à court terme. En introduisant des mécanismes tels que la taille des positions, le stop loss, etc., les risques peuvent être gérés efficacement pour améliorer la stabilité. Des indicateurs techniques plus avancés et des méthodes d'apprentissage automatique peuvent également être utilisés pour explorer l'amélioration de la performance.


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

//@version=3
strategy("Juiced Ichimoku Strat", overlay=true)

USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
trade_session = input(title='Trade Session:', defval='0800-1600', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)

varLo = input(title="Fast (Conversion) Line",  defval=9, minval=1, maxval=99999)
varHi = input(title="Slow (Base) Line",  defval=26, minval=1, maxval=99999)
emafreq = input(title="Ema on price frequency",  defval=2, minval=1, maxval=99999)

a = lowest(varLo)
b = highest(varLo)
c = (a + b ) / 2

d = lowest(varHi)
e = highest(varHi)
f = (d + e) / 2

//g = ((c + f) / 2)[varHi]
//h = ((highest(varHi * 2) + lowest(varHi * 2)) / 2)[varHi]

z = ema(close, emafreq)

bgcolor(z > c and z > f ? green : z < c and z < f ? red : yellow, transp=70)
plot(z, title="ema on Price", color=black)
plot(c, title="Fast (Conversion) Line", color=green)
plot(f, title="Slow (Base) Line", color=red)

long = z > c and z > f and (USE_TRADESESSION ? istradingsession : true)
short = z < c and z < f and (USE_TRADESESSION ? istradingsession : true)
//exit = z < c and z > f or z > c and z < f

closelong = z < c and z > f or z > c and z < f and (USE_TRADESESSION ? istradingsession : true)
if (closelong)
    strategy.close("Long")
closeshort = z < c and z > f or z > c and z < f and (USE_TRADESESSION ? istradingsession : true)
if (closeshort)
    strategy.close("Short")
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)




Plus de