Il s'agit d'une stratégie de trading à court terme basée sur la rupture de l'élan et la réversion moyenne. Elle intègre plusieurs indicateurs, y compris la moyenne mobile, les modèles de bougies, le volume et la volatilité pour identifier les opportunités directionnelles avec une dynamique de rupture pour capturer les tendances à court terme.
Utilisez l'EMA à 3 jours comme ligne moyenne mobile de référence.
Le prix d'ouverture est supérieur au prix OHLC de la journée précédente (moyenne des prix d'ouverture, de hausse, de baisse et de fermeture).
Le volume est inférieur au volume de la journée précédente, ce qui indique une dynamique insuffisante, ce qui favorise une rupture directionnelle (Cond03).
Le prix de clôture dépasse la fourchette de prix de la journée précédente, ce qui indique une rupture (Cond04).
Lorsque toutes les 4 conditions ci-dessus sont remplies, passez à long (Entrées).
Règles de sortie: position close si les barres depuis l'entrée dépassent 10 ou si le profit maximal atteint 5 (Exits).
Cette stratégie combine plusieurs indicateurs pour déterminer la direction de la rupture du marché pour capturer les tendances à court terme.
L'utilisation de plusieurs indicateurs aide à filtrer les fausses éruptions et à identifier les éruptions valides.
Une impulsion insuffisante favorise la rupture directionnelle et l'allumage de la tendance, permettant de saisir des opportunités directionnelles plus claires.
Une fréquence de négociation élevée convient au trading à court terme pour obtenir de petits profits rapides.
Un stop loss et un take profit raisonnables permettent de contrôler efficacement les pertes et les risques liés à une seule transaction.
Les opérations ouvertes multiples en même temps présentent des risques de sur-opération.
Les paramètres statiques peuvent être trop rigides, des paramètres adaptatifs peuvent être introduits.
Il existe une probabilité d'échec des écarts, ce qui peut entraîner une perte de transactions.
Concentrez-vous uniquement sur les informations à court terme sans une compréhension complète des principales tendances.
Le point d'arrêt est peut-être trop étroit.
Incorporer la détermination des tendances pour éviter de négocier contre les tendances majeures.
Optimiser les paramètres. Les paramètres de la période EMA et de la rupture peuvent être testés et optimisés pour s'adapter aux différentes conditions du marché. Les paramètres adaptatifs peuvent également être utilisés pour les ajustements automatiques.
D'autres indicateurs auxiliaires tels que A/D, Bollinger Band Width, RSI peuvent être ajoutés pour vérifier la validité des ruptures et réduire les fausses ruptures.
Test sur les données historiques pour examiner la performance de la stratégie sous des hauts et des bas énormes, des marchés agités, etc.
Optimisez les mécanismes de stop loss. Considérez le stop loss de trailing, le stop loss en pourcentage, le stop loss adaptatif, etc. pour rendre les stops plus flexibles.
Cette stratégie intègre l'EMA, le volume, la volatilité et d'autres indicateurs pour identifier les opportunités à court terme avec l'élan. C'est une stratégie de rupture à court terme typique avec des rendements fréquents et des opérations agiles pour verrouiller des profits rapides. Mais elle se concentre trop sur les informations récentes sans une compréhension complète des principales tendances. Nous pouvons l'optimiser en incorporant des facteurs de tendance, en optimisant les paramètres, en améliorant la validité de la rupture, en testant des conditions extrêmes pour rendre la stratégie plus robuste et adaptative.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Free Strategy #01 (ES / SPY)", overlay=true) // Inputs Quantity = input(1, minval=1, title="Quantity") EmaPeriod = input(3, minval=1, title="EMA Period") MaxProfitCloses = input(5, minval=1, title="Max Profit Close") MaxBars = input(10, minval=1, title="Max Total Bars") // Misc Variables src = close BarsSinceEntry = 0 MaxProfitCount = 0 Ema = ema(close, EmaPeriod) OHLC = (open + high + low + close) / 4.0 // Conditions Cond00 = strategy.position_size == 0 Cond01 = close < Ema Cond02 = open > OHLC Cond03 = volume <= volume[1] Cond04 = (close < min(open[1], close[1]) or close > max(open[1], close[1])) // Update Exit Variables BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1 MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1]) // Entries strategy.entry(id="L1", long=true, qty=Quantity, when=(Cond00 and Cond01 and Cond02 and Cond03 and Cond04)) // Exits strategy.close("L1", (BarsSinceEntry - 1 >= MaxBars or MaxProfitCount >= MaxProfitCloses))