
La stratégie est basée sur la conception de l’indicateur de la ceinture de Brin. Elle consiste à faire plus lorsque le prix franchit la ceinture de Brin et à faire moins lorsque le prix franchit la ceinture de Brin et à suivre la tendance.
La stratégie utilise la zone de Boehringer pour déterminer la zone de fluctuation et la direction de la tendance du marché. Lorsqu’un prix franchit la zone de Boehringer pour descendre, il est considéré comme un signal de renversement de tendance.
Comment gérer les risques:
La stratégie utilise les indicateurs de la ceinture de Brin pour déterminer la tendance des prix et les niveaux de résistance des supports. Le point d’entrée est le point de rupture en bas de la ceinture de Brin et le point d’arrêt est le milieu de la ceinture de Brin. La logique de la stratégie est simple et claire.
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("FFFDBTC", overlay=true,initial_capital = 100,commission_type =strategy.commission.percent,commission_value= 0.15,default_qty_value = 100,default_qty_type = strategy.percent_of_equity)
// === INPUT BACKTEST RANGE ===
FromMonth = input.int(defval=1, title="From Month", minval=1, maxval=12)
FromDay = input.int(defval=1, title="From Day", minval=1, maxval=31)
FromYear = input.int(defval=1972, title="From Year", minval=1972)
ToMonth = input.int(defval=1, title="To Month", minval=1, maxval=12)
ToDay = input.int(defval=1, title="To Day", minval=1, maxval=31)
ToYear = input.int(defval=9999, title="To Year", minval=2010)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true
// Definindo tamanho da posição
position_size = strategy.equity
// Definir parâmetros das Bandas de Bollinger
length = input.int(51, "Comprimento")
mult = input.float(1.1, "Multiplicador")
// Calcular as Bandas de Bollinger
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
// Definir condições de entrada e saída
entrada_na_venda = low < lower
saida_da_venda = high > lower and strategy.position_size < 0
entrada_na_compra = high > upper
saida_da_compra = low < upper and strategy.position_size > 0
shortCondition = close[1] < lower[1] and close > lower and close < basis
longCondition = close[1] > upper[1] and close < upper and close > basis
// Entrar na posição longa se a condição longCondition for verdadeira
if ((entrada_na_compra) and window() )
strategy.entry("Buy", strategy.long)
//saida da compra
if (saida_da_compra)
strategy.close("Buy")
//entrada na venda
if ((entrada_na_venda) and window() )
strategy.entry("Sell", strategy.short)
//saida da venda
if (saida_da_venda)
strategy.close("Sell")
if ((longCondition) and window())
strategy.entry("Long", strategy.long)
// Entrar na posição curta se a condição shortCondition for verdadeira
if ((shortCondition) and window())
strategy.entry("Short", strategy.short)
// Definir a saída da posição
strategy.exit("Exit_Long", "Long", stop=ta.sma(close, length), when = close >= basis)
strategy.exit("Exit_Short", "Short", stop=ta.sma(close, length), when = close <= basis)
// Desenhar as Bandas de Bollinger no gráfico
plot(basis, "Média", color=#2962FF, linewidth=2)
plot(upper, "Upper", color=#BEBEBE, linewidth=2)
plot(lower, "Lower", color=#BEBEBE, linewidth=2)