
La stratégie d’épuisement des oscillations dynamiques est une stratégie de suivi des tendances qui utilise des moyennes mobiles et des indices d’oscillation en pourcentage des prix pour minimiser le risque de baisse. La stratégie appartient au modèle de négociation des fonds indiciels et permet de contrôler efficacement le risque.
Les indicateurs centraux de cette stratégie sont les valeurs d’épuisement et les moyennes d’épuisement. La valeur d’épuisement est une mesure de l’oscillation des prix, calculée à partir des prix de clôture, des prix les plus élevés et des prix les plus bas. La méthode de calcul spécifique est: ((prix de clôture + prix les plus élevés + prix les plus bas - moyenne mobile de la valeur d’épuisement) / (mobile moyenne de la valeur d’épuisement). La moyenne d’épuisement est la moyenne mobile de la valeur d’épuisement.
En outre, la stratégie utilise des moyennes mobiles à court terme pour aider à déterminer les tendances, y compris les lignes de 300 jours, 150 jours et 50 jours. Lorsque les moyennes mobiles à court terme traversent les moyennes mobiles à long terme, ce qui indique un renversement de tendance, un arrêt de perte doit être pris en compte.
Le MACD est également utilisé pour déterminer les points d’achat et de vente à court terme. Le MACD est en hausse en traversant la ligne de signal et en baisse en traversant la ligne de signal. Le RSI est également utilisé comme signal d’achat.
La logique d’entrée et de sortie est la suivante:
Conditions d’achat: La valeur de la dépréciation doit correspondre à la moyenne de la dépréciation, et la ligne de 50 jours doit être supérieure à la ligne de 150 jours; ou le RSI doit être inférieur à 30.
Conditions de stop court terme: traversée de la ligne moyenne d’épuisement en dessous de la valeur d’épuisement; ou traversée de la ligne de signal en dessous du MACD.
Conditions de stop-loss à moyen et long terme: traversée de la ligne de 150 jours sous la ligne de 50 jours; ou traversée de la ligne de 300 jours sous la ligne de 150 jours.
Cette stratégie combine plusieurs indicateurs pour évaluer la tendance endtime exhaustion pour contrôler le risque et présente les avantages suivants:
L’indicateur d’épuisement permet de juger efficacement la reprise et la reprise. La détection rapide d’une reprise de tendance est la clé pour contrôler efficacement les risques.
Utilisez des moyennes mobiles à plusieurs périodes pour juger des tendances et éviter d’être trompé par le bruit du marché à court terme.
Le MACD aide à confirmer les points de vente et d’achat et améliore l’efficacité de la stratégie.
L’indicateur RSI utilise l’effet d’achat à bas prix et d’achat à haut prix pour acheter au-delà de la baisse.
Une stratégie de stop-loss claire et efficace pour contrôler le risque de chaque transaction.
Cette stratégie comporte aussi des risques:
Selon plusieurs indicateurs, un paramètre mal défini peut entraîner une erreur de signal de transaction. Les paramètres d’optimisation doivent être testés à plusieurs reprises.
L’indicateur d’épuisement n’est pas entièrement fiable et peut être désactivé en cas de faible déviation.
Un mauvais paramètre d’un point d’arrêt peut entraîner des vibrations de ligne ultra-courte et être arrêté. Le point d’arrêt doit tenir compte de l’effet à long terme de la stratégie.
Si le marché se déplace globalement, l’indicateur sera invalide et il faudra surveiller la taille de la position.
Cette stratégie peut être optimisée dans les domaines suivants:
Tester différentes combinaisons de paramètres pour trouver les meilleurs afin de réduire les signaux erronés. Les paramètres clés qui peuvent être ajustés incluent les cycles de moyenne, les cycles d’épuisement, etc.
Le stop loss est ajusté dynamiquement en combinaison avec des indicateurs de volatilité tels que l’ATR, afin d’assouplir le stop loss en cas de fortes fluctuations.
Optimisation de la gestion des positions: différentes règles de proportion des positions peuvent être préréglées pour les différentes étapes du grand tableau.
L’efficacité de la stratégie est améliorée par la combinaison d’indicateurs graphiques tels que les lignes d’accumulation et les lignes de soutien.
Ajout d’algorithmes d’apprentissage automatique pour aider à évaluer l’efficacité des indicateurs clés et optimiser la dynamique.
La stratégie d’épuisement de la dynamique utilise une combinaison de plusieurs indicateurs pour déterminer le renversement de tendance et contrôler le risque de négociation. La stratégie a la capacité de suivre la tendance et de déterminer efficacement le moment de la vente. L’efficacité de la stratégie peut être encore améliorée par l’optimisation des paramètres, la définition de règles de stop-loss et l’aide des indicateurs graphiques.
/*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)
//}