Les bandes de Noro suivent la tendance de la stratégie

Auteur:ChaoZhang est là., Date: le 18 septembre 2023
Les étiquettes:

Résumé

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.

La logique de la stratégie

  1. 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.

  2. 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.

  3. 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.

  4. Intégrez CryptoBottom. Ajoutez des opportunités d'achat lorsque le signal CryptoBottom se produit.

  5. Les utilisateurs peuvent choisir de ne négocier que long ou court, sans sélection, les deux côtés.

  6. Il peut montrer ou cacher les bandes.

Les avantages

  1. Les bandes de Noro déterminent efficacement la direction de la tendance.

  2. La combinaison de la bande de rupture évite les faux signaux de rupture.

  3. CryptoBottom améliore la qualité des signaux d'achat

  4. Personnalisable uniquement pour les transactions longues ou courtes.

  5. Les paramètres réglables s'adaptent à des délais différents.

Les risques

  1. Des paramètres incorrects peuvent entraîner une défaillance du calcul de la bande.

  2. Les signaux de rupture ont un retard.

  3. CryptoBottom n'est pas tout à fait fiable.

  4. 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.

Des possibilités d'amélioration

  1. Impact des paramètres de test sur les bandes de Noro.

  2. Évaluez d'autres indicateurs de rupture au lieu des bandes de Noro.

  3. Évaluer les stratégies de stop loss.

  4. Testez l'efficacité des transactions longues ou courtes.

  5. Optimisez les paramètres pour CryptoBottom.

Conclusion

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)

Plus de