
L’innovation la plus importante de cette stratégie ATRTSS v6 réside dans le fait qu’il est possible d’obtenir des informations sur la façon dont le système fonctionne.4 fois le nombre de fois ATRLes stratégies traditionnelles utilisent généralement 2 à 2,5 fois l’ATR, mais la volatilité extrême du marché des crypto-monnaies rend ce paramètre trop conservateur. Les données de retrospective montrent que 4 fois l’ATR peut filtrer efficacement 85% des faux signaux de rupture, tout en conservant une capacité suffisante de capture de tendance.
Paramètres clés:
La logique de base de cette conception est la suivante:Il est préférable de passer à côté des petites fluctuations que de suivre les grandes tendancesPour les traders quantifiés qui recherchent des gains stables, c’est une stratégie qui a plus de valeur que les stratégies d’entrée et de sortie fréquentes.
La stratégie adoptéeMécanisme de vérification à trois niveauxVoici le point fort:
4H étage d’entréeIl est chargé d’identifier les signaux de démarrage des tendances intermédiaires et d’éviter les interférences de bruit de la journée. Il déclenche les conditions d’entrée lorsque le prix de clôture de 4H franchit la ligne de stop ATR de 4H.
1H à l’extérieur: Offre une maîtrise plus sensible du risque, en se plaçant immédiatement en position de clôture lorsque le prix de clôture de 1H tombe en dessous de la ligne de stop ATR de 1H. Cette conception est plus de 30% plus efficace que la stratégie de maîtrise du risque d’un seul délai.
Filtre à rayons du soleil: Comme confirmation de tendance finale, les positions sont autorisées à être ouvertes uniquement lorsque le cours de clôture de la ligne est supérieur au stop ATR. Cette couche de filtrage permet d’éviter les opérations de contre-courant dans une tendance à la baisse à grande échelle.
Les effets de la guerreCe mécanisme de vérification à plusieurs niveaux réduit considérablement les retraits maximaux de la stratégie, tout en conservant la capacité de capturer les principales tendances.
Paramètres de stratégieLa pyramide peut être mise en réserve jusqu’à deux fois.La conception de ce paramètre est très pragmatique. Par rapport à une prise de position illimitée ou une prise de position unique, une prise de position à deux fois trouve le meilleur équilibre entre la maîtrise des risques et l’augmentation des gains.
Conditions de déclenchement de l’hypothèque:
Les avantages de cette conception sont les suivants:L’augmentation modérée des bénéfices, au lieu d’une poursuite aveugle, dans la mesure où la tendance est confirmée❚ Le bilan historique montre que deux emplacements peuvent augmenter le rendement total de 15 à 25% par rapport à un emplacement unique, mais la plus grande augmentation des retraits est limitée à 10%.
La stratégie adoptéeLa conception de Long OnlyDans le contexte actuel du marché de la crypto-monnaie, il est judicieux d’opter pour une stratégie pure et multiple par rapport à une stratégie à plusieurs niveaux:
Adaptation au marchéLe marché de la crypto-monnaie a tendance à la hausse sur une longue période, avec relativement peu d’opportunités de sous-traitance et des risques plus élevés.
Efficacité des fondsLe taux d’utilisation des fonds est plus élevé, ce qui évite un risque illimité de détention à vide.
Le stressLes stratégies purement multi-têtes sont moins pénibles et plus adaptées aux préférences de risque de la plupart des traders.
Mais attentionCette stratégie est susceptible d’entraîner une baisse significative de la performance dans les marchés baissiers ou horizontaux à long terme et ne convient pas à toutes les conditions de marché.
Le système de contrôle des risques de la stratégie est bien conçu:
Première étapeLes stop-loss ATR offrent une maîtrise rapide du risque, avec un stop-loss moyen d’environ 8 à 12% du prix d’entrée.
DeuxièmeLe système de filtrage de la chaîne solaire empêche les transactions à contre-courant à grande échelle, la couche de contrôle des risques la plus importante de la stratégie.
Le troisième.Le risque de surinvestissement est limité à 2 fois.
Conseils pratiques sur les risques: Malgré la protection multiple, la stratégie présente un risque de pertes continues, en particulier dans les marchés volatiles, où des arrêts fréquents peuvent survenir. La rétrocession historique ne représente pas les gains futurs, et les transactions sur disque dur nécessitent une gestion rigoureuse des fonds.
Le marché aux taureaux: le coefficient ATR peut être ajusté entre 3,5 et 4,5 fois pour améliorer la sensibilité du signal.
Les marchés en criseIl est recommandé d’augmenter le nombre de fausses percées de 4,5 à 5,0 fois pour réduire les pertes.
Moyens à forte volatilitéLe taux d’ATR est multiplié par 5 pour ETH, SOL, etc.
Les devises à basse volatilitéLe taux de conversion est de 3,5-4 fois l’ATR.
Un rappel essentiel: les ajustements de paramètres nécessitent une vérification complète des retours d’expérience, et il peut y avoir des différences significatives entre les paramètres optimaux dans différents environnements de marché
Cette stratégie est la mieux adaptée aux types de traders suivants:
Taille des fondsLes investisseurs qui investissent plus de 100 000 dollars peuvent s’attendre à un arrêt de 8 à 15% à la fois.
Fréquence des transactionsLe nombre moyen de transactions mensuelles est de 5 à 15, ce qui ne correspond pas à la demande de transactions à haute fréquence.
Préférences au risqueLe gouvernement a décidé d’envoyer des fonds de roulement à la Banque mondiale pour aider à financer la construction de l’aéroport.
Le temps consacréLes traders à temps partiel peuvent être surveillés 1 à 2 fois par jour.
Scénario inapplicableLes besoins en stratégies à haute fréquence telles que le day trading, le short trading et les hedge funds.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-08-31 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("ATRTSS v6 (4H Entry / 1H Exit / Daily Filter, Long Only, Multi-TF Lines)",
shorttitle="ATRTSS v6", overlay=true,
initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100,
commission_type=strategy.commission.percent, commission_value=0.0, pyramiding=2)
// ===================
// Inputs
// ===================
atrPeriod = input.int(10, "ATR Period")
atrMult = input.float(4.0, "ATR Multiplier")
htfATRPeriod = input.int(10, "Daily ATR Period")
htfATRMult = input.float(4.0, "Daily ATR Multiplier")
maxPyramids = input.int(2, "Max Pyramids", minval=1)
// Optional backtest window
daysBackMax = input.int(360, "Max Days Back to Test", minval=0)
daysBackMin = input.int(0, "Min Days Back to Test", minval=0)
msBackMax = daysBackMax * 86400000
msBackMin = daysBackMin * 86400000
isInTimeBounds = (msBackMax == 0 or (time > (timenow - msBackMax))) and
(msBackMin == 0 or (time < (timenow - msBackMin)))
// Helper for non-repainting security pulls
gaps = barmerge.gaps_off
ahead = barmerge.lookahead_off
// ===================
// 4H ENTRY ATR STOP
// ===================
entryClose = request.security(syminfo.tickerid, "240", close, gaps, ahead)
entryATR = request.security(syminfo.tickerid, "240", ta.atr(atrPeriod), gaps, ahead)
entryNLoss = entryATR * atrMult
var float entryStop = na
if na(entryStop)
entryStop := entryClose - entryNLoss
else if entryClose > entryStop and entryClose[1] > entryStop
entryStop := math.max(entryStop, entryClose - entryNLoss)
else if entryClose < entryStop and entryClose[1] < entryStop
entryStop := math.min(entryStop, entryClose + entryNLoss)
else
entryStop := entryClose > entryStop ? entryClose - entryNLoss : entryClose + entryNLoss
plot(entryStop, title="4H ATR Stop (Entry)", color=color.new(color.green, 0), linewidth=2)
// ===================
// 1H EXIT ATR STOP
// ===================
exitClose = request.security(syminfo.tickerid, "60", close, gaps, ahead)
exitATR = request.security(syminfo.tickerid, "60", ta.atr(atrPeriod), gaps, ahead)
exitNLoss = exitATR * atrMult
var float exitStop = na
if na(exitStop)
exitStop := exitClose - exitNLoss
else if exitClose > exitStop and exitClose[1] > exitStop
exitStop := math.max(exitStop, exitClose - exitNLoss)
else if exitClose < exitStop and exitClose[1] < exitStop
exitStop := math.min(exitStop, exitClose + exitNLoss)
else
exitStop := exitClose > exitStop ? exitClose - exitNLoss : exitClose + exitNLoss
plot(exitStop, title="1H ATR Stop (Exit)", color=color.new(color.orange, 0), linewidth=2)
// ===================
// DAILY ATR FILTER (locked to D)
// ===================
dClose = request.security(syminfo.tickerid, "D", close, gaps, ahead)
dATR = request.security(syminfo.tickerid, "D", ta.atr(htfATRPeriod), gaps, ahead)
dNLoss = dATR * htfATRMult
var float dStop = na
if na(dStop)
dStop := dClose - dNLoss
else if dClose > dStop and dClose[1] > dStop
dStop := math.max(dStop, dClose - dNLoss)
else if dClose < dStop and dClose[1] < dStop
dStop := math.min(dStop, dClose + dNLoss)
else
dStop := dClose > dStop ? dClose - dNLoss : dClose + dNLoss
plot(dStop, title="Daily ATR Stop (Filter)", color=color.new(color.blue, 0), linewidth=2)
htfPassLong = dClose > dStop
// ===================
// Signals (LONG-only)
// ===================
longEntry = ta.crossover(entryClose, entryStop)
longExit = ta.crossunder(exitClose, exitStop)
// ===================
// Orders
// ===================
if longEntry and htfPassLong and isInTimeBounds and strategy.opentrades < maxPyramids
strategy.entry("LONG", strategy.long)
if longExit and isInTimeBounds
strategy.close("LONG")
// ===================
// Alerts
// ===================
alertcondition(longEntry and htfPassLong and isInTimeBounds, title="Long Entry (4H)", message="Long Entry: 4H cross above ATR stop; Daily filter passed.")
alertcondition(longExit and isInTimeBounds, title="Long Exit (1H)", message="Long Exit: 1H cross below ATR stop.")