Stratégie stochastique avec indicateur de moyenne mobile double


Date de création: 2024-01-29 11:54:10 Dernière modification: 2024-01-29 11:54:10
Copier: 0 Nombre de clics: 608
1
Suivre
1617
Abonnés

Stratégie stochastique avec indicateur de moyenne mobile double

Aperçu

La stratégie de randomisation des indices bi-homogènes est une stratégie qui tente d’utiliser une combinaison d’indicateur homogène et d’indicateur aléatoire pour trouver des opportunités de trading. Elle génère un signal de transaction lorsqu’elle traverse un SMA lent sur une EMA rapide, tout en utilisant la valeur K de l’indicateur aléatoire pour déterminer s’il y a un surachat ou une survente pour éliminer certains signaux.

Principe de stratégie

La stratégie est basée sur deux indicateurs techniques:

  1. Ligne moyenne: calcul de la moyenne des trois paramètres différents: EMA rapide, SMA lente et VWMA lente, qui génère un signal de transaction lorsque l’EMA rapide est passée au-dessus ou au-dessous de la SMA lente.

  2. Indicateur aléatoire: calcul de la valeur de %K, lorsque celle-ci dépasse le seuil de zone de survente ou de zone de survente, en supposant que la tendance pourrait s’inverser et en éliminant une partie du signal de négociation de la ligne moyenne.

En bref, la logique du signal stratégique est la suivante:

  1. Faire plus lorsque l’EMA rapide traverse la SMA lente et que le %K est inférieur au seuil de la zone de survente. Faire plus lorsque l’EMA rapide traverse la SMA lente et que le %K est supérieur au seuil de la zone de survente.

  2. Pour les positions ouvertes, la position est levée si la valeur de K% est réentrée dans la zone de survente ou si le prix a franchi la limite de rupture. Pour les positions ouvertes, la position est levée si la valeur de K% est réentrée dans la zone de survente ou si le prix a franchi la limite de rupture.

En combinant des indicateurs homogènes et des indicateurs aléatoires, la stratégie tente d’émettre un signal d’entrée à un point de signal homogène à haute probabilité, tout en exploitant les chances de mauvaise entrée de la partie filtrée des indicateurs aléatoires.

Analyse des avantages

La stratégie présente les principaux avantages suivants:

  1. La combinaison de plusieurs indicateurs techniques permet de juger de manière globale et plus complète qu’un seul indicateur.
  2. Le filtrage des signaux avec des indicateurs aléatoires permet d’éviter les erreurs dans une certaine mesure.
  3. La ligne moyenne de plusieurs ensembles de paramètres mixtes est utilisée pour un jugement plus global et plus précis.
  4. Un système de stop-loss intégré pour contrôler les pertes individuelles.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. L’indicateur de ligne moyenne est susceptible de générer plus de signaux d’incertitude, une plus grande probabilité d’erreur et une capacité d’arrêt limitée.
  2. Les indicateurs aléatoires eux-mêmes peuvent également produire de faux signaux.
  3. Les paramètres (taille de la zone de survente, cycle de la moyenne, etc.) peuvent nécessiter une optimisation, et une mauvaise configuration peut affecter la performance de la stratégie.
  4. La stratégie est purement technique, et les facteurs fondamentaux ne sont pas pris en compte.

La réponse:

  1. Optimiser les paramètres pour trouver la meilleure combinaison de paramètres de l’indicateur.
  2. Réduire la taille de la position de manière appropriée et construire des positions par lots.
  3. Le gouvernement a décidé d’éviter des événements majeurs en combinant l’analyse fondamentale avec la prévention.

