
Aperçu
La stratégie combine les moyennes mobiles indicielles à 200 jours (EMA 200), le prix moyen pondéré (VWAP) et l’indicateur des flux de capitaux (MFI) pour générer des signaux d’achat et de vente. L’idée principale est d’utiliser la combinaison de ces trois indicateurs pour déterminer la direction et la force de la tendance et de générer un signal de transaction lorsque le prix franchit la moyenne mobile à 200 jours (EMA 200) et que les indicateurs VWAP et MFI sont confirmés.
Principe de stratégie
- Calculer l’EMA de 200 jours et calculer la trajectoire de la zone de couverture en fonction du pourcentage de zone de couverture entré.
- Calculer le VWAP.
- Calculer l’indicateur MFI sur 14 cycles et définir les seuils d’achat et de vente.
- Obtenez les 200 EMA des périodes de temps hautes pour filtrer les tendances.
- Pour juger de la continuité de la tendance des prix, vérifier si les conditions de hausse ou de baisse sont remplies.
- Les conditions combinées ci-dessus pour générer un signal d’achat sont les suivantes: le prix de clôture a franchi le 200 EMA et est supérieur au VWAP, le MFI est supérieur à la marge d’achat, le prix de clôture est supérieur au 200 EMA de la période de temps supérieure, et le mouvement des prix est en hausse continue.
- Le signal de vente est conditionné par: un prix de clôture en dessous de la trajectoire de 200 EMA et en dessous du VWAP, un MFI inférieur à la marge de vente, un prix de clôture en dessous de la 200 EMA de la période de temps supérieure, et une tendance à la baisse continue.
- Lorsque les conditions d’achat ou de vente sont remplies, la stratégie consiste à effectuer une transaction à plusieurs têtes ou à vide correspondante.
Avantages stratégiques
- Il est possible de combiner plusieurs indicateurs pour un jugement global, filtrer efficacement les faux signaux et améliorer la fiabilité des signaux.
- L’introduction de filtres de tendance pour les périodes de temps avancées permet de prendre des décisions de négociation en accord avec les grandes tendances et de réduire le risque de négociation en contre-courant.
- Il permet de confirmer davantage la force de la tendance et d’améliorer l’exactitude de l’heure d’entrée, en jugeant la continuité de la tendance des prix.
- Le concept de zone tampon permet aux prix de fluctuer dans une certaine plage, évitant ainsi les échanges fréquents.
- Les paramètres sont réglables, très flexibles et peuvent être optimisés pour différents marchés et styles de négociation.
Risque stratégique
- Les indicateurs peuvent produire de faux signaux et entraîner des pertes dans les marchés en crise ou à des points de basculement de tendance.
- Une mauvaise configuration des paramètres peut entraîner une mauvaise performance de la stratégie, par exemple, une zone de protection trop grande peut entraîner des opportunités de transaction manquées, et trop petite peut entraîner des transactions fréquentes.
- La stratégie repose sur les données historiques pour calculer et juger, et peut ne pas réagir rapidement à un événement soudain ou à un événement Black Swan.
- La stratégie peut échouer dans certaines conditions spécifiques du marché, telles que la poursuite d’une tendance extrême ou une forte volatilité.
Orientation de l’optimisation de la stratégie
- Pour optimiser les paramètres, on peut rechercher la combinaison optimale de paramètres, comme la période EMA, la période MFI et les seuils, la taille de la zone de protection, etc., en effectuant un retour sur les données historiques.
- L’introduction d’autres indicateurs auxiliaires ou d’indicateurs de l’humeur du marché, tels que les bandes de Brin, le RSI, etc., peut être envisagée pour améliorer encore la fiabilité et la solidité du signal.
- Dans la gestion des transactions, des mécanismes de stop-loss, tels que le stop mobile ou le stop dynamique basé sur l’ATR, peuvent être introduits pour contrôler le risque d’une seule transaction.
- Il est possible d’explorer différentes stratégies de gestion de position, telles que le dimensionnement de position basé sur le risque ou la formule de Kelly, afin d’optimiser le rapport risque/bénéfice de la stratégie.
- Considérer l’introduction d’algorithmes d’apprentissage automatique ou d’adaptation et adapter dynamiquement les paramètres de la stratégie aux changements du marché.
Résumer
La stratégie utilise une combinaison d’EMA, de VWAP et d’indicateurs MFI de 200 jours pour construire un système de suivi de tendance relativement robuste, tout en tenant compte de la continuité des tendances et des mouvements de prix dans les cycles de temps supérieurs. La stratégie filtre les faux signaux et améliore l’exactitude des moments d’entrée en bourse grâce à un jugement global de plusieurs conditions.
Code source de la stratégie
/*backtest
start: 2023-05-08 00:00:00
end: 2024-05-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("200 EMA, VWAP, MFI Strategy - Visible Signals", overlay=true, pyramiding=0)
// Inputs for dynamic adjustments
buffer = input.float(0.2, title="EMA Buffer Percentage", step=0.1) / 100
higherTimeframe = input.timeframe("15", title="Higher Timeframe")
mfiBuyThreshold = input(60, title="MFI Buy Threshold")
mfiSellThreshold = input(40, title="MFI Sell Threshold")
consecutiveCloses = input.int(1, title="Consecutive Closes for Confirmation")
// Calculate the 200-period EMA
ema200 = ta.ema(close, 200)
emaBufferedHigh = ema200 * (1 + buffer)
emaBufferedLow = ema200 * (1 - buffer)
emaHigher = request.security(syminfo.tickerid, higherTimeframe, ta.ema(close, 200))
// VWAP calculation
vwap = ta.vwap(hlc3)
// Money Flow Index calculation
mfiLength = 14
mfi = ta.mfi(close, mfiLength)
// Plotting the indicators
plot(ema200, title="200 EMA", color=color.blue)
plot(vwap, title="VWAP", color=color.orange)
plot(mfi, title="MFI", color=color.purple)
hline(50, "MFI Reference", color=color.gray, linestyle=hline.style_dashed)
plot(emaHigher, title="Higher TF EMA", color=color.red)
// Price action confirmation
isUpTrend = ta.rising(close, consecutiveCloses)
isDownTrend = ta.falling(close, consecutiveCloses)
// Define entry conditions
longCondition = close > emaBufferedHigh and close > vwap and mfi > mfiBuyThreshold and close > emaHigher and isUpTrend
shortCondition = close < emaBufferedLow and close < vwap and mfi < mfiSellThreshold and close < emaHigher and isDownTrend
// Trading execution
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Plot shapes for signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal", text="Buy")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal", text="Sell")