
Cette stratégie est une stratégie de trading quantitative qui utilise une combinaison de bandes et de courbes de Brin pour la détermination des tendances et l’entrée. Elle combine les capacités de reconnaissance de la tendance des bandes de Brin et l’effet de fléchissement des moyennes mobiles pour identifier efficacement la direction de la tendance du marché et entrer dans la tendance.
Calculer les prix maximaux et minimaux des canaux de la ceinture de Brin pour déterminer la direction des tendances du marché
Calculer la taille de l’entité solaire et déterminer les signaux d’arrêt et de retour
Après confirmation de la direction de la tendance, l’entrée est effectuée dans la direction du passage
Les moyennes mobiles sont utilisées pour filtrer et éviter les faux signaux.
La courbe de Brin permet de déterminer clairement les canaux de prix et la direction de la tendance, la moyenne mobile est filtrée, les deux combinés permettent d’identifier efficacement les tendances, d’éviter l’impact des événements soudains sur le marché et de garantir la stabilité du système.
En calculant la moyenne de la taille de l’entité de rayonnement solaire au cours d’un certain cycle et en la comparant à la taille de l’entité du cycle actuel, il est possible de déterminer clairement le renversement de la tendance et de procéder à un arrêt et à une réduction de la position, afin de contrôler efficacement le risque de la stratégie.
La stratégie consiste à entrer dans les conditions de la combinaison des moyennes mobiles et de la direction du passage, et à utiliser la règle de taille de l’entité de la ligne solaire pour effectuer des arrêts de perte, de sorte que les règles d’entrée et de stop-loss de l’ensemble du système soient très clairement systématisées.
En cas de choc, le prix peut toucher plusieurs fois la voie descendante et entraîner de petites pertes répétées. La taille de la position doit être réduite pour réduire les pertes individuelles.
Lors d’une tendance forte, un revirement de prix à court terme peut déclencher la levée de la règle de stop-loss, au cours de laquelle la marge de stop-loss doit être allégée de manière appropriée pour suivre la tendance.
Les paramètres des moyennes mobiles et des bandes de Brin sont mal configurés, ce qui peut entraîner une erreur d’identification du signal. Les paramètres doivent être optimisés de manière appropriée pour que le signal soit stable et fiable.
Les paramètres des moyennes mobiles ont été ajustés pour réduire la fluidité et permettre de détecter plus rapidement les changements de tendance.
Essayez différentes règles de stop-loss, telles que le stop-tracking, le stop-ATR, etc. et choisissez la meilleure façon de vous arrêter.
Les modèles d’entraînement basés sur une grande quantité de données historiques aident à juger les tendances et à émettre des signaux de trading.
La stratégie prend en compte le jugement de la tendance et le contrôle du risque, utilise les canaux de la ceinture de Brin et les moyennes mobiles pour identifier les tendances, tout en utilisant la taille de l’entité de la chaîne solaire pour arrêter les pertes. La stratégie est systématique, les règles quantitatives sont claires et permettent de contrôler efficacement les risques pour obtenir des gains excédentaires.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Scalper Strategy v1.3", shorttitle = "Scalper 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")
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 1
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
hd1 = center + distsma / 2
ld1 = center - distsma / 2
//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 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)
//Body
body = abs(close - open)
smabody = ema(body, 30)
candle = high - low
//Engulfing
min = min(open, close)
max = max(open, close)
bar = close > open ? 1 : close < open ? -1 : 0
upeng = bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1] ? 1 : 0
dneng = bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1] ? 1 : 0
//Signals
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 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) or (body > smabody and close > open)) ? 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)