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

رفتار حرکت پذیر اوسط کراس اوور رجحان حکمت عملی کے بعد

مصنف:چاؤ ژانگ، تاریخ: 2023-10-24 12:31:44
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

  1. تیز رفتار ایم اے قیمت1 (5-پیریڈ ایچ ایم اے) اور سست ایم اے قیمت2 (7-پیریڈ ایچ ایم اے) کا حساب لگائیں۔

  2. گولڈن کراس جس میں قیمت1 قیمت2 سے اوپر کراس ہوتی ہے وہ لانگ سگنل پیدا کرتی ہے۔ موت کراس جس میں قیمت1 قیمت2 سے نیچے کراس ہوتی ہے وہ شارٹ سگنل پیدا کرتی ہے۔ یہ ایم اے کا عام استعمال ہے۔

  3. طویل سگنل کے بعد، اگر قیمت1s رفتار roc1 دوبارہ ظاہر ہوتا ہے، تو رجحان جاری ہے اور طویل پوزیشن برقرار رکھی جائے گی.

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

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

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

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

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

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

  3. اے ڈی ایکس غیر رجحان سازی مارکیٹوں میں غلط سگنل سے بچتا ہے، حکمت عملی کو زیادہ اعلی جیتنے کے امکانات کے ساتھ رجحانات پر زیادہ توجہ مرکوز کرتا ہے.

  4. منطق سادہ اور سمجھنے میں آسان ہے، algos ٹریڈنگ beginners کے لئے موزوں ہے.

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

خطرے کا تجزیہ

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

  1. ایم اے کی پسماندہ نوعیت ، جس سے سگنل میں تاخیر ہوسکتی ہے ، بہترین انٹری پوائنٹس کی کمی۔

  2. غلط بریک آؤٹ جس کی وجہ سے غیر ضروری اندراجات یا باہر نکلنے کی ضرورت ہے۔ پیرامیٹرز یا اضافی فلٹرز کی مزید اصلاح کی ضرورت ہے۔

  3. رجحان کی تبدیلی کا پتہ لگانے کا انحصار رفتار پر ہوتا ہے، جو مارکیٹ میں زبردست اتار چڑھاؤ کے دوران ٹوٹ سکتا ہے۔

  4. ADX رجحانات اور استحکام کا پتہ لگانے میں ناقص ہے۔ غلط حد کی ترتیبات مسائل کا سبب بن سکتی ہیں۔

  5. تجارتی اخراجات پر کوئی غور نہیں کیا گیا۔ حقیقی تجارت میں لاگو ہونے پر مناسب اسٹاپ نقصان مقرر کیا جانا چاہئے۔

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

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

  1. ایم اے کی دیگر اقسام کی کوشش کریں یا بہتر ہموار اثرات کے لئے ایم اے پیرامیٹرز کو ایڈجسٹ کریں.

  2. قیمت کی تبدیلیوں کو پکڑنے کے لئے اعلی حساسیت کے لئے رفتار اشارے کی لمبائی کو بہتر بنائیں.

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

  4. مختلف ADX سطحوں پر مختلف پیرامیٹرز کا استعمال کرتے ہوئے ADX استعمال کو بہتر بنائیں۔

  5. سگنل کے معیار کو بہتر بنانے اور جھوٹے بریک آؤٹ کو فلٹر کرنے کے لئے حجم کے اشارے وغیرہ متعارف کروائیں۔

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

خلاصہ

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


/*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")
    
    



مزید