
La stratégie de Noro’s Price Channel Scalping est une stratégie de trading de scalping basée sur les canaux de prix et les bandes de prix. Cette stratégie utilise les canaux de prix et les fluctuations de prix pour identifier les tendances du marché et s’inscrire en cas de retournement de direction.
La stratégie commence par calculer le canal de prix le plus élevé (lasthigh) et le canal de prix le plus bas (lastlow), puis la ligne médiane du canal de prix (center). Ensuite, elle calcule la distance entre le prix et la ligne médiane (dist) et la moyenne mobile simple de la distance (distsma). Elle permet de calculer des bandes de fluctuation de prix 1 fois (hd et ld) et 2 fois (hd2 et ld2) la distance médiane.
La stratégie consiste à ouvrir une position en sens inverse lorsque des signes de faillite apparaissent. Par exemple, dans une tendance haussière, si deux lignes de force apparaissent, faites un vide à la fermeture de la deuxième ligne de force; dans une tendance baissière, si deux lignes de négation apparaissent, faites plus à la fermeture de la deuxième ligne de négation.
La stratégie de scalping de canal de narrow wave est une stratégie très appropriée pour le trading de scalping dans son ensemble. Elle utilise les canaux de prix et les bandes de fluctuation pour déterminer l’évolution du marché et pour ouvrir des positions inverses lorsque des signes de sommet ou de creux apparaissent. La stratégie est tradée à haute fréquence et gagne rapidement, mais elle est également exposée à un certain risque.
/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-10 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Scalper Strategy v1.0", shorttitle = "Scalper str 1.0", 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")
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
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 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price ? 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 ? 0 : na)
if dn7 == 1 or dn8 == 1
strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 ? 0 : na)