Cette stratégie utilise l'indicateur Noro Bands personnalisé pour déterminer la direction de la tendance et génère des signaux de trading basés sur des règles spécifiques.
Calculer les bandes de Noro. Déterminer les hauts et les bas récents en fonction de la période d'utilisation, et calculer les bandes intermédiaires et supérieures/inférieures.
Déterminez la direction de la tendance. Le prix au-dessus de la bande supérieure est tendance haussière. Le prix en dessous de la bande inférieure est tendance baissière.
Générer des signaux. Acheter un signal lorsque le prix dépasse la bande inférieure en tendance haussière. Vendre un signal lorsque le prix dépasse la bande supérieure en tendance baissière.
Intégrez CryptoBottom. Ajoutez des opportunités d'achat lorsque le signal CryptoBottom se produit.
Les utilisateurs peuvent choisir de ne négocier que long ou court, sans sélection, les deux côtés.
Il peut montrer ou cacher les bandes.
Les bandes de Noro déterminent efficacement la direction de la tendance.
La combinaison de la bande de rupture évite les faux signaux de rupture.
CryptoBottom améliore la qualité des signaux d'achat
Personnalisable uniquement pour les transactions longues ou courtes.
Les paramètres réglables s'adaptent à des délais différents.
Des paramètres incorrects peuvent entraîner une défaillance du calcul de la bande.
Les signaux de rupture ont un retard.
CryptoBottom n'est pas tout à fait fiable.
Le fait de ne négocier qu'un seul côté risque de manquer des opportunités.
Le risque 1 peut être résolu par l'optimisation des paramètres.
Le risque 2 peut être amélioré en combinant d'autres indicateurs.
Le risque 3 nécessite la validation des performances de CryptoBottom.
Le risque 4 nécessite une évaluation de la rentabilité des échanges unilatéraux.
Impact des paramètres de test sur les bandes de Noro.
Évaluez d'autres indicateurs de rupture au lieu des bandes de Noro.
Évaluer les stratégies de stop loss.
Testez l'efficacité des transactions longues ou courtes.
Optimisez les paramètres pour CryptoBottom.
Cette stratégie utilise des bandes de Noro pour déterminer les signaux de tendance et de rupture aux entrées de temps.
/*backtest start: 2023-09-10 00:00:00 end: 2023-09-17 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Strategy v1.2", shorttitle = "NoroBands str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") color = input(true, "Use Color or bar") usecb = input(true, "Use CryptoBottom") needbb = input(true, defval = false, title = "Show Bands") needbg = input(true, defval = false, title = "Show Background") src = close //Fast RSI fastup = rma(max(change(src), 0), 2) fastdown = rma(-min(change(src), 0), 2) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //CryptoBottom mac = sma(close, 10) lencb = abs(close - mac) sma = sma(lencb, 100) max = max(open, close) min = min(open, close) //dn = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //dist dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma //Trend trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 90) //Signals up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0 dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom longCondition = up == 1 or (up2 == 1 and usecb == true) if (longCondition) strategy.entry("Long", strategy.long, needlong == false ? 0 : na) shortCondition = dn == 1 if (shortCondition) strategy.entry("Short", strategy.short, needshort == false ? 0 : na)