
La stratégie est basée sur l’indicateur de la ceinture de Brin, filtrée par un double écart standard, permettant des transactions rapides sur une période de 5 minutes. Les cours sont achetés lorsque le cours descend et vendus lorsque le cours monte. Les hauts et les bas sont définis par différents écarts standards et utilisent différents symboles de couleurs pour afficher intuitivement la force et la faiblesse de la tendance.
La stratégie utilise les caractéristiques statistiques de la bande de Bryn, le double filtrage pour améliorer la détection des tendances, adapté pour capturer rapidement les opportunités de tendance au niveau de 5 minutes. Cependant, les problèmes de fréquence des transactions et l’insuffisance des mesures de contrôle du vent doivent encore être optimisés.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//This displays the traditional Bollinger Bands, the difference is
//that the 1st and 2nd StdDev are outlined with two colors and two
//different levels, one for each Standard Deviation
strategy("Five Min Scalping Strategy", overlay=true)
src = input(close, title="Source")
length = input.int(20, minval=1, title="Length")
mult = input.float(2.0, minval=0.001, maxval=50, title="Multiplier")
basis = ta.sma(src, length)
dev = ta.stdev(src,length)
dev2 = mult * dev
upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2
LongCondition = close[1] < lower1 and close > lower1
ShortCondition = close[1] > upper1 and close < upper1
strategy.entry("Long", strategy.long, when = LongCondition)
strategy.entry("Short", strategy.short, when = ShortCondition)
strategy.close("Long", when = ShortCondition)
strategy.close("Short", when = LongCondition)
colorBasis = src >= basis ? color.blue : color.orange
pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0), style=plot.style_circles)
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0), style=plot.style_circles)
fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))