##مجموعی جائزہ
اس حکمت عملی کا نام
##اسٹریٹیجی اصول
اسٹریٹیجی میں داخلہ اور باہر نکلنے کے مقامات کا تعین کرنے کے لئے چار مختلف تکنیکی اشارے استعمال کیے گئے ہیں۔ اس کا مخصوص منطق مندرجہ ذیل ہے:
لانگ انٹری کی شرط: 5 دن کا ای ایم اے 21 دن کے ای ایم اے سے اوپر، 50 دن کا ای ایم اے 200 دن کے ای ایم اے سے اوپر، بی بی فی صد بی مقررہ اوور بک لائن سے زیادہ ہے، اے او مقررہ مثبت قیمت سے زیادہ ہے، اور اے ڈی ایکس مقررہ قیمت سے زیادہ ہے.
مختصر اندراج کی شرط: 5 دن کا ای ایم اے 21 دن کے ای ایم اے سے نیچے ، 50 دن کا ای ایم اے 200 دن کے ای ایم اے سے نیچے ، بی بی٪ بی مقررہ oversold لائن سے کم ہے ، اے او مقررہ منفی قیمت سے کم ہے ، اور اے ڈی ایکس مقررہ قیمت سے زیادہ ہے۔
##فائدہ تجزیہ اس حکمت عملی میں رجحان کی سمت اور اسٹاک کی نسبتا strength طاقت کا تعین کرنے کے لئے متعدد اشارے شامل ہیں ، جو غلط بریک آؤٹ کو مؤثر طریقے سے فلٹر کرسکتے ہیں۔ مخصوص فوائد یہ ہیں:
ADX اشارے کو مؤثر طریقے سے رجحان کی موجودگی اور طاقت کا تعین کر سکتا ہے، ایک جھٹکا مارکیٹ میں کثرت سے کھولنے سے بچنے کے.
BB %B اشارے سے اندازہ ہوتا ہے کہ انفرادی اسٹاک
اے او اشارے سے یہ معلوم ہوتا ہے کہ خریدی کے دوران نسبتا strong مضبوط رفتار کی حمایت موجود ہے یا نہیں تاکہ بریک آؤٹ کی تاثیر کو یقینی بنایا جاسکے۔
ای ایم اے اشارے کے گولڈن کراس/ڈیڈ کراس کے ساتھ مل کر مارکیٹ کی اہم سمت کا فیصلہ رجحان کے خلاف پوزیشن کھولنے سے بچتا ہے۔
خلاصہ یہ کہ یہ حکمت عملی مؤثر طریقے سے تجارتی خطرات کو کنٹرول کرسکتی ہے اور مارکیٹ میں مضبوط اسٹاک کو ٹریک کرسکتی ہے۔
##رسک تجزیہ اگرچہ حکمت عملی خطرات کو کنٹرول کرنے کے لئے متعدد اشارے استعمال کرتی ہے ، پھر بھی کچھ خطرات موجود ہیں:
متعدد اشارے کے مجموعے پیرامیٹر ایڈجسٹمنٹ کے لئے حساس ہیں۔ پیرامیٹر کے نامناسب مجموعے مطلوبہ اثر کو حاصل کرنے میں ناکام ہوسکتے ہیں۔
بہت زیادہ رفتار کا پیچھا کرنے سے مارکیٹ کے حقیقی الٹ پوائنٹس کو نظرانداز کیا جاسکتا ہے۔ منافع اور نقصانات کو بروقت طریقے سے کنٹرول کیا جانا چاہئے۔
ای ایم اے جیسے اشارے دیرپا ہوتے ہیں اور وقت میں اچانک ہونے والے واقعات کے اثرات کو ظاہر کرنے کے قابل نہیں ہوسکتے ہیں۔ ای ایم اے کی مدت کو مناسب طریقے سے کم کیا جانا چاہئے یا دوسرے اشارے کے ساتھ استعمال کیا جانا چاہئے۔
بڑے اچانک واقعات اشارے کی اختلافات کا سبب بن سکتے ہیں۔ بنیادی تجزیہ کو جوڑنا چاہئے اور اگر ضروری ہو تو حکمت عملی کو عارضی طور پر بند کیا جاسکتا ہے۔
## اصلاح کی سمت اسٹریٹیجی کو کئی پہلوؤں میں بھی بہتر بنایا جاسکتا ہے:
بہترین پیرامیٹر مجموعہ تلاش کرنے کے لئے مشین سیکھنے کا استعمال کریں.
دیگر اشارے شامل کریں جو رجحانات کا تعین کرتے ہیں ، جیسے سی سی آئی اور ایم اے سی ڈی ، تاکہ فیصلے کی درستگی کو بہتر بنانے کے لئے
واحد نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان کی حکمت عملی شامل کریں.
حد سے زیادہ لالچ سے بچنے کے لیے انتظار کا وقت مقرر کریں۔
##خلاصہ
اس حکمت عملی کا نام
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //ADX + BB %B + AO + EMA strategy("ADX + BB %B + AO + EMA", overlay=true, initial_capital=10000) take_profit_perc = input(title="Take Profit %", type=input.integer, defval=10, minval=1, maxval=100) stop_loss_perc = input(title="Stop Loss %", type=input.integer, defval=5, minval=1, maxval=100) bb_overbought = input(title="BB %B Overbought", type=input.integer, defval=75, minval=1, maxval=100) bb_oversold = input(title="BB %B Oversold", type=input.integer, defval=25, minval=1, maxval=100) ao_value = input(title="Awesome Oscillator", type=input.integer, defval=2) adx_value = input(title="ADX", type=input.integer, defval=15) startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31) startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12) startYear = input(title="Start Year", type=input.integer, defval=2018, minval=2008, maxval=2200) inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) ema5 = ema(close, 5) ema21 = ema(close, 21) ema50 = ema(close, 50) ema200 = ema(close, 200) //BB %B length = input(20, minval=1) src = input(close, title="Source") mult = input(2.0, minval=0.001, maxval=50, title="StdDev") basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev bbr = (src - lower)/(upper - lower) //Awesome Oscillator ao = sma(hl2,5) - sma(hl2,34) // ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") dirmov(len) => up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / truerange) minus = fixnan(100 * rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) long_strategy = ema5>ema21 and ema50>ema200 and bbr>(bb_overbought/100) and ao>ao_value and sig>adx_value short_strategy = ema5<ema21 and ema50<ema200 and bbr<(bb_oversold/100) and ao<-ao_value and sig>adx_value plot(ema5, color=color.blue) plot(ema21, color=color.aqua) plot(ema50, color=color.purple) plot(ema200, color=color.red) bgcolor(color=long_strategy ? color.green : na, transp=80) bgcolor(color=short_strategy ? color.purple : na, transp=80) if inDateRange and long_strategy strategy.entry("long", strategy.long) strategy.exit("exit", "long", stop=close*(100-stop_loss_perc)/100, limit=close*(100+take_profit_perc)/100) if inDateRange and short_strategy strategy.entry("short", strategy.short) strategy.exit("exit", "short", stop=close*(100+stop_loss_perc)/100, limit=close*(100-take_profit_perc)/100)