ڈبل مومینٹم بریک آؤٹ اور اتار چڑھاؤ فلٹر مقداری حکمت عملی


تخلیق کی تاریخ: 2023-12-22 12:01:21 آخر میں ترمیم کریں: 2023-12-22 12:01:21
کاپی: 0 کلکس کی تعداد: 825
1
پر توجہ دیں
1621
پیروکار

ڈبل مومینٹم بریک آؤٹ اور اتار چڑھاؤ فلٹر مقداری حکمت عملی

جائزہ

یہ حکمت عملی بنیادی طور پر رجحانات کی نشاندہی کرنے کے لئے قیمتوں کی دوہری EMA حرکیات اور DEMA حرکیات کی کراسنگ کا حساب لگانے کے ذریعہ استعمال کی جاتی ہے ، اور ATR کی اتار چڑھاؤ کی شرح کے اشارے کے ساتھ مل کر جعلی بریک کو فلٹر کرنے کے لئے استعمال کیا جاتا ہے۔

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

اس حکمت عملی میں مندرجہ ذیل اجزاء شامل ہیں:

  1. قیمتوں کے حساب سے EMA اور DEMA کو دوہری حرکیات کے اشارے کے طور پر استعمال کیا جاتا ہے۔ اس میں طویل مدتی EMA طویل مدتی رجحان کی عکاسی کرتا ہے ، اور DEMA کو زیادہ حساس قلیل مدتی حرکیات کے اشارے کے طور پر استعمال کیا جاتا ہے۔ جب DEMA پر EMA ہوتا ہے تو خریدنے کا اشارہ پیدا ہوتا ہے۔

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

  3. اے ٹی آر کی اتار چڑھاؤ کی شرح کو پیرامیٹرائزڈ حرکت پذیر اوسط کے ذریعہ اعلی یا کم سے اندازہ لگایا جاتا ہے۔ جب اے ٹی آر کی اتار چڑھاؤ کی شرح حرکت پذیر اوسط سے کم ہوتی ہے تو ، متحرک اشارے سگنل کو متحرک کرنے کی اجازت دی جاتی ہے۔

  4. پیرامیٹرز کے ذریعے اے ٹی آر ٹائم پیکیج ، اے ٹی آر لمبائی ، اے ٹی آر منتقل اوسط کی قسم اور لمبائی وغیرہ کو کنٹرول کریں۔

  5. ایک سے زیادہ پوزیشنوں کے لئے اسٹاپ نقصانات ، اسٹاپ اور ٹریکنگ اسٹاپ نقصانات کے قواعد وضع کریں۔

طاقت کا تجزیہ

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

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

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

خطرے کا تجزیہ

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

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

اصلاح کی سمت

  1. مختلف پیرا میٹر پیرامیٹرز کے مجموعے کو جانچیں اور بہترین پیرامیٹرز تلاش کریں۔

  2. ڈبل ای ایم اے سے MACD یا دوسرے اشارے میں موٹائی کے اشارے کو ایڈجسٹ کرنے کی کوشش کریں۔

  3. مختلف اتار چڑھاؤ کے اشارے کی جانچ پڑتال کریں ، جیسے مجموعی تاریخی اے ٹی آر ، مارکیٹ میں اتار چڑھاؤ کے اشارے وغیرہ۔

  4. ٹرانزیکشن حجم پر فلٹرنگ میں اضافہ، قیمتوں میں غیر حقیقی اضافے کے خطرے سے بچنے کے لئے

  5. اس کے علاوہ ، اس نے اپنے آپ کو “پریشان کن” اور “پریشان کن” کے طور پر بیان کیا ہے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-21 00:00:00
end: 2023-12-21 00:00:00
period: 1h
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/
// © Qorbanjf

//@version=4
strategy("ORIGIN DEMA/EMA & VOL LONG ONLY", shorttitle="ORIGIN DEMA/EMA & VOL LONG", overlay=true)

// DEMA
length = input(10, minval=1, title="DEMA LENGTH")
src = input(close, title="Source")
e1 = ema(src, length)
e2 = ema(e1, length)
dema1 = 2 * e1 - e2
plot(dema1, "DEMA", color=color.yellow)

//EMA
len = input(25, minval=1, title="EMA Length")
srb = input(close, title="Source")
offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
ema1 = ema(srb, len)
plot(ema1, title="EMA", color=color.blue, offset=offset)


// Inputs
atrTimeFrame = input("D", title="ATR Timeframe", type=input.resolution)
atrLookback = input(defval=14,title="ATR Lookback Period",type=input.integer)
useMA = input(title = "Show Moving Average?", type = input.bool, defval = true)
maType = input(defval="EMA", options=["EMA", "SMA"], title = "Moving Average Type")
maLength = input(defval = 20, title = "Moving Average Period", minval = 1)
//longLossPerc = input(title="Long Stop Loss (%)",
    // type=input.float, minval=0.0, step=0.1, defval=1) * 0.01
longTrailPerc = input(title="Trail stop loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=50) * 0.01
longProfitPerc = input(title="Long Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=3000) / 100

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2017, title = "From Year", minval = 2000)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)


// ATR Logic // atrValue = atr(atrLookback) // atrp = (atrValue/close)*100 // plot(atrp, color=color.white, linewidth=2, transp = 30)

atrValue = security(syminfo.tickerid, atrTimeFrame, atr(atrLookback))
atrp = (atrValue/close)*100

// Moving Average Logic
ma(maType, src, length) =>
    maType == "EMA" ? ema(src, length) : sma(src, length) //Ternary Operator (if maType equals EMA, then do ema calc, else do sma calc)
maFilter = security(syminfo.tickerid, atrTimeFrame, ma(maType, atrp, maLength))

// variables for enter position
enterLong = crossover(dema1, ema1) and atrp < maFilter

// variables for exit position
sale = crossunder(dema1, ema1)

// stop loss
//longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)

// trail stop
// Determine trail stop loss prices
longStopTrail = 0.0

longStopTrail := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopTrail[1])
else
    0
//Take profit Percentage
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)

//Enter trades when conditions are met
strategy.entry(id="long",
 long=strategy.long,
 when=enterLong,
 comment="long")

//
strategy.close("long", when = sale, comment = "Sell")
//place exit orders (only executed after trades are active)

strategy.exit(id="sell",
 limit = longExitPrice,
 stop = longStopTrail,
 comment = "SL/TP")