Esta estratégia usa a linha da proporção de ouro das Bandas de Bollinger combinadas com formações médias móveis para negociar reversões médias.
Usar vwma em vez de sma para a linha média do BB reflete melhor o movimento dos preços
A proporção de ouro é importante suporte/resistência, fornece base para a reversão
O MA na tendência ascendente garante que a tendência geral seja ascendente
Previsão de prejuízo
A linha do índice de ouro não é um suporte garantido, o preço pode romper.
O valor da posição em risco deve ser calculado em função da volatilidade.
A tendência de alta da MA pode ser falsa, deve verificar mais indicadores
Não tenho certeza da duração da reversão, preciso de lucro razoável para sair.
Teste diferentes combinações de parâmetros como período BB, multiplicador SD, percentagem fixa de stop loss, etc.
Adicionar mais indicadores para determinar a tendência do mercado e a probabilidade de reversão, por exemplo, MACD, KD, etc.
Considerar paradas dinâmicas, tais como ATR ou paradas traseiras
Otimizar a captação de lucros, como a captação de lucros, captação parcial de lucros, etc.
Esta estratégia de negociação significa reversões usando a linha da proporção de ouro BB, com lógica clara, parâmetros simples e drawdown controlável. mas também tem riscos, requer mais testes e otimização, adicionando mais indicadores técnicos para tendência e melhores paradas / saídas antes do uso real.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m 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/ // © mohanee //@version=4 strategy(title="Bollinger Band with Fib Golden Ratio (0.618)", shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20, initial_capital=10000, currency=currency.USD) length = input(50,title="BB Length" , minval=1) src1 = input(hlc3, title="Source") //mult1 = input(1.33, minval=0.001, maxval=50) mult = input(1.5,title="multplier", minval=0.001, maxval=50) stopLoss=input(5,title="Stop Loss",minval=1) basis = vwma(src1, length) dev = mult * stdev(src1, length) //dev3 = mult3 * stdev(src, length) upper_618= basis + (0.618*dev) lower_618= basis - (0.618*dev) //lower_618_dev3= basis - (0.618*dev3) plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618") plot(basis, color=color.purple,style=plot.style_circles, linewidth=2) plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry") //plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop") //plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry") ema200=ema(close,200) ema50=ema(close,50) plot (ema200, title="ema200", color=color.orange, linewidth=2) plot (ema50, title="ema50", color=color.blue , linewidth=2) longCondition= ema50 > ema200 strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618 or low <= lower_618) ) strategy.close(id="BB_Fib618", comment="points="+tostring(close - strategy.position_avg_price, "###.##") , when = strategy.position_size >= 1 and crossover(close,upper_618 )) //stoploss exit stopLossVal = strategy.position_size>=1 ? strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00 strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price, "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )