
Cette stratégie est basée sur le concept de la bande de Bryn, qui définit la trajectoire ascendante et descendante d’un canal de prix, et utilise cette dernière pour juger de la tendance et générer des signaux de négociation. Plus précisément, il s’agit de calculer l’écart absolu moyen du prix comme bande de passage, la bande de passage comme moyenne mobile simple du prix, la bande de passage supérieure et inférieure étant respectivement augmentées et diminuées de 1 ou 2 fois.
La stratégie comprend principalement les points suivants:
Le calcul de la moyenne des prix, la moyenne mobile simple des prix.
Calculer la moyenne mobile simple de la variance absolue des prix en tant que bande passante du canal.
La bande passante supérieure et la bande passante inférieure sont déterminées en fonction de la bande passante centrale et de la bande passante supérieure. La bande passante supérieure est la bande passante centrale plus 1 ou 2 fois la bande passante centrale et la bande passante inférieure est la bande passante centrale moins 1 ou 2 fois la bande passante centrale.
Calculer l’indicateur de jugement de la tendance à la hausse. Il est à la hausse lorsque le prix est supérieur à la voie 2 et à la baisse lorsque le prix est inférieur à la voie 2.
Génération de signaux de transaction. Le prix est en hausse à l’entrée de la trajectoire 2 et en baisse à la descente de la trajectoire 2.
La ligne d’arrêt est définie comme étant la ligne d’arrêt multiple sur le rail inférieur 1 et la ligne d’arrêt simple sur le rail supérieur 1.
Les positions sont calculées conformément aux exigences de gestion des fonds.
Cette stratégie combine les idées de juger les tendances des moyennes mobiles, de juger les bandes de Bryn sur les surachats et les surventeurs, et de faire une inversion de rupture. En jugant la force de la tendance à travers les différences de deux voies, tout en jouant le rôle de la courbe de Bryn de retour sur l’axe central, l’ensemble forme un système de négociation plus stable.
Les principaux avantages de cette stratégie sont les suivants:
L’utilisation d’un système à deux voies permet de mieux juger de la force ou de la faiblesse de la tendance.
Le Brin est doté d’une fonction de régression puissante qui permet d’éviter efficacement les fausses percées.
La différence entre les deux voies est associée à l’axe central de régression de la bande de Bryn, ce qui donne un signal de transaction plus stable.
Il y a une logique claire d’arrêt de perte et de sortie pour contrôler les risques.
Les positions sont placées conformément aux exigences de gestion des fonds et évitent le super-effet de levier.
Les stratégies sont claires, faciles à comprendre et à optimiser.
Les paramètres sont flexibles et peuvent être optimisés pour différents marchés.
Cette stratégie comporte aussi des risques:
Une mauvaise configuration des paramètres de la bande de Brin peut entraîner un effet de barrière qui empêche de suivre efficacement les prix.
Les différences de deux voies ne permettent pas d’éviter complètement les erreurs de jugement de tendance.
Dans un marché en crise, il est possible de générer plus de signaux inefficaces.
La fausse percée entraîne des pertes.
Il y a un certain retard de temps et il est possible que vous ayez manqué le point de conversion de la période.
Les gains et les pertes sont plus limités que les points d’arrêt, il est impossible de suivre la tendance à l’infini.
Les mesures de gestion des risques correspondantes:
Optimisation des paramètres pour adapter la bande de Bryn à des cycles différents.
Pour éviter les erreurs de jugement, vérifiez la combinaison des autres indicateurs.
Réduire les positions et contrôler les pertes monétaires.
Optimiser les points de rupture pour garantir un ratio de rentabilité.
Réduire les délais et les échéances de manière appropriée.
Le vent doit être maîtrisé pour ne pas être à l’arrêt sans fin.
Cette stratégie peut être optimisée dans les directions suivantes:
Optimiser les paramètres de la bande de Bryn pour un meilleur suivi des prix. Paramètres d’adaptation peuvent être introduits.
Essayez différentes moyennes mobiles comme EMA, DWMA, etc.
Ajouter des filtres de tendance pour éviter les erreurs de négociation dans les marchés de choc.
Ajoutez une sortie active Exit pour obtenir plus de profit de tendance. Vous pouvez considérer le petit stop loss, le stop loss mobile, l’indicateur de sortie, etc.
L’introduction de plusieurs cycles de temps pour la combinaison, différents cycles adaptés à différentes conditions de marché.
Ajout de logiques conditionnelles supplémentaires, telles que des sursauts de volume de transactions, afin d’éviter les fausses sursauts.
On peut envisager de revenir en arrière, de vendre sur la voie et d’acheter sur la voie.
Effectuer des tests d’optimisation de paramètres pour trouver la combinaison optimale de paramètres.
Cette stratégie est une stratégie de trading quantitatif très pratique. Elle offre une bonne référence pour les stratégies d’entrée dans le trading quantitatif.
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © noro
//@version=4
strategy(title = "Noro's Bands Strategy", shorttitle = "Bands", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)
//Sattings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
len = input(20, defval = 20, minval = 1, maxval = 1000, title = "Length")
src = input(ohlc4, title = "Source")
showbb = input(true, title = "Show Bands")
showof = input(true, title = "Show Offset")
showbg = input(false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//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 = 0
trend := high > hd2 ? 1 : low < ld2 ? -1 : trend[1]
bgcol = showbg == false ? na : trend == 1 ? color.lime : color.red
bgcolor(bgcol, transp = 70)
//Lines
colo = showbb == false ? na : color.black
offset = showof ? 1 : 0
plot(hd2, color = colo, linewidth = 1, transp = 0, offset = offset, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, offset = offset, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, offset = offset, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, offset = offset, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, offset = offset, title = "Low band 2")
//Trading
size = strategy.position_size
needstop = needlong == false or needshort == false
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
if distsma > 0
strategy.entry("Long", strategy.long, lot, stop = hd2, when = truetime and needlong)
strategy.entry("Short", strategy.short, lot, stop = ld2, when = truetime and needshort)
sl = size > 0 ? ld2 : size < 0 ? hd2 : na
if size > 0 and needstop
strategy.exit("Stop Long", "Long", stop = sl)
if size < 0 and needstop
strategy.exit("Stop Short", "Short", stop = sl)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()
strategy.cancel("Long")
strategy.cancel("Short")