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


تخلیق کی تاریخ: 2023-10-24 12:31:44 آخر میں ترمیم کریں: 2023-10-24 12:31:44
کاپی: 0 کلکس کی تعداد: 686
1
پر توجہ دیں
1617
پیروکار

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

جائزہ

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

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

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

  1. تیزی سے چلنے والی اوسط قیمت 1 اور سست رفتار چلنے والی اوسط قیمت 2 کا حساب لگائیں۔ اس میں قیمت 1 5 مدت HMA ہے ، قیمت 2 7 مدت HMA ہے۔

  2. جب price1 پر price2 پار کرتے ہیں تو ایک کثیر سگنل پیدا ہوتا ہے اور جب price1 کے نیچے price2 پار کرتے ہیں تو ایک خالی سگنل پیدا ہوتا ہے۔ یہ حرکت پذیر اوسط پر مبنی معمول کا استعمال ہے۔

  3. ایک سے زیادہ سگنل ٹرگر کرنے کے بعد ، اگر تیزی سے چلنے والی اوسط price1 کا متحرک اشارےroc1 ایک بار پھر اوپر جاتا ہے تو ، اس کو رجحان کا تسلسل سمجھا جاتا ہے ، اور ایک سے زیادہ حالت برقرار رکھی جاتی ہے۔

  4. جب رجحان کا اشارے rc1 گرتا ہے تو ، رجحان کو الٹ سمجھا جاتا ہے ، اور فلیٹ پوزیشن پر عمل درآمد کیا جاتا ہے۔ خالی کرنے کے اشارے پر عملدرآمد کی منطق ایک جیسی ہے۔

  5. ADX thresholds کو متعارف کرایا گیا ہے، غیر رجحان کی حالت میں غلط سگنل کو فلٹر کرنے کے لئے، صرف اس وقت جب ADX thresholds سے زیادہ ہے تو ایک حقیقی زیادہ سے زیادہ سگنل پیدا ہوتا ہے.

طاقت کا تجزیہ

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

  1. متحرک اوسط خود ہی قیمت میں تبدیلی کے ردعمل میں تاخیر کا شکار ہے ، جبکہ متحرک اشارے تیزی سے الٹ سگنل کو پکڑ سکتے ہیں ، جو بروقت اسٹاپ نقصان یا ریورس پوزیشن کھولنے کے لئے موزوں ہے۔

  2. متحرک اشارے کی بنیاد پر معکوس سگنل زیادہ قابل اعتماد ہیں ، جو رجحان ٹریڈنگ میں غیر ضروری بار بار کھلی پوزیشنوں کو کم کرسکتے ہیں۔

  3. ADX اشارے کا اطلاق غیر رجحان مارکیٹ میں غلط سگنل سے بچتا ہے اور حکمت عملی کو رجحان کے مرحلے پر زیادہ توجہ مرکوز کرنے دیتا ہے ، جس سے منافع کی امکانات میں اضافہ ہوتا ہے۔

  4. حکمت عملی کی منطق واضح اور آسان ہے ، سمجھنے اور اس پر عمل کرنے میں آسان ہے ، جو سیکھنے کے لئے ابتدائی لوگوں کے لئے موزوں ہے۔

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

خطرے کا تجزیہ

