Stratégie de mise en place de l'inversion extrême

Auteur:ChaoZhang est là., Date: 21 février 2024
Les étiquettes:

img

Résumé

La stratégie d'installation de l'inversion extrême est une stratégie qui utilise des inversions extrêmes de la ligne K. Elle jugera en fonction de la taille de l'entité de la dernière ligne K et de la valeur moyenne, et générera des signaux de trading lorsque la taille de l'entité est supérieure à la valeur moyenne et qu'une inversion se produit.

Principe de stratégie

Cette stratégie évalue principalement la taille de l'entité de la ligne K actuelle et la taille globale de la ligne K.

Il enregistre la taille de l'entité (différence entre l'ouverture et la fermeture) de la dernière ligne K et la taille globale de la ligne K (différence entre la plus haute et la plus basse).

Ensuite, utilisez la moyenne mobile réelle de la plage (RMA) pour calculer la taille moyenne de l'entité et la taille de la ligne K des 20 dernières lignes K.

Lorsque la dernière ligne K monte et que la taille de l'entité est supérieure à la taille moyenne de l'entité, et que la taille globale de la ligne K est également supérieure à 2 fois la taille moyenne de la ligne K, un signal long est généré.

Au contraire, lorsque la dernière ligne K tombe et que la taille de l'entité satisfait également aux conditions ci-dessus, un signal court est généré.

C'est-à-dire que les signaux de trading sont générés lorsque les K-lines extrêmes s'inversent, à en juger par les valeurs moyennes.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Utilisez des caractéristiques extrêmes de la ligne K pour faciliter l'inversion
  2. Comparer les valeurs extrêmes de la taille de l'entité et la taille globale de la ligne K pour trouver des valeurs aberrantes
  3. Utiliser la RMA pour calculer des moyennes dynamiques adaptables aux changements du marché
  4. Combinez avec des modèles d'inversion pour des signaux plus fiables

Analyse des risques

Cette stratégie comporte également des risques:

  1. Les lignes K extrêmes ne sont pas nécessairement inversées, elles peuvent continuer à fonctionner
  2. Des paramètres mal réglés peuvent provoquer une trop grande sensibilité ou un engourdissement.
  3. Exige une volatilité suffisante du marché pour soutenir, ne convient pas à la consolidation
  4. Peut générer des signaux de négociation fréquents, augmenter les coûts de transaction et les risques de glissement

Pour réduire les risques, les paramètres peuvent être ajustés de manière appropriée ou l'arrêt des pertes peut être ajouté aux pertes de contrôle.

Directions d'optimisation

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

  1. Ajouter un filtre de volume pour éviter les fausses fuites
  2. Utiliser des indicateurs de volatilité pour optimiser dynamiquement les paramètres
  3. Combiner les indicateurs de tendance pour éviter l'inversion de long et de court
  4. Ajouter des modèles d'apprentissage automatique pour juger de la probabilité d'inversion de la ligne K
  5. Ajouter un mécanisme de stop loss

Résumé

La stratégie de configuration d'inversion extrême génère des signaux de trading lorsque des inversions se produisent en jugeant des situations extrêmes de la dernière ligne K. Elle a l'avantage d'utiliser des caractéristiques de ligne K extrêmes exceptionnelles, mais comporte également certains risques.


/*backtest
start: 2024-02-13 00:00:00
end: 2024-02-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Extreme Reversal Setup", overlay=true)

bodySize = input(defval=0.75)
barsBack = input(title="Lookback Period", type=input.integer, defval=20, minval=0)
bodyMultiplier = input(title="Bar ATR Multiplier", type=input.float, defval=2.0, minval=0)

myBodySize = abs(close - open)
averageBody = rma(myBodySize, barsBack)
myCandleSize = abs(high - low)
averageCandle = rma(myCandleSize, barsBack)

signal_long = open[1]-close[1] >= bodySize*(high[1]-low[1]) and 
   high[1]-low[1] > averageCandle*bodyMultiplier and 
   open[1]-close[1] > averageBody and close > open
signal_short = close[1]-open[1] >= bodySize*(high[1]-low[1]) and 
   high[1]-low[1] > averageCandle*bodyMultiplier and 
   close[1]-open[1] > averageBody and open > close

plotshape(signal_long, "LONG", shape.triangleup, location.belowbar, size=size.normal)
plotshape(signal_short, "SHORT", shape.triangledown, location.belowbar, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)

Plus de