Il s'agit d'une stratégie de trading de renversement à double voie basée sur le canal de prix, les bandes de Bollinger et l'indicateur rapide RSI. Il combine l'indice de canal pour identifier les tendances, les bandes de Bollinger pour reconnaître les niveaux de support et de résistance, et le RSI rapide pour détecter les signaux de surachat et de survente, afin d'obtenir un trading de renversement efficace.
La stratégie repose principalement sur les indicateurs suivants pour prendre des décisions commerciales:
Canal de prix: Calcule le prix le plus élevé et le prix le plus bas sur une certaine période et trace la ligne centrale du canal.
Les bandes de Bollinger: la ligne centrale est la ligne centrale du canal de prix. Les bandes supérieure et inférieure sont calculées en fonction de l'écart type de l'écart du prix par rapport à la ligne centrale. Les signaux de trading sont générés lorsque le prix interagit avec les bandes de Bollinger.
Rapide RSI (Période = 2): Détermine les situations de surachat et de survente pour le prix. Va long lorsque le RSI tombe en dessous de 5, court lorsque le RSI dépasse 95.
Indicateur CryptoBottom: Détermine si le prix a franchi le niveau de support. Combiné avec un RSI rapide pour générer des signaux longs à haute probabilité.
Selon le moment où le prix franchit les canaux et les bandes de Bollinger pour effectuer des transactions, et aller long ou court en fonction des indications de surachat et de survente du RSI, la logique de base de cette stratégie est formée.
Cette stratégie présente les avantages suivants:
Le système à double piste augmente la précision du signal. Le canal de prix juge les principales tendances et les bandes de Bollinger identifient des niveaux de support et de résistance précis.
L'indicateur RSI rapide capture les opportunités d'inversion en détectant les surachats et les survente.
CryptoBottom accélère la confirmation des signaux longs.
Des paramètres raisonnables et faciles à optimiser. Des combinaisons de paramètres simples et intuitives facilitent l'optimisation des paramètres.
Cette stratégie comporte également certains risques:
Les paramètres incorrects pour les bandes de Bollinger peuvent manquer des mouvements de prix importants ou générer de faux signaux.
Les modèles d'interaction entre les deux voies peuvent être complexes, nécessitant une certaine sophistication technique pour des jugements précis.
Le risque d'un échec de l'inversion existe toujours, car il est impossible d'éliminer la probabilité d'un retrait du prix.
Difficulté d'optimisation des paramètres. Les paramètres optimaux peuvent devenir inefficaces si les conditions du marché changent.
La stratégie peut être améliorée dans les domaines suivants:
Optimiser les paramètres des bandes de Bollinger pour rapprocher les bandes supérieure et inférieure du prix, améliorant ainsi la précision des signaux de trading.
Ajouter des mécanismes de stop loss pour réduire les pertes lorsqu'elles atteignent certains pourcentages de seuil.
Incorporer plus d'indicateurs pour déterminer les niveaux de tendance, de soutien et de résistance afin de réduire les faux signaux.
Introduire des algorithmes d'apprentissage automatique pour régler automatiquement les paramètres afin qu'ils puissent s'adapter à l'évolution des environnements du marché.
Cette stratégie intègre le canal de prix, les bandes de Bollinger et l'indicateur RSI rapide pour construire un système de trading d'inversion à double voie. Tout en jugeant les principales tendances, elle saisit également rapidement les opportunités de support, de résistance et de surachat/survente. Les paramètres sont simples et directs, faciles à comprendre et à optimiser.
/*backtest start: 2022-12-18 00:00:00 end: 2023-11-30 05:20:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Strategy v1.3", shorttitle = "NoroBands str 1.3", 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 ColorBar") usecb = input(true, "Use CryptoBottom") usersi = input(true, "Use RSI") needbb = input(false, defval = false, title = "Show Bands") needbg = input(false, 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) //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 = 80) //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 //dn2 = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //CryptoBottom up3 = fastrsi < 5 ? 1 : 0 //dn3 = fastrsi > 99 ? 1 : 0 longCondition = up == 1 or (up2 == 1 and usecb == true) or (up3 == 1 and usersi == 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)