وسائل لوڈ ہو رہے ہیں... لوڈنگ...

بولنگر بینڈ مختصر مدت کے ریورس کی کوانٹیٹیو حکمت عملی چلتی اوسط پر مبنی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-19 16:17:47
ٹیگز:

img

جائزہ

یہ حکمت عملی بولنگر بینڈ اشارے پر مبنی ایک قلیل مدتی الٹ ٹریڈنگ حکمت عملی ہے۔ یہ قیمتوں میں غیر معمولی طور پر منتشر ہونے پر الٹ ٹریڈنگ کے مواقع تلاش کرنے کے لئے حرکت پذیر اوسط ، معیاری انحراف اور بولنگر بینڈ کو یکجا کرتی ہے۔

حکمت عملی کا اصول

  1. چلتی اوسط اور معیاری انحراف کا حساب لگائیں۔ معیاری انحراف کا حساب لگانے کے لئے SMA () فنکشن اور stdev () فنکشن کا استعمال کریں۔

  2. چلتی اوسط اور معیاری انحراف کے مطابق بولنگر بینڈ کے اوپری اور نچلے ریل کا حساب لگائیں۔ اوپری ریل قیمت + معیاری انحراف ہے۔1 اور نچلی ریل قیمت معیاری انحراف ہے1.

  3. جب قیمت اوپری یا نچلی ریل کو توڑتی ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قیمت غیر معمولی ہے۔ اس وقت ، ہم ریورس ٹریڈنگ کرنے کا فیصلہ کرتے ہیں۔

  4. خاص طور پر، اگر قیمت کم ریل سے کم ہے، ہم طویل جاتے ہیں؛ اگر قیمت اوپر ریل سے زیادہ ہے، ہم مختصر جاتے ہیں.

فوائد کا تجزیہ

  1. غیر معمولی قیمتوں کا فیصلہ کرنے کے لئے بولنگر بینڈ چینل کا استعمال کریں، جو ریورس ٹریڈنگ کی بنیاد فراہم کرتا ہے۔

  2. چلتی اوسط فیکٹر کے ساتھ مل کر ، کچھ شور مچانے والی تجارت کو مؤثر طریقے سے فلٹر کیا جاسکتا ہے۔

  3. سٹینڈرڈ ڈیوی ایشن فیکٹر کا تعارف غیر معمولی قیمتوں کا بہتر اندازہ کرنے کے لئے بولنگر بینڈ چینل کو زیادہ متحرک بناتا ہے۔

  4. اس حکمت عملی میں نسبتاً کم استعمال اور ایک خاص استحکام ہے۔

خطرے کا تجزیہ

  1. بولنگر بینڈ کا اشارے قیمتوں کی غیر معمولی صورتحال کا مکمل طور پر تعین نہیں کر سکتا۔ جھوٹے بریک آؤٹ ہو سکتے ہیں۔

  2. تجارتی تعدد بہت زیادہ ہوسکتا ہے۔ تجارتی تعدد کو کنٹرول کرنے کے لئے پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کرنے کی سفارش کی جاتی ہے۔

  3. اوپری اور نچلی بولنگر بینڈ کے بریک آؤٹ سگنل طویل عرصے تک جاری رہ سکتے ہیں۔ بہتر الٹ اثرات حاصل کرنے کے لئے پیرامیٹرز کی مناسب ایڈجسٹمنٹ کی ضرورت ہے۔

  4. خطرات کو کنٹرول کرنے کے لئے مناسب طریقے سے سٹاپ نقصان متعارف کروائیں.

اصلاح کی ہدایات

  1. زیادہ معقول بولنگر بینڈ چینل حاصل کرنے کے لئے چلتی اوسط سائیکل اور معیاری انحراف پیرامیٹرز کو بہتر بنائیں۔

  2. کچھ سگنلز کو فلٹر کرنے کے لئے ای ایم اے اور ایم اے سی ڈی جیسے معاون عوامل میں اضافہ کریں۔

  3. سٹاپ نقصان اور پوزیشن کنٹرول میکانیزم متعارف کرانے.

  4. پوزیشن سائز اور پوزیشن کنٹرول کے اقدامات کو بہتر بنائیں.

