Stratégie de clôture de la bougie de l'EMA

Auteur:ChaoZhang est là., Date: 2024-01-29 16:02:08 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie génère des signaux de trading basés sur la croix dorée et la croix morte des moyennes mobiles. Elle intègre trois moyennes mobiles avec des paramètres différents - à court terme, à moyen terme et à long terme. En comparant la relation de hauteur entre ces trois MA, elle détermine l'état haussier / baissier du marché et produit des signaux de trading.

Principe de stratégie

La stratégie définit trois lignes moyennes mobiles, qui sont une moyenne mobile simple à court terme, une moyenne mobile pondérée à moyen terme et une moyenne mobile exponentielle à long terme.

Lorsque la ligne SMA à court terme traverse la ligne WMA à moyen terme vers le haut et que le prix de clôture est également supérieur à la ligne WMA, cela indique que le marché est en train de s'inverser vers le haut et forme un signal haussier. Lorsque la ligne SMA à court terme traverse en dessous de la ligne WMA à moyen terme ou que le prix de clôture est inférieur à la ligne WMA, elle donne un signal baissier. Par conséquent, cette stratégie juge l'état haussier/baissier du marché en comparant la hauteur et le croisement entre les trois MAs.

Analyse des avantages

La stratégie intègre trois MAs à court, moyen et long terme, qui peuvent réagir aux changements du marché dans différents cycles et améliorer la précision de la capture des tendances. En particulier, la WMA à moyen terme a un meilleur effet de filtrage du bruit du marché et évite efficacement les mauvais signaux. En outre, la stratégie n'envoie des signaux longs que lorsque les signaux haussiers de la SMA et du prix de clôture atteignent une grande cohérence, ce qui empêche les sacs à vis et garantit l'efficacité de chaque entrée.

Analyse des risques

La stratégie présente le risque de faux signaux. Lorsque la SMA à court terme produit de mauvais signaux, des pertes inutiles peuvent être causées en raison de la dépendance stricte de la stratégie à la ligne SMA. De plus, la stratégie est sensible aux paramètres. Lorsque les paramètres sont définis de manière incorrecte sur les marchés à plage, de nombreux métiers erronés peuvent être déclenchés.

Pour éviter de tels risques, il est suggéré d'ajuster les longueurs de MA, d'assouplir correctement les conditions de négociation et de définir un stop loss pour limiter les pertes uniques.

Directions d'optimisation

La stratégie peut être optimisée par les aspects suivants:

  1. Incorporer plus de types d'AIM comme KC pour former un portefeuille d'indicateurs afin d'améliorer la précision

  2. Ajouter des facteurs de volume comme la rupture avec le volume élevé

  3. Combiner les indicateurs de volatilité pour éviter les échecs sur les marchés instables

  4. Utiliser l'apprentissage automatique pour former et optimiser les paramètres

Conclusion

La stratégie détermine l'état haussier/baissier du marché en fonction de la relation de croisement et de hauteur entre trois MA et les prix de clôture. En combinant des MA de termes différents, elle peut effectivement détecter les tendances et les signaux sont de haute qualité.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Candle Close Strategy KHANH 11/11/2023", overlay=true, initial_capital=100, commission_type=strategy.commission.percent, commission_value=0.0000005, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len1 = input.int(1, title="SMA #1 Length", minval=1)
src1 = input(close, title="SMA Source #1")
out1 = ta.sma(src1, len1)
plot(out1, title="SMA #1", color=close >= out1 ? color.rgb(120, 123, 134, 100) : color.rgb(120, 123, 134, 100), linewidth=1)

len2 = input.int(20, title="HMA #2 Length", minval=1)
src2 = input(close, title="HMA Source #2")
out2 = ta.hma(src2, len2)
plot(out2, title="HMA #2", color=close >= out2 ? color.rgb(253, 255, 254, 100) : color.rgb(255, 255, 255, 100), linewidth=1)

len3 = input.int(25, title="EMA #3 Length", minval=1)
src3 = input(close, title="EMA Source #3")
out3 = ta.ema(src3, len3)
plot(out3, title="EMA #3", color=close >= out3 ? color.blue : color.blue, linewidth=1)

// Define the long condition
longCondition = (out1 > out2 and close > out2)

// Define the short condition
shortCondition = (out1 < out2 or close < out2)

// Entry conditions
if (longCondition)
    strategy.entry("Long",strategy.long)
else if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trade channel plot
PeriodLookBack = input(55, title="Period Look Back")
xHighest55 = request.security(syminfo.tickerid, timeframe.period, ta.highest(PeriodLookBack))
xLowest55 = request.security(syminfo.tickerid, timeframe.period, ta.lowest(PeriodLookBack))
plot(xHighest55[1], color=color.red, title="HH")
plot(xLowest55[1], color=color.green, title="LL")



//@version=5
//indicator("Custom Moving Averages", shorttitle="CMA", overlay=true)

shortLength = input(defval=40, title="Short Length")
longLength = input(defval=80, title="Long Length")

// Sử dụng khung thời gian của biểu đồ đang sử dụng thay vì cố định là "D"
shortTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, shortLength))
shortBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, shortLength))

longTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, longLength))
longBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, longLength))

shortAverageLine = (shortTopBorder + shortBottomBorder) / 2
longAverageLine = (longTopBorder + longBottomBorder) / 2

plot(shortAverageLine, color=color.new(#fc0000, 0))
plot(longAverageLine, color=color.new(#01ff27, 0))


Plus de