Il s'agit d'une stratégie qui utilise des niveaux clés sur différents délais pour générer des signaux de trading à double rupture.
La stratégie analyse l'action des prix simultanément sur deux délais différents (tf et tf2), tf étant le délai le plus long reflétant la tendance à moyen et à long terme, et tf2 étant le délai le plus court reflétant les mouvements à court terme.
Le signal de négociation est formé lorsque up1 et up2 sont vrais ensemble, indiquant que à long terme et à court terme sont à la fois haussiers, go long; lorsque dn1 et dn2 sont à la fois vrais, indiquant à long terme et à court terme à la fois baissiers, go short.
La stratégie intègre également des filtres tels que le scalping inverse et les bougies de couleur pour éviter les signaux erronés des ruptures non tendance.
Dans l'ensemble, la stratégie tire pleinement parti de l'analyse de plusieurs échéanciers, garantissant que la tendance à moyen et à long terme répond aux attentes tout en évitant les interférences du bruit de marché à court terme, générant des signaux de négociation de haute qualité.
Identifier les tendances à moyen et long terme en dépassant les niveaux clés
En surveillant les écarts des niveaux clés sur deux périodes, il peut capturer des signaux d'entrée clairs aux stades d'initiation de la tendance.
La double confirmation réduit considérablement les faux signaux
L'exigence de ruptures simultanées sur deux délais différents réduit considérablement les faux signaux des fluctuations aléatoires, améliorant la qualité du signal.
Filtres tels que les scalps inversés et les chandeliers colorés
L'ajout de scalping inverse et de filtres à bougies de couleur peut éliminer certains signaux de rupture de mauvaise qualité et prévenir d'énormes pertes.
Paramètres simples
La stratégie n'a besoin que de deux paramètres de calendrier pour fonctionner, elle offre un réglage flexible pour différents produits.
Facile à comprendre et à optimiser
La structure claire facilite la compréhension de la logique et les paramètres peuvent être ajustés en fonction des conditions du marché pour l'optimisation.
Entrée retardée en raison d'une double fuite
Comparé à une rupture simple, une rupture double peut entraîner un certain retard d'entrée, en manquant les premiers bénéfices de forte tendance.
Sélection du niveau clé
Il est très important de sélectionner des niveaux clés appropriés pour différents produits et cycles de marché, sinon cela pourrait générer de faux signaux.
Échec de la rupture
Même avec une évasion double, il y a toujours une chance d'échec de l'évasion et de retrait rapide, causant des pertes.
Perte résultant d'un renversement de tendance
Les entrées de tendance tardives peuvent faire l'objet d'un renversement soudain, ne pouvant pas sortir à temps grâce à un stop loss et entraîner de grosses pertes.
Optimisation des paramètres difficile
Bien que simple, trouver l'ensemble de paramètres optimal nécessite encore des tests approfondis, avec une grande difficulté d'optimisation.
Ajouter des stratégies de stop loss
Peut mettre un arrêt de retard ou un arrêt de temps pour arrêter la perte avant que la perte ne devienne trop grande.
Optimiser les filtres
Peut tester différents paramètres d'amplitude inverse du cuir chevelu ou d'autres méthodes de filtrage.
Niveaux de clé dynamiques
Faire en sorte que les niveaux clés changent dynamiquement avec les changements du marché plutôt que des niveaux statiques.
Optimisation des paramètres multiproduits
Utilisez l'apprentissage automatique pour optimiser les meilleurs ensembles de paramètres pour différents produits.
Ajouter une confirmation de volume
Incorporer une confirmation de volume pour éviter de faux signaux de rupture sans volume.
Dans l'ensemble, il s'agit d'une stratégie de suivi de tendance simple et pratique. En analysant deux délais, il entre dans la conformité de direction à moyen et long terme pour filtrer efficacement le bruit. Les signaux sont clairs et faciles à interpréter, avec des paramètres intuitifs. Mais il présente également des problèmes tels qu'une entrée mal planifiée, des difficultés à sélectionner les niveaux clés. En résumé, cette stratégie fonctionne mieux comme un outil de validation de tendance à combiner avec d'autres facteurs, mais a encore beaucoup de marge d'optimisation en tant que système de trading autonome.
/*backtest start: 2023-10-15 00:00:00 end: 2023-11-14 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Levels Strategy v1.0", shorttitle = "Levels str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") tf = input('W', title = "timeframe 1") tf2 = input('D', title = "timeframe 2") src = input(ohlc4, "Source") ap = input(true, defval = true, title = "antipila") cf = input(true, defval = true, title = "color filter") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Signals level = request.security(syminfo.tickerid, tf, src[1]) level2 = request.security(syminfo.tickerid, tf2, src[1]) plot(level, linewidth = 3, color = silver) plot(level2, linewidth = 3, color = gray) up1 = close > level and ap == false ? true : low > level ? true : false dn1 = close < level and ap == false ? true : high < level ? true : false up2 = close > level2 and ap == false ? true : low > level2 ? true : false dn2 = close < level2 and ap == false ? true : high < level2 ? true : false //Trading lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if up1 and up2 and (close < open or cf == false) strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 and dn2 and (close > open or cf == false) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()