
Cette stratégie permet de prendre des positions unilatérales en calculant différents types de moyennes mobiles pour déterminer la direction de la tendance des prix.
La stratégie permet de choisir parmi 7 types de moyennes mobiles différentes, notamment les moyennes mobiles simples (SMA), les moyennes mobiles indicielles (EMA), les moyennes pondérées en volume de transaction (VWMA), les moyennes mobiles bi-indicielles (DEMA), les moyennes mobiles tri-indicielles (TEMA), les moyennes mobiles adaptatives de Kaufman (KAMA) et la ligne médiane du canal de prix. La direction de la tendance des prix est déterminée en calculant la relation entre la moyenne mobile choisie et le prix de liquidation.
Lorsque le prix de clôture dépasse la moyenne mobile de bas en haut, il est jugé en hausse et une position est ouverte. Lorsque le prix de clôture dépasse la moyenne mobile de haut en bas, il est jugé en baisse et une position est ouverte. Cela permet de capturer le point de basculement de la tendance des prix et d’ouvrir une position unilatérale.
Cette stratégie présente les avantages suivants:
Il existe plusieurs types de moyennes mobiles à choisir, avec une flexibilité adaptée aux différentes variétés et périodes.
Les investisseurs privés ont tendance à s’attendre à ce que les investisseurs privés ne soient pas en mesure de gérer les risques.
Il est facile de faire des profits en ouvrant une position.
C’est facile à comprendre et à mettre en œuvre.
Cette stratégie comporte aussi des risques:
Lorsque le prix oscille près de la moyenne mobile, il y a plusieurs signaux erronés et des ouvertures de position inversées. Des arrêts appropriés peuvent être mis en place pour contrôler le risque.
Il n’est pas possible d’éviter complètement les risques liés à la hausse ou à la baisse rapide des prix. Les signaux de tendance peuvent être combinés avec d’autres indicateurs.
Les analystes doivent choisir les paramètres de la moyenne mobile appropriés, car les paramètres inappropriés peuvent entraîner des retards dans les signaux de négociation.
Cette stratégie peut être optimisée dans les domaines suivants:
Il peut être combiné avec d’autres indicateurs techniques pour déterminer les signaux de tendance, tels que le MACD, le RSI, etc., pour former un portefeuille de transactions.
Ajout d’une logique d’arrêt des pertes.
Les paramètres sont testés et optimisés pour choisir la meilleure combinaison de paramètres. Par exemple, la période de la moyenne mobile, le type de moyenne mobile, etc.
Vous pouvez envisager une stratégie d’entrée en bourse de type transaction immédiate pour suivre la tendance.
La stratégie est basée sur une moyenne mobile pour déterminer la direction de la tendance des prix et permettre l’ouverture d’une position unilatérale. Son utilisation est simple et facile à mettre en œuvre, ce qui permet de contrôler efficacement les risques. Mais il peut également y avoir des signaux erronés et des risques d’ouverture de position inversée.
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Noro's MAs Tests v1.1", shorttitle = "MAs tests 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
needlong = input(true, "long")
needshort = input(true, "short")
len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length")
type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type")
src = input(close, defval = close, title = "Source")
anti = input(true, defval = true, title = "Antipila")
//DEMA
dema = 2 * ema(src, len) - ema(ema(close, len), len)
//TEMA
xPrice = close
xEMA1 = ema(src, len)
xEMA2 = ema(xEMA1, len)
xEMA3 = ema(xEMA2, len)
tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3
//KAMA
xvnoise = abs(src - src[1])
nfastend = 0.20
nslowend = 0.05
nsignal = abs(src - src[len])
nnoise = sum(xvnoise, len)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2)
kama = nz(kama[1]) + nsmooth * (src - nz(kama[1]))
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0
plot(ma, color = blue, linewidth = 3, transp = 0)
trend = anti == false and close > ma ? 1 : anti == false and close < ma ? -1 : low > ma ? 1 : high < ma ? -1 : trend[1]
longCondition = trend == 1 and trend[1] == -1
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
shortCondition = trend == -1 and trend[1] == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)