خلاصہ

یہ حکمت عملی بولنگر بینڈ اشارے کے ذریعے غیر معمولی قیمتوں کا فیصلہ کرتی ہے اور چلتی اوسط اور معیاری انحراف پیرامیٹرز کے ساتھ الٹ ٹریڈز کرتی ہے۔ اس میں ایک خاص استحکام ہے۔ ہمیں پیرامیٹر کی اصلاح ، معاون عوامل کے تعارف ، اسٹاپ نقصان کے انتظام اور پوزیشن کنٹرول جیسے ذرائع سے حکمت عملی کے زیادہ سے زیادہ ڈراؤڈاؤن کو مزید کم کرنے اور استحکام کو بہتر بنانے کی ضرورت ہے۔


/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("BCE Version of EMA, SMA Mean Reversion", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
 
// Inputs
st_yr_inp = input(defval=2017, title='Backtest Start Year')
st_mn_inp = input(defval=01, title='Backtest Start Month')
st_dy_inp = input(defval=01, title='Backtest Start Day')
en_yr_inp = input(defval=2025, title='Backtest End Year')
en_mn_inp = input(defval=01, title='Backtest End Month')
en_dy_inp = input(defval=01, title='Backtest End Day')
sma_lookback = input(defval=100, title="Lookback Period For SMA")
ema_lookback = input(defval=10, title="Lookback Period For EMA")
long_diff_perc = input(defval=6, title="Percentage Deviation From SMA to go Long")/100
short_diff_perc = input(defval=20, title="Percentage Deviation From SMA to go Short")/100
ema_filter_bars = input(defval=4, title="The number of bars the EMA must rise/fall")
lng_allwd = input(defval=true, title="Allow Longs?")
srt_allwd = input(defval=true, title="Allow Shorts?")
use_stop = input(defval=true, title="Use Stoploss?")
stop_perc = input(defval=30, title="Stop Loss Percentage")/100
 
// Dates
start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp,00,00)
end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp,00,00)
can_trade = time >= start and time <= end
// Indicators Setup
sma = sma(close, sma_lookback)
ema = ema(close, ema_lookback)
 
// Strategy Calcuations
close_stdev = stdev(close, sma_lookback)
sd1_upper = close + (close_stdev * 1)
sd1_lower = close - (close_stdev * 1)
close_diff = (close - sma) / sma
 
// Entries and Exits
longCondition = close > sma and open > sma
if (time >= start and time <= end)
    if (longCondition)
        strategy.entry("Long", strategy.long)
    if use_stop
        stop_price = close * (1 - stop_perc)
        strategy.order("Long Stoploss", false, stop=stop_price)
 
shortCondition = close < sma and open < sma
if (shortCondition)
//    strategy.entry("Short", strategy.short)
//    if use_stop
//        stop_price = close * (1 + stop_perc)
//        strategy.order("Short Stoploss", true, stop=stop_price)
//if (time >= start)    
    strategy.close("Long", when=close < sma and open < sma)
//strategy.cancel("Long Stoploss", when=sma < sma[1])
//    strategy.close("Short", when=close > sma and open > sma)
//strategy.cancel("Short Stoploss", when=close_diff<=0)
 
// Plotting
sma_col = sma > sma[1] ? green : red
ema_fill = close_diff <= -long_diff_perc ? lime : close_diff >= short_diff_perc ? maroon : aqua
p_sma = plot(sma, color=sma_col, linewidth=3)
p_ema = plot(ema, color=black, linewidth=2)
p_sd1 = plot(sd1_upper, color=black, linewidth=1, transp=85)
p_sd2 = plot(sd1_lower, color=black, linewidth=1, transp=85)
fill(p_sd1, p_sd2, title='STDEV Fill', color=silver, transp=80)
fill(p_sma, p_ema, title='EMA > Mean Percentage', color=ema_fill, transp=80)

مزید