ڈبل موونگ ایوریج بریک آؤٹ حکمت عملی


تخلیق کی تاریخ: 2023-12-11 15:21:58 آخر میں ترمیم کریں: 2023-12-11 15:21:58
کاپی: 0 کلکس کی تعداد: 637
1
پر توجہ دیں
1621
پیروکار

ڈبل موونگ ایوریج بریک آؤٹ حکمت عملی

جائزہ

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

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

یہ حکمت عملی دو حرکت پذیر اوسطوں کا استعمال کرتی ہے: ایک تیز ایم اے اور ایک سست ایم اے۔ تیز ایم اے کا دورانیہ عام طور پر مختصر مدت کے لئے ہوتا ہے (جیسے 15 پیراڈ) ، جو قلیل مدتی قیمتوں میں تبدیلی کو پکڑنے کے لئے استعمال ہوتا ہے۔ سست ایم اے کا دورانیہ عام طور پر طویل مدت کے لئے ہوتا ہے (جیسے 21 پیراڈ) ، جو اہم رجحانات کی سمت کا تعین کرنے کے لئے استعمال ہوتا ہے۔ حکمت عملی کا تجارتی سگنل دو ایم اے کے کراس سے آتا ہے۔ جب تیز ایم اے پر سست ایم اے ہوتا ہے تو خریدنے کا اشارہ ہوتا ہے۔ جب تیز ایم اے کے نیچے سست ایم اے ہوتا ہے تو فروخت کا اشارہ ہوتا ہے۔

مختلف ایم اے سائیکل کے جوڑے ترتیب دے کر حکمت عملی کو رجحانات کو پکڑنے کے لئے وقت کی لمبائی کو ایڈجسٹ کیا جاسکتا ہے۔ مختصر ایم اے جوڑے مختصر مختصر مدت کے لئے قیمتوں میں تبدیلی کے مواقع کو پکڑ سکتے ہیں۔ طویل ایم اے جوڑے صرف لمبی لائن کی سطح پر رجحانات کو پکڑنے کے لئے فلٹر کر سکتے ہیں۔

اس حکمت عملی میں رسک مینجمنٹ ماڈیولز بھی شامل ہیں: اسٹاپ اسٹاپ ، اسٹاپ نقصان ، اور چلنے والی روک تھام۔ اس سے کسی ایک تجارت میں زیادہ سے زیادہ نقصان کو محدود کیا جاسکتا ہے ، جس سے مجموعی منافع کو بچانے میں مدد ملتی ہے۔

اسٹریٹجک فوائد

دو طرفہ حکمت عملی کے درج ذیل فوائد ہیں:

  1. تصورات سادہ ہیں، ان کو سمجھنا اور ان پر عمل درآمد کرنا آسان ہے۔
  2. مختلف مارکیٹ کے حالات کے مطابق ایم اے سائیکل کو ایڈجسٹ کرکے مختلف وقت کی لمبائی کے رجحانات کو پکڑنے کے قابل۔
  3. اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کے نتیجے میں ، اس کے نتیجے میں ، اس کے نتیجے میں ، اس کے نتیجے میں ، اس کے نتیجے میں۔
  4. نقصانات کو روکنے کے ساتھ ، خطرے کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔
  5. بہتر بنانے کے لئے آسان ، ایم اے سائیکل ، رسک مینجمنٹ پیرامیٹرز وغیرہ کو ایڈجسٹ کرنے کے لئے ، اور اس کے نتیجے میں مزید کارکردگی کو بہتر بنانے کے لئے۔

خطرے کا تجزیہ

اس کے علاوہ، دو طرفہ حکمت عملی کے کچھ خطرات بھی ہیں، جو بنیادی طور پر مندرجہ ذیل پہلوؤں پر توجہ مرکوز کرتے ہیں:

  1. اس کے علاوہ ، یہ بھی ممکن ہے کہ ایم اے کے کراس سگنل بہت زیادہ ہوں ، جس کی وجہ سے تجارت کی کثرت کا مسئلہ پیدا ہوتا ہے۔
  2. دو طرفہ لائنوں کے مابین تاخیر موجود ہے ، جس کی وجہ سے قیمتوں میں ردوبدل کا موقع ضائع ہوسکتا ہے ، اور نقصان کو وقت پر روکنا ممکن نہیں ہے۔
  3. جعلی دراندازیوں کو مؤثر طریقے سے فلٹر کرنے میں ناکامی ، جو غیر ضروری نقصان کا باعث بن سکتی ہے۔
  4. MA خود قیمتوں پر ردعمل میں سست ہے اور قیمتوں میں ہونے والی تبدیلیوں کو مکمل طور پر ٹریک نہیں کرسکتا ہے۔

ان خطرات کو بہتر اور بہتر بنایا جاسکتا ہے ، جیسے کہ ایم اے پیرامیٹرز کو ایڈجسٹ کرنا ، فلٹرنگ شرائط شامل کرنا ، اور اسٹاپ لاسر منطق کو بہتر بنانا۔

اصلاح کی سمت

