Il s’agit d’une stratégie qui utilise les prix clés sur différents axes temporels pour effectuer des doubles-brèches qui forment un signal de transaction. Il peut entrer en position plus ou moins forte lorsque le prix tendance franchit les points clés de support ou de résistance pour capturer la tendance de la ligne médiane.
La stratégie analyse simultanément l’évolution des prix sur deux axes de temps différents (tf et tf2), le tf est plus long et reflète la tendance à la ligne moyenne longue; le tf2 est plus court et reflète les mouvements à court terme. La stratégie surveille les signaux de négociation suivants:
Les conditions de formation du signal de transaction sont: up1 et up2 sont à la fois vrais, ce qui signifie que la ligne médiane et la courte sont à la baisse, ce qui est plus; dn1 et dn2 sont à la fois vrais, ce qui signifie que la ligne médiane et la courte sont à la baisse, ce qui est vide.
La stratégie a également ajouté des conditions de filtrage, telles que le filtrage de la couche inverse et du filtrage de la ligne K de couleur, pour empêcher les faux signaux de rupture de tendance.
Dans l’ensemble, la stratégie exploite l’avantage de l’analyse sur plusieurs périodes de temps pour créer un signal de trading de haute qualité tout en veillant à ce que les tendances de la ligne moyenne et longue soient conformes aux attentes et à éviter d’être perturbées par le bruit du marché à court terme.
La stratégie surveille les ruptures de prix clés sur les deux axes de temps, permettant de capturer des moments d’entrée clairs au début d’une tendance.
La rupture simultanée sur deux axes de temps différents permet de réduire considérablement les erreurs causées par les fluctuations aléatoires et d’améliorer la qualité du signal.
L’ajout d’une juxtaposition inverse et d’un jugement de couleur K permet de filtrer les signaux de rupture de faible qualité et d’éviter de graves pertes.
La stratégie ne nécessite que deux paramètres de l’axe du temps pour fonctionner, et le choix des paramètres est flexible et adapté aux différentes variétés.
La structure de la stratégie est claire et les principes faciles à comprendre. Les paramètres peuvent également être ajustés en fonction des caractéristiques du marché pour optimiser la stratégie.
Les doubles percées peuvent entraîner un certain retard d’entrée par rapport aux percées simples, ce qui vous fera rater des bénéfices de la période de forte croissance précédente.
Il est important de choisir le prix clé approprié pour les différentes variétés et les cycles de marché, sinon il est possible d’obtenir le mauvais signal.
Même en cas de double percée, il peut y avoir une défaillance de la percée, puis une reprise rapide, entraînant des pertes.
L’entrée tardive dans la tendance peut subir une inversion soudaine et entraîner de plus grandes pertes si elle n’est pas arrêtée à temps.
Bien que simple, il faut beaucoup de tests répétitifs pour trouver la meilleure combinaison de paramètres et il est difficile de l’optimiser.
Il est possible de définir un stop mobile ou un stop temporel, pour arrêter la mise en jeu avant que les pertes ne s’élargissent.
Il est possible de tester différents paramètres d’amplitude d’inversion, ou d’essayer d’autres méthodes de filtrage.
Les prix clés peuvent être modifiés de manière dynamique en fonction de l’évolution du marché, plutôt que de manière statique.
Les meilleures combinaisons de paramètres pour les différentes variétés peuvent être optimisées par l’apprentissage automatique.
Les transactions peuvent être confirmées par des confirmations supplémentaires, ce qui évite de nombreuses fausses signaux.
La stratégie est une stratégie de suivi de tendance simple et pratique. Elle utilise l’analyse de deux axes de temps simultanés, l’entrée est effectuée lorsque la ligne médiane et longue est conforme aux attentes, ce qui permet de filtrer efficacement une partie du bruit. Le signal de la stratégie est clair et facile à lire, le paramètre de la configuration est également relativement simple et intuitif.
/*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()