La stratégie utilise le principe de la croisée des moyennes mobiles pour déterminer la direction de la tendance à travers la croisée des lignes rapides et lentes afin d’émettre des signaux d’achat et de vente. La stratégie est simple et fiable et convient aux investisseurs qui recherchent des gains stables.
La stratégie utilise deux moyennes mobiles, respectivement la moyenne journalière de 7 jours comme ligne rapide et la moyenne de mai comme ligne lente. La ligne rapide permet de capturer plus rapidement les changements de prix, la ligne lente élimine le bruit et détermine la direction de la tendance.
Plus précisément, la stratégie génère un signal d’achat lorsque la ligne du 7e jour intersecte la ligne du 5e jour de la direction du bas et génère un signal de vente lorsque la ligne du 7e jour descend de la direction du haut et brise la ligne du 5e jour de la direction du haut. La stratégie marque également visuellement le moment où le signal est généré.
Cette stratégie présente les avantages suivants:
La théorie est basée sur un principe simple et fiable, basé sur le principe bien connu du croisement des moyennes mobiles.
La sélection des paramètres est simple et facile à mettre en œuvre.
Les lignes rapides et les lignes lentes sont utilisées conjointement pour identifier les tendances et filtrer le bruit du marché.
Les différentes moyennes périodiques permettent de capturer les variations de tendance sur différentes échelles de temps.
La mise en œuvre est simple, le code est facile à comprendre, la logique est claire.
Les signaux visuels sont plus clairs et intuitifs, et les décisions opérationnelles plus claires.
Cette stratégie comporte aussi des risques:
Les signaux de déclenchement sont faciles à produire s’ils sont basés uniquement sur des opérations de croisement homogène.
Il n’est pas possible d’évaluer efficacement la force ou la faiblesse de la tendance, et il est possible qu’elle soit interrompue fréquemment en cas de tremblement de terre.
Les cycles de moyenne fixe ne peuvent pas s’adapter aux changements du marché et doivent être optimisés.
Il n’est pas possible de déterminer le point d’achat et de vente, il existe un certain risque d’opération au gré du marché.
La théorie la plus simple est que l’effet peut être réduit et que la marge de profit est limitée.
Cette stratégie peut être optimisée dans les domaines suivants:
Ajout d’autres indicateurs pour déterminer les points d’achat et de vente, tels que l’indicateur KDJ pour juger de l’achat et de la vente excessive.
Ajout de mécanismes de stop loss, tels que le suivi des stops, pour éviter l’expansion des pertes.
Optimiser les paramètres de périodes moyennes pour les adapter aux différentes périodes de pratique.
Le filtrage du trafic a été augmenté pour éviter les fausses percées.
Évaluer les tendances fortes et faibles, telles que le calcul de l’inclinaison moyenne, les opérations à différentes intensités.
Les tendances à long terme peuvent être évaluées à partir d’analyses plus périodiques.
La stratégie est basée sur le principe de la croisée des moyennes mobiles et permet d’identifier de manière simple et fiable les tendances haussières et baissières. L’avantage est la simplicité d’utilisation, l’inconvénient est le risque de suivre aveuglément la tendance. Des méthodes telles que l’optimisation des paramètres et l’ajout d’indicateurs auxiliaires peuvent améliorer l’efficacité de la stratégie.
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 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/
// © dadashkadir
//@version=4
strategy("Mount MaV - Day MaV CrossOver Strgty", shorttitle="Yusram Str.", overlay=true)
src = input(title= "Kaynak", type=input.source, defval=close)
mav = input(title="Hareketli Ortlama Tipi", defval="SMA", options=["SMA", "EMA", "WMA"])
Gbar = input(title="Günlük Bar Sayısı", defval=7, minval=1, maxval=999)
Abar = input(title="Aylık Bar Sayısı", defval=5, minval=1, maxval=999)
//displacement = input(20, minval=1, title="Displacement")
getMA(src, length) =>
ma = 0.0
if mav == "SMA"
ma := sma(src, length)
ma
if mav == "EMA"
ma := ema(src, length)
ma
if mav == "WMA"
ma := wma(src, length)
ma
ma
long = "M" //Aylık
ln = security(syminfo.ticker, long, src)
lnma = getMA(ln, Abar)
gnma = getMA(src, Gbar)
col1= gnma>gnma[1]
col3= gnma<gnma[1]
colorM = col1 ? color.green : col3 ? color.navy : color.yellow
l1 = plot(lnma, title="MhO", trackprice = true, style=plot.style_line, color=color.red, linewidth=3)
l2 = plot(gnma, title="DhO", trackprice = true, style=plot.style_line, color=colorM, linewidth=3)
fill(l1, l2, color = lnma < gnma ? color.green : color.red, title="Gölgelendirme", transp=90)
zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")
al = crossover (gnma, lnma) and zamanaralik <= year
sat = crossover (lnma, gnma) and zamanaralik <= year
plotshape(al, title = "Giriş", text = 'Al', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Çıkış", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
FromDay = input(defval = 1, title = "Str. Başlama Tarihi Gün", minval = 1, maxval = 31)
FromMonth = input(defval = 1, title = "Str. Başlama Tarihi Ay", minval = 1, maxval = 12)
FromYear = input(defval = 2015, title = "Str. Başlama Tarihi Yıl", minval = 2005)
ToDay = input(defval = 1, title = "Str. Bitiş Tarihi Gün", minval = 1, maxval = 31)
ToMonth = input(defval = 1, title = "Str. Bitiş Tarihi Ay", minval = 1, maxval = 12)
ToYear = input(defval = 9999, title = "Str. Bitiş Tarihi Yıl", minval = 2006)
Start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
Finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
Timerange() =>
time >= Start and time <= Finish ? true : false
if al
strategy.entry("Al", strategy.long, when=Timerange())
if sat
strategy.entry("Sat", strategy.short, when=Timerange())