ڈبل یکساں حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. ٹرانزیکشن کی مقدار یا اتار چڑھاؤ کے اشارے جیسے فلٹرز شامل کریں تاکہ زلزلے اور جعلی بریکٹ کے دوران بار بار اسٹاکنگ سے بچا جاسکے۔
  2. ایم اے کی مدت اور مجموعہ کو مختلف ادوار اور اقسام کی خصوصیات کے مطابق متنوع اور ایڈجسٹ کیا جاسکتا ہے۔
  3. مختلف قسم کے ایم اے جیسے ای ایم اے ، ایل ڈبلیو ایم اے وغیرہ کی جانچ کی جاسکتی ہے ، جس میں ایم اے کی شکل منتخب کی جاتی ہے جو قیمت کے رد عمل کے لئے سب سے زیادہ حساس ہے۔
  4. مشین سیکھنے کے الگورتھم کو شامل کرنا جو خود بخود MA پیرامیٹرز ، اسٹاپ نقصان کی حد اور دیگر سپر پیرامیٹرز کو بہتر بناسکتی ہے۔
  5. مختلف نقصانات کی جانچ کی جاسکتی ہے ، جیسے چھلانگ کا نقصان ، ٹریکنگ کا نقصان ، اوسط نقصان وغیرہ۔

ان اصلاحات اور بہتریوں کے ذریعے حکمت عملی کی کامیابی، منافع اور خطرے سے واپسی کی شرح میں نمایاں اضافہ کیا جاسکتا ہے۔

خلاصہ کریں۔

مجموعی طور پر ، ڈبل یکساں توڑنے والی حکمت عملی ایک رجحان سے باخبر رہنے کی حکمت عملی ہے جس پر عمل درآمد اور اصلاح کرنا آسان ہے۔ اس میں آسانی سے کام کرنے ، لچکدار ایڈجسٹ کرنے اور خطرے پر قابو پانے کے فوائد ہیں ، اور یہ مقدار کی تجارت کے لئے ایک ابتدائی حکمت عملی کے طور پر بہت موزوں ہے۔ مسلسل جانچ اور اصلاح کے ذریعہ ، اس حکمت عملی کو مستقل طور پر بہتر بنایا جاسکتا ہے ، اور اس میں معیار کی حکمت عملی بننے کی صلاحیت ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-12-10 00:00:00
end: 2023-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Silent Trader Strategy", shorttitle = "Silent Trader", overlay = true, pyramiding = 0, default_qty_type = strategy.cash, default_qty_value = 1000, commission_value = 0.0675, initial_capital = 1000, currency = currency.USD, calc_on_order_fills = true, calc_on_every_tick = true)

maFastSource   = input(defval = ohlc4, title = "Fast MA Source")
maFastLength   = input(defval = 15, title = "Fast MA Period", minval = 1)
maSlowSource   = input(defval = ohlc4, title = "Slow MA Source")
maSlowLength   = input(defval = 21, title = "Slow MA Period", minval = 1)

tradeInvert     = input(defval = false, title = "Invert Trade Direction?")
inpTakeProfit   = input(defval = 100, title = "Take Profit percentage(0.1%)", minval = 0)
inpStopLoss     = input(defval = 100, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)

useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

useTimeLimit    = input(defval = true, title = "Use Start Time Limiter?")
startYear       = input(defval = 2018, title = "Start From Year",  minval = 0, step = 1)
startMonth      = input(defval = 05, title = "Start From Month",  minval = 0,step = 1)
startDay        = input(defval = 01, title = "Start From Day",  minval = 0,step = 1)
startHour       = input(defval = 00, title = "Start From Hour",  minval = 0,step = 1)
startMinute     = input(defval = 00, title = "Start From Minute",  minval = 0,step = 1)

startTimeOk() =>
    inputTime = timestamp(syminfo.timezone, startYear, startMonth, startDay, startHour, startMinute)
    timeOk = time > inputTime ? true : false
    r = (useTimeLimit and timeOk) or not useTimeLimit

maFast = ema(maFastSource, maFastLength)
maSlow = sma(maSlowSource, maSlowLength)

fast = plot(maFast, title = "Fast MA", color = #26A69A, linewidth = 1, style = line, transp = 50)
slow = plot(maSlow, title = "Slow MA", color = #EF5350, linewidth = 1, style = line, transp = 50)

aboveBelow = maFast >= maSlow ? true : false
tradeDirection = tradeInvert ? aboveBelow ? false : true : aboveBelow ? true : false

if( startTimeOk() )
    enterLong = not tradeDirection[1] and tradeDirection
    exitLong = tradeDirection[1] and not tradeDirection
    strategy.entry( id = "Long", long = true, when = enterLong )
    //strategy.close( id = "Long", when = exitLong )
    
    enterShort = tradeDirection[1] and not tradeDirection
    exitShort = not tradeDirection[1] and tradeDirection
    strategy.entry( id = "Short", long = false, when = enterShort )
    //strategy.close( id = "Short", when = exitShort )
    
    strategy.exit("Exit Long", from_entry = "Long",  profit = close * useTakeProfit / 1000 / syminfo.mintick, loss = close * useStopLoss / 1000 / syminfo.mintick, trail_points = close * useTrailStop / 1000 / syminfo.mintick, trail_offset = close * useTrailOffset / 1000 / syminfo.mintick)
    strategy.exit("Exit Short", from_entry = "Short", profit = close * useTakeProfit / 1000 / syminfo.mintick, loss = close * useStopLoss / 1000 / syminfo.mintick, trail_points = close * useTrailStop / 1000 / syminfo.mintick, trail_offset = close * useTrailOffset / 1000 / syminfo.mintick)