La combinaison d’un double équilibre inverse et d’un arrêt de traînée ATR est une stratégie de trading quantitatif très pratique. La stratégie utilise d’abord les fourches mortes et les croix d’or formées par le double équilibre pour juger de la tendance et du point d’inversion du marché. La stratégie est également combinée avec la moyenne des ondes réelles pour définir un arrêt de traînée, tout en contrôlant le risque et en garantissant un profit.
Les stratégies d’inversion bi-homogène utilisent des croisements de lignes rapides et lentes pour juger de la tendance du marché. Lorsque la ligne rapide traverse la ligne lente de haut en bas, elle forme un crochet mort, indiquant que le marché est passé d’un creux à la baisse; lorsque la ligne rapide traverse la ligne lente de bas en haut, elle forme un crochet doré, indiquant que le marché est passé de la baisse à la hausse.
En particulier, la stratégie choisit la ligne rapide de l’indicateur STOCH du 9e jour comme ligne rapide et l’EMA du 3e jour comme ligne lente. Lorsque la clôture est inférieure à la clôture du jour précédent et que la ligne rapide est supérieure à 50 et qu’elle franchit la ligne lente, la position est vide. Lorsque la clôture est supérieure à la clôture du jour précédent et que la ligne rapide est inférieure à 50 et qu’elle franchit la ligne lente, la position est vide.
La stratégie d’ATR Trailing Stop utilise l’amplitude réelle moyenne pour définir un point de rupture. L’indicateur ATR peut refléter efficacement la volatilité à court terme du marché. La stratégie de trailing stop est basée sur la valeur de l’ATR, et la rupture de la rupture se produit lorsque le mouvement des prix est inversé.
En particulier, la stratégie choisit un ATR de 5 jours et le point de rupture est fixé à 3,5 fois le point de rupture de l’ATR. Lorsque le prix atteint ce point de rupture, la rupture de la position est annulée.
La combinaison de l’inversion de la ligne de parité et de l’arrêt de traînée ATR combine les avantages de la stratégie de traînée pour juger de la tendance et de l’inversion, ainsi que les avantages de la stratégie d’arrêt de traînée ATR pour contrôler les risques, ce qui en fait une stratégie très pratique.
Plus précisément, cette stratégie présente les avantages suivants:
L’utilisation d’une fourche morte et d’une croix dorée formée de deux lignes égales pour déterminer le point de basculement de la tendance du marché et pour déterminer avec précision les signaux de retournement.
En combinaison avec l’indicateur STOCH pour confirmer le signal de renversement et éviter les faux signaux.
ATR trailing stop est un système de stop-loss qui permet de fixer des gains et des pertes en fonction des fluctuations du marché.
La stratégie a été conçue en utilisant une combinaison d’indicateurs et d’analyses techniques, ce qui la rend plus robuste.
L’idée stratégique est claire et compréhensible, les paramètres sont flexibles et faciles à utiliser sur le terrain.
Bien que cette stratégie présente de nombreux avantages, elle comporte également des risques à prendre en compte:
Les signaux générés par les lignes biuniformes peuvent être en retard et ne peuvent pas être achetés et vendus avec précision avant et après le point de basculement. Le cycle de la ligne biuniforme peut être raccourci de manière appropriée ou optimisé en combinaison avec d’autres indicateurs.
L’indicateur ATR n’est pas sensible aux fortes fluctuations du marché et ne peut pas être mis à jour en temps opportun. Des ajustements peuvent être envisagés en combinaison avec l’indicateur de dynamique ou l’indicateur de taux de volatilité.
L’utilisation de combinaisons de paramètres et de conditions multiples augmente la complexité de la stratégie. Des paramètres inappropriés peuvent entraîner des transactions trop radicales et augmenter le risque. Les paramètres doivent être évalués avec soin et ajustés progressivement.
D’après l’analyse des risques ci-dessus, la stratégie peut être optimisée dans les domaines suivants:
Ajustez le paramètre de la période moyenne et raccourcissez la période pour saisir les opportunités de retournement plus tôt.
L’ajout d’autres indicateurs pour juger le signal de renversement, tels que MACD, KD, etc., forme une confirmation multiple.
Ajustez dynamiquement le cycle ATR ou introduisez des fluctuations du marché, et mettez à jour les points de rupture en temps réel.
Évaluer les différences entre les marchés boursiers et les marchés à terme et ajuster les paramètres pour les rendre plus conformes aux caractéristiques des deux types de marchés.
L’ajout de coûts de transaction et de points de dérapage lors de la rétro-évaluation a permis de rapprocher la stratégie de l’environnement de transaction réel.
On peut envisager d’ajouter des modèles d’apprentissage automatique pour optimiser dynamiquement plusieurs paramètres.
La combinaison de la stratégie de rétrogradation et de l’arrêt de trail ATR est une stratégie de quantification efficace et pratique. Elle combine le double avantage de la détermination de la rétrogradation du marché et du contrôle du risque de l’arrêt de trail ATR.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 17/05/2019
// This is combo strategies for get
// a cumulative signal. Result signal will return 1 if two strategies
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Secon strategy
// Average True Range Trailing Stops Strategy, by Sylvain Vervoort
// The related article is copyrighted material from Stocks & Commodities Jun 2009
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
ATR_TrailingStop(nATRPeriod, nATRMultip) =>
xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR
pos = 0.0
xATRTrailingStop = 0.0
xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
pos := iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Average True Range Trailing Stops", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
nATRPeriod = input(5)
nATRMultip = input(3.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posATR_TrailingStop = ATR_TrailingStop(nATRPeriod, nATRMultip)
pos = iff(posReversal123 == 1 and posATR_TrailingStop == 1 , 1,
iff(posReversal123 == -1 and posATR_TrailingStop == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? red: possig == 1 ? green : blue )