طویل حکمت عملی کرنے کے لیے مومنٹم انڈیکیٹر موونگ ایوریج کے ساتھ مل کر


تخلیق کی تاریخ: 2024-02-29 11:57:18 آخر میں ترمیم کریں: 2024-02-29 11:57:18
کاپی: 7 کلکس کی تعداد: 536
1
پر توجہ دیں
1617
پیروکار

طویل حکمت عملی کرنے کے لیے مومنٹم انڈیکیٹر موونگ ایوریج کے ساتھ مل کر

جائزہ

یہ حکمت عملی MACD حرکیات کے اشارے اور DMI رجحان اشارے کے ساتھ مل کر کام کرتی ہے۔ اس کے باہر نکلنے پر منافع کو لاک کرنے کے لئے ایک مقررہ اسٹاپ اور اپنی مرضی کے مطابق اتار چڑھاؤ کا ٹریلنگ اسٹاپ ترتیب دیا گیا ہے۔

اصول

اس حکمت عملی کے اندراجات MACD اور DMI اشارے پر منحصر ہیں:

  • جب MACD مثبت ہے (MACD لائن سگنل لائن سے اوپر ہے) ، تو اس کا مطلب یہ ہے کہ مارکیٹ میں ہلچل کی طاقت میں اضافہ ہوا ہے
  • جب ڈی ایم آئی میں ڈی آئی + ڈی آئی - سے زیادہ ہوتا ہے تو ، اس کا مطلب یہ ہے کہ مارکیٹ اوپر کی طرف بڑھ رہی ہے

جب مذکورہ بالا دونوں شرائط مل کر پوری ہوں تو زیادہ پوزیشن کھولی جائے۔

Position exits کے دو معیار ہیں:

  • فکسڈ اسٹاپ: close قیمت میں اضافے کا فی صد مقررہ اسٹاپ تک پہنچ گیا
  • ٹریلنگ اسٹاپ نقصان: اے ٹی آر اور حالیہ اعلی ترین قیمتوں کا استعمال کرتے ہوئے متحرک ایڈجسٹ اسٹاپ پوزیشن کا حساب لگائیں۔ یہ مارکیٹ میں اتار چڑھاؤ کے مطابق ٹریلنگ اسٹاپ نقصان ہوسکتا ہے

فوائد

  • MACD اور DMI کا مجموعہ مارکیٹ کی سمت کا اندازہ لگانے کے لئے زیادہ قابل اعتماد ہے ، جس سے غلط کارروائیوں کو کم کیا جاسکتا ہے
  • سٹاپ اسٹاپ کی شرطیں فکسڈ اسٹاپ اور لچکدار سٹاپ کو ملا کر منافع کو لچکدار طریقے سے لاک کرسکتے ہیں

خطرات

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

اصلاح کی سمت

  • دوسرے اشارے کو داخلہ سگنل کو فلٹر کرنے پر غور کیا جاسکتا ہے ، مثال کے طور پر KDJ اشارے کا استعمال کرتے ہوئے فیصلہ کریں کہ آیا زیادہ خرید یا زیادہ فروخت ہوا ہے
  • مختلف پیرامیٹرز بہتر سٹاپ نقصان کے لئے ٹیسٹ کیا جا سکتا ہے
  • پیرامیٹرز کو ایڈجسٹ کیا جاسکتا ہے ، جیسے کہ ٹریڈنگ کی مختلف اقسام کے مطابق چلتی اوسط ، نظام کو بہتر بنانا

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//@version=4
strategy(shorttitle='(MACD + DMI Scalping with Volatility Stop',title='MACD + DMI Scalping with Volatility Stop by (Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)

// Works better on 3h, 1h, 2h, 4h

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2021, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true

// DMI and MACD inputs and calculations

[pos_dm, neg_dm, avg_dm] = dmi(14, 14)
[macd, macd_signal, macd_histogram] = macd(close, 12, 26, 9)


Take_profit= ((input (3))/100)

longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(2.0, "vStop Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)


closeLong = close > longTakeProfit or crossunder(close, vStop)


//Entry 
strategy.entry(id="long", long = true, when = crossover(macd, macd_signal) and pos_dm > neg_dm and window())


//Exit
strategy.close("long", when = closeLong and window())