
यह रणनीति बोलिंगर बैंड और मूल्य माध्य प्रत्यावर्तन के सिद्धांतों पर आधारित एक मात्रात्मक व्यापार प्रणाली है। मूल्य और चलती औसत के बीच विचलन की निगरानी करके, बोलिंगर बैंड के ऊपरी और निचले ट्रैक के सफल संकेतों के साथ, व्यापार तब किया जाता है जब बाजार के ओवरबॉट या ओवरसोल्ड होने के बाद मूल्य के औसत पर लौटने की उम्मीद होती है। यह रणनीति मूल्य विचलन की डिग्री को मापने के लिए प्रतिशत सीमा का उपयोग करती है और लेनदेन की सटीकता में सुधार करने के लिए उचित ट्रिगर स्थितियां निर्धारित करके गलत संकेतों को फ़िल्टर करती है।
रणनीति का मूल तर्क निम्नलिखित प्रमुख तत्वों पर आधारित है:
यह रणनीति बोलिंगर बैंड और मीन रिवर्सन सिद्धांतों के माध्यम से बाजार में अतिखरीद और अतिबिक्री के अवसरों को पकड़ती है, तथा उचित विचलन सीमा और स्थिति ट्रैकिंग तंत्रों के संयोजन द्वारा व्यापारिक जोखिमों को प्रभावी रूप से नियंत्रित करती है। रणनीति ढांचे में अच्छी मापनीयता है और यह पैरामीटर अनुकूलन और कार्य सुधार के माध्यम से विभिन्न बाजार परिवेशों के अनुकूल हो सकता है। वास्तविक समय अनुप्रयोगों में जोखिम नियंत्रण पर ध्यान देने और विशिष्ट उत्पादों की विशेषताओं के अनुसार मापदंडों को समायोजित करने की सिफारिश की जाती है।
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estratégia com Bandas de Bollinger e Sinal de Retorno", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)
// Configurações das Bandas de Bollinger
length = input.int(20, title="Período da média")
mult = input.float(2.0, title="Desvio padrão")
bbBasis = ta.sma(close, length)
bbUpper = bbBasis + mult * ta.stdev(close, length)
bbLower = bbBasis - mult * ta.stdev(close, length)
// Configuração para a distância da média
percent_threshold = input.float(3.5, title="Distância da média (%)") / 100
dist_from_mean = 0.0
trigger_condition = false
if not na(bbBasis)
dist_from_mean := math.abs(close - bbBasis) / bbBasis
trigger_condition := dist_from_mean >= percent_threshold
// Variáveis para identificar o estado do afastamento
var bool is_outside = false
var color candle_color = color.new(color.white, 0)
if trigger_condition
is_outside := true
if is_outside and close <= bbUpper and close >= bbLower
is_outside := false
candle_color := color.new(color.blue, 0) // Atribui uma cor válida
else
candle_color := color.new(color.white, 0)
// Aplicar cor às velas
barcolor(candle_color)
// Plotar Bandas de Bollinger
plot(bbBasis, color=color.yellow, title="Média")
plot(bbUpper, color=color.red, title="Banda Superior")
plot(bbLower, color=color.green, title="Banda Inferior")
// Lógica de entrada e saída
longCondition = not is_outside and close > bbUpper
if (longCondition)
strategy.entry("Buy", strategy.long)
shortCondition = not is_outside and close < bbLower
if (shortCondition)
strategy.entry("Sell", strategy.short)