یہ حکمت عملی بولنگر بینڈز اشارے کی بنیاد پر ڈیزائن کی گئی ہے۔ جب قیمت اوپری بینڈ کو توڑتی ہے تو یہ طویل ہوجاتی ہے اور جب قیمت نچلی بینڈ کو توڑتی ہے تو مختصر ہوجاتی ہے۔ یہ رجحان کی پیروی کرنے والی حکمت عملی سے تعلق رکھتی ہے۔
یہ حکمت عملی مارکیٹ کی اتار چڑھاؤ کی حد اور رجحان کی سمت کا تعین کرنے کے لئے بولنگر بینڈ کا استعمال کرتی ہے۔ جب قیمت بولنگر بینڈ کے اوپری یا نچلے بینڈ کو توڑتی ہے تو ، اسے داخلے کے لئے رجحان الٹ سگنل سمجھا جاتا ہے۔ وسط بینڈ کے آس پاس کا علاقہ اسٹاپ نقصان کی پوزیشن کے طور پر استعمال ہوتا ہے۔ جب قیمت وسط بینڈ کو توڑتی ہے تو باہر نکلنے کی پوزیشنیں۔
حل:
یہ حکمت عملی قیمت کے رجحان اور سپورٹ / مزاحمت کی سطح کا تعین کرنے کے لئے بولنگر بینڈ اشارے کا استعمال کرتی ہے۔ یہ بولنگر بینڈ بریک آؤٹ پوائنٹس پر داخل ہوتا ہے اور درمیانی بینڈ پر اسٹاپ نقصان طے کرتا ہے۔ حکمت عملی کا منطق آسان اور واضح ، لاگو کرنا آسان ہے۔ پیرامیٹرز کو ایڈجسٹ کرکے یا دوسرے اشارے کے ساتھ مل کر اسے بہتر بنایا جاسکتا ہے ، یہ رجحان سازی کی منڈیوں میں اچھی طرح کام کرتا ہے۔
/*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)