La stratégie de négociation croisée de moyenne mobile génère des signaux d'achat et de vente lorsque les moyennes mobiles à court et à long terme se croisent.
Cette stratégie calcule la moyenne mobile exponentielle (EMA) des périodes 20 et 50. Elle déclenche une position longue lorsque la 20 EMA dépasse la 50 EMA. Elle déclenche une position courte lorsque la 20 EMA dépasse la 50 EMA.
L'EMA accorde plus de poids aux données récentes.
La valeur de l'échange est la valeur de l'échange à la date d'échéance.
où k = 2/(nombre de périodes + 1)
Lorsque l'EMA à court terme traverse l'EMA à plus long terme, cela indique un mouvement haussier des prix vers le LONG.
Les avantages de cette stratégie:
Les risques incluent:
Améliorations:
La stratégie de croisement des moyennes mobiles est une stratégie technique simple mais efficace qui a fait ses preuves sur le marché. Des améliorations supplémentaires du contrôle des risques et de la robustesse peuvent être obtenues en ajustant les paramètres, en ajoutant des filtres, etc. Elle sert de bloc de construction fondamental pour le trading quantitatif.
/*backtest start: 2022-11-20 00:00:00 end: 2023-11-26 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/ // © brandlabng //@version=5 //study(title="Holly Grail", overlay = true) strategy('HG|E15m', overlay=true) src = input(close, title='Source') price = request.security(syminfo.tickerid, timeframe.period, src) ma1 = input(20, title='1st MA Length') type1 = input.string('EMA', '1st MA Type', options=['EMA']) ma2 = input(50, title='2nd MA Length') type2 = input.string('EMA', '2nd MA Type', options=['EMA']) price1 = if type1 == 'EMA' ta.ema(price, ma1) price2 = if type2 == 'EMA' ta.ema(price, ma2) //plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0) plot(series=price1, style=plot.style_line, title='1st MA', color=color.new(#219ff3, 0), linewidth=2) plot(series=price2, style=plot.style_line, title='2nd MA', color=color.new(color.purple, 0), linewidth=2) longCondition = ta.crossover(price1, price2) if longCondition strategy.entry('Long', strategy.long) shortCondition = ta.crossunder(price1, price2) if shortCondition strategy.entry('Short', strategy.short)