Cet article présente une stratégie de négociation à court terme basée sur les canaux de prix dynamiques.
La stratégie repose sur la logique suivante:
Calculez les canaux de prix dynamiques en utilisant les prix les plus élevés et les plus bas. La bande supérieure est la moyenne du prix le plus élevé et du point médian du canal. La bande inférieure est le point médian moins la différence entre le prix le plus bas et le point médian.
Lorsque le prix dépasse la bande supérieure, une tendance haussière commence.
Dans les tendances haussières, allez long lorsque deux barres baissières consécutives apparaissent.
Considérez les entrées contre-tendance pour poursuivre la dynamique du marché. Par exemple, court dans les tendances haussières et long dans les tendances baissières.
Fixez des pourcentages de profit, comme x% du prix d'entrée, pour verrouiller les profits.
Les avantages de cette stratégie sont les suivants:
Les canaux dynamiques reflètent les changements du marché en temps réel pour un meilleur jugement des tendances.
La combinaison des tendances et des éruptions filtre les fausses éruptions.
Les entrées contre-tendance profitent de la dynamique du marché pour obtenir des rendements excédentaires.
Les arrêts de profit contrôlent efficacement les risques.
La logique est simple et claire pour une mise en œuvre facile.
Il y a aussi quelques risques à prendre en considération:
Les canaux peuvent échouer pendant la volatilité des marchés.
Les transactions contre tendance sont vulnérables aux pertes.
Les fausses évasions peuvent causer de mauvais échanges.
Évitez de trop négocier pour maîtriser les coûts.
Cette stratégie intègre des canaux dynamiques, des évasions et des profits. Avec un ajustement approprié, elle peut être un outil de trading à court terme efficace.
/*backtest start: 2022-09-09 00:00:00 end: 2023-09-15 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Scalper Strategy v1.1", shorttitle = "Scalper str 1.1", 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") takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %") needct = input(false, defval = false, title = "Counter-trend entry") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") needbb = input(true, defval = true, title = "Show Bands") needbg = input(true, defval = true, title = "Show Background") src = close //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //Distance dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma hd2 = center + distsma * 2 ld2 = center - distsma * 2 //Trend sma = sma(close, 20) smatrend = close > sma ? 1 : close < sma ? -1 : smatrend[1] 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 bar = close > open ? 1 : close < open ? -1 : 0 up7 = trend == 1 and bar == -1 and bar[1] == -1 ? 1 : 0 dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0 up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0 dn8 = trend == -1 and bar == 1 and bar[1] == 1 ? 1 : 0 if up7 == 1 or up8 == 1 strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na) if dn7 == 1 or dn8 == 1 strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)