Stratégie d'épuisement de l'élan

Auteur:ChaoZhang est là., Date: 2023-11-16 17:54:00 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie d'épuisement de l'élan est une stratégie de suivi de tendance qui utilise des moyennes mobiles et des oscillateurs de pourcentage de prix pour minimiser l'exposition à la baisse.

La logique de la stratégie

Les indicateurs de base de cette stratégie sont l'épuisement et la moyenne mobile d'épuisement. L'épuisement est une mesure de l'oscillation des prix, calculée à partir de prix proches, élevés et bas. Le calcul spécifique est: (moyenne mobile d'épuisement proche + haut + bas) /moyenne mobile d'épuisement. La moyenne mobile d'épuisement est la moyenne mobile d'épuisement. Lorsque l'épuisement dépasse la moyenne mobile d'épuisement, cela indique une consolidation du marché et une nouvelle tendance possible. Lorsque l'épuisement dépasse la moyenne mobile d'épuisement, cela indique un renversement de tendance et nous devrions envisager de tirer profit.

En outre, la stratégie utilise également des moyennes mobiles à long et à court terme pour aider à déterminer la tendance, y compris les lignes de 300 jours, 150 jours et 50 jours.

Le MACD est également utilisé pour les signaux d'achat et de vente à court terme. Lorsque la ligne MACD traverse au-dessus de la ligne de signal, cela indique un signal haussier, et lorsque le MACD traverse au-dessous de la ligne de signal, cela indique un signal baissier.

La logique spécifique d'entrée et de sortie est la suivante:

Signal d'achat: épuisement au-dessus de la moyenne mobile d'épuisement et MA de 50 jours au-dessus de MA de 150 jours; ou RSI inférieur à 30.

Stop-loss à court terme: Traversement de l'épuisement au-dessous de la moyenne mobile d'épuisement; ou traversement du MACD au-dessous de la ligne de signal.

L'établissement doit fournir des informations détaillées sur les risques liés à l'établissement et les risques liés à l'établissement.

Les avantages de la stratégie

Cette stratégie combine plusieurs indicateurs pour déterminer l'épuisement de la tendance et contrôler les risques.

  1. L'indicateur d'épuisement permet d'identifier efficacement la consolidation et l'inversion de tendance.

  2. L'utilisation de moyennes mobiles de plusieurs délais pour déterminer la tendance évite d'être induit en erreur par le bruit de marché à court terme.

  3. Le MACD aide à confirmer les signaux d'achat et de vente, améliorant ainsi la performance de la stratégie.

  4. Le RSI joue son rôle d'acheter à bas prix et de vendre à haut prix, en achetant dans des situations extrêmement survendues.

  5. La stratégie claire de prise de profit et de stop loss peut contrôler efficacement le risque de chaque transaction.

Risques liés à la stratégie

Cette stratégie comporte également certains risques:

  1. En s'appuyant sur plusieurs indicateurs, des paramètres mal réglés peuvent entraîner des signaux de trading erronés.

  2. L'indicateur d'épuisement n'est pas entièrement fiable, il peut échouer en cas de divergence des prix.

  3. Un mauvais placement de stop loss peut entraîner un arrêt par des fluctuations à court terme.

  4. Lorsque l'ensemble du marché varie, les indicateurs peuvent échouer.

Directions d'optimisation

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

  1. Testez différentes combinaisons de paramètres pour trouver les paramètres optimaux et réduire les faux signaux.

  2. L'indicateur de volatilité ATR est utilisé pour ajuster dynamiquement la plage de stop loss en fonction de la volatilité du marché.

  3. Optimiser le dimensionnement des positions, avec des règles de dimensionnement des positions différentes pour les différentes conditions du marché.

  4. Incorporer des schémas graphiques comme les lignes de tendance, les lignes de soutien pour améliorer la performance de la stratégie.

  5. Ajouter des algorithmes d'apprentissage automatique pour aider à mesurer l'efficacité des indicateurs clés, réalisant ainsi une optimisation dynamique.

Conclusion

La stratégie d'épuisement de l'élan combine plusieurs indicateurs pour identifier les risques d'inversion de tendance et de contrôle. Elle a la capacité de suivre la tendance et peut déterminer efficacement les points d'entrée et de sortie. Des améliorations supplémentaires peuvent être apportées grâce à l'optimisation des paramètres, aux règles de stop loss, à l'intégration de modèles de graphiques et plus encore.


/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © spiritualhealer117

//@version=4

strategy("Infiten Slope Strategy", overlay=false,calc_on_every_tick = true, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)
// //TIME RESTRICT FOR BACKTESTING {
// inDateRange = (time >= timestamp(syminfo.timezone, 2003,
//          1, 1, 0, 0)) and
//      (time < timestamp(syminfo.timezone, 2021, 5, 25, 0, 0))
// //}

//OPTIMAL PARAMETERS {
daysback = 30
volumesens = 1.618
//}
//Calculating Exhaustion and Exhaustion Moving Average {
clh = close+low+high
exhaustion = (clh-sma(clh,daysback))/sma(clh,daysback)
exhaustionSma = sma(exhaustion,daysback)
//}
//Long Term Moving Averages for sell signals {
red = sma(close,300)
white = sma(close,150)
blue = sma(close,50)

plot(red,color=color.red)
plot(white,color=color.white)
plot(blue,color=color.blue)
//}
//MACD Calculation {
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//}
//SIGMOID Bottom {
timeAdjust = 300/sma(close,500)
//}
//RSI bottom {
len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(close), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//}

//Entry and exit conditions {
//Sell conditions
bigVolume = sma(volume,30)*volumesens
sellcond1 = crossunder(exhaustion,exhaustionSma) and volume > bigVolume
sellcond2 = crossunder(macd,signal) and volume > bigVolume
midtermsellcond1 = crossunder(blue,white)
longtermsellcond1 = white < red

//Buy conditions
buycond = crossover(exhaustion,exhaustionSma) and not longtermsellcond1
buycond2 = rsi < 30
buycond3 = crossover(blue,white) and longtermsellcond1
//}

//Backtest Run Buy/Sell Commands {
strategy.entry("buycond",true, when=buycond and bigVolume)
strategy.entry("buycond2",true, when=buycond2 and bigVolume)

strategy.close_all(when=sellcond1,comment="short term sell signal 1")
strategy.close_all(when=midtermsellcond1, comment="mid term sell signal 1")
strategy.close_all(when=longtermsellcond1, comment="long term sell signal 1")
strategy.close_all(when=sellcond2, comment="short term sell signal 2")
plot(strategy.position_size)

//Sell on last tested day (only for data collection)
//strategy.close_all(when=not inDateRange)
//}



Plus de