Direction d’optimisation

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

  1. Optimisation des tests sur les paramètres de la moyenne pour trouver la combinaison optimale de paramètres.
  2. Les paramètres des indicateurs aléatoires, tels que la taille de la zone de survente, sont testés pour trouver les paramètres optimaux.
  3. Essayez d’ajouter d’autres indicateurs, tels que VOLUME pour renforcer le jugement ou un indicateur de volatilité pour mesurer le risque, enrichissez la logique d’entrée.
  4. Augmenter les méthodes de stop loss, comme le suivi des stop loss, pour contrôler le risque.
  5. Optimisation de la gestion des fonds, comme l’ajustement des positions en fonction de la dynamique ATR.
  6. Les mesures de prévention de la panique, combinées à des indicateurs comme le VIX, permettent d’éviter les événements à risque majeur.

Résumer

La stratégie de randomisation à deux lignes permet de suivre les tendances de manière plus stable en combinant les indicateurs de la ligne moyenne rapide et lente avec les indicateurs aléatoires. Cependant, il existe des possibilités d’optimisation, telles que la sélection des paramètres, les méthodes de stop-loss, etc. Si davantage d’indicateurs de jugement et d’optimisation sont introduits, la stratégie devrait obtenir des gains supplémentaires plus stables.

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

//@version=4
strategy("TVIX MEAN REV V2 TREND", overlay=true)
length = input(16, minval=1)
OverBought = input(80)
OverSold = input(20)
TradeLong = input (true)
TradeShort = input (true)

OverBoughtClose = input(80)
OverSoldClose = input(20)

smoothK = 3
smoothD = 3
trail_points = input(50)

k = sma(stoch(close, high, low, length), smoothK)
d = sma(k, smoothD)
k2 = sma(stoch(close, high, low, length), smoothK)
d2 = sma(k, smoothD)


// === GENERAL INPUTS ===
// short Ema
maFastSource = input(defval=close, title="Fast EMA Source")
maFastLength = input(defval=1, title="Fast EMA Period", minval=1)
// long Sma
maSlowSource = input(defval=close, title="Slow SMA Source")
maSlowLength = input(defval=100, title="Slow SMA Period", minval=1)
// longer Sma
maSlowerSource = input(defval=close, title="Slower SMA Source")
maSlowerLength = input(defval=30, title="Slower SMA Period", minval=1)

//ATR Stop Loss Indicator by Keith Larson
atrDays = input(7, "ATR Days Lookback")
theAtr = atr(atrDays)
atrModifier = input(5.0, "ATR Modifier")
//plot(atr * atrModifier, title="ATR")

LstopLoss = close - (theAtr * atrModifier)
SstopLoss = close + (theAtr * atrModifier)



// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = sma(maSlowSource, maSlowLength)
maSlower = vwma(maSlowerSource, maSlowerLength)
rsi = rsi(maSlowerSource, maSlowerLength)

// === PLOTTING ===
fast = plot(maFast, title="Fast MA", color=color.red, linewidth=2, style=plot.style_line, transp=30)
slow = plot(maSlow, title="Slow MA", color=color.green, linewidth=2, style=plot.style_line, transp=30)
slower = plot(maSlower, title="Slower MA", color=color.teal, linewidth=2, style=plot.style_line, transp=30)


// === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross
LongFilter = maFast > maSlow
ShortFilter = maSlow > maFast




BUY=crossover(k, d) and k < OverSold
SELL=crossunder(k, d) and k > OverBought

SELLCLOSE=crossover(k, d) and k < OverSoldClose
BUYCLOSE=crossunder(k, d) and k > OverBoughtClose

Open = open


if not na(k) and not na(d)
    if crossover(k, d) and k < OverSold and LongFilter and TradeLong
        strategy.entry("$", strategy.long, limit = Open, comment="Long")
    
    strategy.close("$",when = crossunder(k, d) and k > OverBoughtClose or open < LstopLoss  )
    ///strategy.close("$",when = open < LstopLoss  )
    
if not na(k) and not na(d)
    if crossunder(k, d) and k > OverBought and ShortFilter and TradeShort
        strategy.entry("$1", strategy.short, limit = Open, comment="S")
        
    strategy.close ("$1", when = crossover(k, d) and k < OverSoldClose or open > SstopLoss  )
    ///strategy.close ("$1", when = open < SstopLoss)