Acheter bas – Stratégie d'optimisation MA200


Date de création: 2024-01-08 16:54:21 Dernière modification: 2024-01-08 16:54:21
Copier: 0 Nombre de clics: 695
1
Suivre
1617
Abonnés

Acheter bas – Stratégie d’optimisation MA200

Aperçu

La stratégie combine la méthode de trading inverse (acheter les bas) avec la logique de suivi de la tendance (acheter uniquement lorsque le prix est supérieur à la MA200). La stratégie vise à trouver le moment le plus propice pour tirer profit de l’achat d’un actif à un bas. Les prix au-dessus de la moyenne mobile à long terme indiquent une meilleure probabilité de tirer profit de l’achat d’un actif à prix faibles à court terme.

Principe de stratégie

La stratégie utilise le pourcentage de variation globale du prix au cours de la période de référence pour déterminer si le prix est à un point bas relatif. Elle considère que le prix est à un point bas lorsque le pourcentage de variation globale est inférieur à 3%. De plus, la stratégie utilise une moyenne mobile simple de 200 jours comme indicateur de tendance.

Analyse des avantages

Cette stratégie combine les avantages du trading de tendance et du trading inversé. D’une part, l’utilisation d’une moyenne mobile à long terme pour juger de la tendance évite d’acheter à l’aveugle pendant la baisse de la tendance. D’autre part, l’achat inversé des points faibles lui permet d’obtenir un meilleur timing d’entrée en jeu lors d’un ajustement à court terme.

Analyse des risques

Le plus grand risque de cette stratégie réside dans le fait que les prix peuvent continuer à baisser après l’émission du signal d’achat, ce qui entraîne une expansion des pertes. En outre, si le marché est horizontal pendant une longue période et que les prix ne peuvent pas franchir la moyenne mobile, cela peut également entraîner l’échec de la stratégie.

Direction d’optimisation

Cette stratégie peut être optimisée de la manière suivante: 1) optimiser le cycle des moyennes mobiles pour s’adapter aux différents marchés; 2) optimiser les conditions d’achat pour s’assurer qu’il y a suffisamment de marge; 3) augmenter les stratégies de stop-loss pour contrôler les pertes; 4) améliorer l’exactitude des tendances et des points bas en combinaison avec d’autres indicateurs.

Résumer

Cette stratégie est une combinaison typique d’une stratégie de suivi de tendance et d’une stratégie de trading inversée. Elle garantit la sécurité des transactions et augmente la probabilité de gagner. Elle a une plus grande valeur de combat. Par l’optimisation des paramètres et l’optimisation de la stratégie de stop-loss, la stabilité de la stratégie et l’efficacité de la guerre peuvent être encore améliorées.

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

//@version=4
strategy("Buy The Dips - MA200 Optimised", overlay=false)

//Moving average
MAinp = input(defval = 100, title = "MA", type = input.integer, minval = 1, step = 1)
MA=sma(close, MAinp)

//Percent change
inp_lkb = input(1, title='Lookback Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)

// === INPUT BACKTEST RANGE ===
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//Entry/Exit
strategy.entry(id="long", long = true, when = window() and overall<-3 and close > MA) 
strategy.close(id="long", when = window() and overall>1)


bgcolor(color = showDate and window() ? color.gray : na, transp = 90) 
plot(overall, color=color.black, title='Overall Percentage Change', linewidth=3)
band1 = hline(1, "Upper Band", color=#C0C0C0)
band0 = hline(-2, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")
hline(0, title='Center Line', color=color.orange, linestyle=hline.style_solid, linewidth=2)