
Cette stratégie utilise les prix d’ouverture et de clôture de la journée précédente, ainsi qu’une combinaison d’EMA de ligne rapide et d’EMA de ligne lente, pour juger de la direction de la valeur du marché et effectuer des opérations d’achat ou de vente correspondantes pendant une période de temps de négociation définie par l’utilisateur. En même temps, la stratégie utilise un stop-loss de suivi pour verrouiller les bénéfices ou limiter les pertes.
Cette stratégie est basée principalement sur deux éléments:
Si le prix de clôture est supérieur au prix d’ouverture, cela indique une hausse globale de la valeur du jour; si le prix de clôture est inférieur au prix d’ouverture, cela indique une baisse globale de la valeur du jour.
La relation entre la position de l’EMA rapide à 50 cycles et celle de l’EMA lente à 200 cycles. Si la ligne rapide est au-dessus de la ligne lente, cela signifie que la vitesse d’augmentation des valeurs à court terme est supérieure à la tendance à long terme. Si la ligne rapide est en dessous de la ligne lente, cela signifie que la vitesse d’augmentation des valeurs à court terme est inférieure à la tendance à long terme.
Dans le cas d’une condition de prise de plus, la stratégie de prise de plus est utilisée si le prix de clôture de la journée précédente est supérieur au prix d’ouverture, le prix actuel est supérieur au prix d’ouverture de la journée précédente, et l’EMA de la ligne rapide est supérieur à l’EMA de la ligne lente, et pendant le temps de transaction défini par l’utilisateur.
Lorsqu’il remplit les conditions de prise de position, la stratégie de prise de position prend effet si le prix de clôture de la journée précédente est inférieur au prix d’ouverture, si le prix actuel est inférieur au prix d’ouverture de la journée précédente, et si l’EMA de la ligne rapide est inférieur à l’EMA de la ligne lente, et pendant la période de négociation définie par l’utilisateur.
En outre, la stratégie utilise le tracking stop loss pour bloquer les profits ou limiter les pertes. La distance de tracking stop loss est ajustée en fonction de la distance initiale et de l’avancement mobile définis par l’utilisateur.
Cette stratégie présente les avantages suivants:
L’utilisation d’indicateurs multiples pour déterminer la direction de la valeur du cours de l’or réduit la probabilité d’une transaction erronée.
Le suivi des arrêts permet de verrouiller efficacement les bénéfices et de réduire les risques en cas de revers.
Les utilisateurs peuvent choisir la zone de négociation appropriée en fonction de leur heure de négociation et éviter d’être pris au piège pendant les opérations institutionnelles.
Les valeurs périodiques de l’EMA peuvent être ajustées et optimisées en fonction des variations du marché, ce qui rend la stratégie plus flexible.
Cette stratégie comporte aussi des risques:
En cas d’urgence, la stratégie peut entraîner des pertes plus importantes. Cela nécessite une intervention manuelle ou une distance d’arrêt plus lâche.
L’EMA ne peut pas filtrer complètement le bruit du marché. Lorsque l’EMA génère un signal erroné, il déclenche des transactions inutiles. Les paramètres de l’EMA peuvent être optimisés de manière appropriée ou d’autres indicateurs de filtrage peuvent être ajoutés.
Le mauvais réglage de la distance de suivi des pertes augmente également le risque. Une distance trop proche est facilement bloquée; une distance trop éloignée ne permet pas de contrôler efficacement les pertes. Des tests sont nécessaires pour déterminer les paramètres optimaux.
La stratégie peut également être optimisée dans les domaines suivants:
L’ajout de filtres sur d’autres indicateurs techniques, tels que le MACD, les bandes de Bollinger, etc., réduit la probabilité d’erreur de signal EMA.
Modifier le stop tracking en stop adaptatif, en ajustant intelligemment la distance de stop en fonction de la volatilité du marché.
Ajout d’un module de gestion des positions, permettant un contrôle des risques par fractionnement des positions, réduisant ainsi l’impact des pertes individuelles.
L’ajout de modèles d’apprentissage automatique pour déterminer la direction des tendances et l’utilisation de plus de données historiques pour améliorer la précision des jugements.
Optimisation de la période de négociation, combinée à une stratégie de sélection de la distribution normale pour une zone de négociation plus impliquée.
Cette stratégie est une stratégie typique de suivi de la tendance dans son ensemble. Elle combine plusieurs indicateurs pour déterminer la direction de la tendance à la hausse ou à la baisse de la valeur et appartient à un type de stratégie plus robuste. L’application du suivi des arrêts de perte lui permet également de contrôler efficacement les pertes.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("My Strategy", overlay=true)
// Inputs for user to modify
startHour = input(11, title="Start Hour")
endHour = input(16, title="End Hour")
trailingStop = input(100, title="Trailing Stop Start (pips)")
trailingStep = input(10, title="Trailing Step (pips)")
// Define the EMAs
longEma = ema(close, 200)
shortEma = ema(close, 50)
// Calculate daily open, high, low, close
daily_open = security(syminfo.tickerid, "D", open[1])
daily_close = security(syminfo.tickerid, "D", close[1])
// Time conditions
timeAllowed = (hour >= startHour) and (hour <= endHour)
// Define long condition based on your criteria
longCondition = (daily_close > daily_open) and (close > daily_open) and (shortEma > longEma) and timeAllowed
// Define short condition based on your criteria
shortCondition = (daily_close < daily_open) and (close < daily_open) and (shortEma < longEma) and timeAllowed
// Enter the trade
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Trailing Stop Loss
strategy.exit("Exit Long", "Long", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)
strategy.exit("Exit Short", "Short", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)
// Plotting
plot(daily_open, color=color.red, title="Daily Open")
plot(longEma, color=color.blue, title="200 EMA")
plot(shortEma, color=color.orange, title="50 EMA")