اس حکمت عملی کے اہم خطرات درج ذیل ہیں:

  1. حرکت پذیر اوسط خود قیمت کی تبدیلیوں کے جواب میں تاخیر کا شکار ہے ، جس کی وجہ سے سگنل میں تاخیر ہوسکتی ہے اور بہترین داخلے کا وقت ضائع ہوسکتا ہے۔

  2. جعلی بریک کے نتیجے میں غیر ضروری پوزیشن کھولنے یا خالی کرنے کی ضرورت ہوتی ہے ، جس میں اشارے کے پیرامیٹرز کو مزید بہتر بنانے یا اضافی فلٹرنگ شرائط متعارف کرانے کی ضرورت ہوتی ہے۔

  3. رجحان الٹ جانے کا فیصلہ متحرک اشارے پر منحصر ہے ، جب مارکیٹ میں شدید تبدیلی آتی ہے تو متحرک اشارے کا اثر چھوٹ سکتا ہے۔

  4. ای ڈی ایکس انڈیکس رجحانات اور توازن کا کامل اندازہ نہیں لگا سکتا ، اور حد سے زیادہ یا کم حد مقرر کرنے سے مسئلہ پیدا ہوسکتا ہے۔

  5. اس حکمت عملی میں ٹریڈنگ کے اخراجات کو مدنظر نہیں رکھا گیا ہے۔

اصلاح کی سمت

اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے۔

  1. دوسرے قسم کے چلنے والی اوسط کو آزمائیں ، یا اس کے پیرامیٹرز کو ایڈجسٹ کریں تاکہ اشارے کو ہموار کیا جاسکے۔

  2. متحرک اشارے کی لمبائی کے پیرامیٹرز کو بہتر بنایا گیا ہے تاکہ وہ قیمت کی تبدیلی کو زیادہ حساس انداز میں پکڑ سکے۔

  3. قیمتوں کے فلٹر کو متحرک اشارے کے الٹتے وقت ترتیب دینے کی کوشش کریں ، تاکہ قلیل مدتی چھوٹی اتار چڑھاو سے گمراہ نہ ہوں۔

  4. ADX کے استعمال کو مزید بڑھانا ، جیسے ADX کی مختلف سطحوں پر مختلف پیرامیٹرز کا استعمال کرنا وغیرہ۔

  5. ٹرانزیکشن حجم کے اشارے جیسے معاون شرائط متعارف کرانے ، سگنل کے معیار کو بہتر بنانا ، جعلی توڑ کو فلٹر کرنا۔

  6. اسٹاپ نقصان کا طریقہ کار شامل کریں تاکہ انفرادی نقصان کو کنٹرول کیا جاسکے۔ حقیقی مارکیٹ کی فیس کی سطح کا اندازہ کریں اور مناسب اسٹاپ نقصان کا تعین کریں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy with MA Turning Point Exits", overlay=true)
src = input(open, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(5, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA"])

ma2 = input(7, title="2nd MA Length")
type2 = input("HMA", "2nd MA Type", options=["SMA", "EMA", "HMA"])

adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
adxthreshold = input(20, title="ADX threshold")

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)

//study("Average Directional Index", shorttitle="ADX", format=format.price, precision=2, resolution="")

//plot(sig, color=color.red, title="ADX")

f_hma(_src, _length)=>
    _return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))
price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    if (type1 == "EMA")
        ema(price, ma1)
    else
        f_hma(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    if (type2 == "EMA")
        ema(price, ma2)
    else
        f_hma(price, ma2)

//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


//longCondition = price1> price2
longCondition = price1> price2 and sig > adxthreshold
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = price1 < price2 and sig > adxthreshold
if (shortCondition)
    strategy.entry("Short", strategy.short)

lookback1 = input(1, "Lookback 1")
roc1 = roc(price1, lookback1)

ma1up = false
ma1down = false
ma2up = false
ma2down = false

ma1up := nz(ma1up[1])
ma1down := nz(ma1down[1])
ma2up := nz(ma2up[1])
ma2down := nz(ma2down[1])

trendStrength1 = input(2, title="Minimum slope magnitude * 100", type=float) * 0.01

if crossover(roc1, trendStrength1)
    ma1up := true
    ma1down := false
    
if crossunder(roc1, -trendStrength1) 
    ma1up := false
    ma1down := true

shortexitCondition = ma1up and ma1down[1] and sig > adxthreshold
if (shortexitCondition)
    strategy.close("Short")

longexitCondition = ma1down and ma1up[1] and sig > adxthreshold
if (longexitCondition)
    strategy.close("Long")