
A estratégia utiliza a dupla média móvel, a faixa de Brin e o MACD para estabelecer condições de compra e venda, com um ciclo de 5 minutos de negociação do índice Nifty dos bancos. Compra quando o MACD forks e o preço de fechamento quebram a faixa de Brin para cima; venda quando o MACD forks e o preço de fechamento quebram a faixa de Brin para baixo. A estratégia combina vantagens de vários indicadores, tanto para detectar tendências quanto para localizar os extremos, permitindo negociações altamente eficientes.
A lógica de negociação geral da estratégia é a seguinte:
É uma estratégia de tendência muito prática, com as seguintes vantagens:
Em suma, a estratégia aproveita as vantagens de vários indicadores, julga com precisão, opera com especificações e é uma estratégia de tendências confiável e controlada.
Apesar dos benefícios evidentes da estratégia, há alguns riscos a serem levados em conta:
A resposta e solução são as seguintes:
A estratégia ainda tem espaço para otimização:
Em geral, a estratégia tem uma estrutura muito boa, que pode ser aperfeiçoada com otimização de parâmetros, inovação de indicadores e adaptação, entre outros, para se tornar uma estratégia de negociação mais forte e estável.
A estratégia MACD de dupla linha uniforme utiliza todos os indicadores para determinar quando comprar e vender. Combina a identificação de tendências com o julgamento de extremos, especificações de operação e controle de risco, uma estratégia de negociação de alta eficiência e estabilidade. Com otimização e inovação contínuas, a estratégia tem uma grande perspectiva de aplicação.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Modified MACD and Bollinger Band Strategy", shorttitle="Mod_MACD_BB", overlay=true)
var bool open_buy_position = na
var bool open_sell_position = na
// MACD settings
fast_length = input(12, title="Fast Length")
slow_length = input(26, title="Slow Length")
signal_length = input(9, title="Signal Length")
src = close
[macdLine, signalLine, _] = macd(src, fast_length, slow_length, signal_length)
// Bollinger Band settings
bb_length = input(20, title="Bollinger Band Length")
bb_mult = input(2, title="Bollinger Band Multiplier")
basis = sma(src, bb_length)
dev = bb_mult * stdev(src, bb_length)
upper_band = basis + dev
lower_band = basis - dev
// Define profit target and stop loss
profit_target = input(60, title="Profit Target (Points)")
stop_loss = input(30, title="Stop Loss (Points")
// Buy condition: MACD crosses up the signal line and close is above upper Bollinger Band
buy_condition = crossover(macdLine, signalLine) and close > upper_band
// Sell condition: MACD crosses below the signal line and close is below the lower Bollinger Band
sell_condition = crossunder(macdLine, signalLine) and close < lower_band
// Check for open positions
if (buy_condition)
open_buy_position := true
if (sell_condition)
open_sell_position := true
// Strategy Orders
strategy.entry("Buy", strategy.long, when = buy_condition and not open_sell_position)
strategy.exit("Take Profit/Stop Loss", from_entry = "Buy", limit = close + profit_target, stop = close - stop_loss)
strategy.entry("Sell", strategy.short, when = sell_condition and not open_buy_position)
strategy.exit("Take Profit/Stop Loss", from_entry = "Sell", limit = close - profit_target, stop = close + stop_loss)
// Reset open position status
if (sell_condition)
open_buy_position := na
if (buy_condition)
open_sell_position := na