ATR اتار چڑھاؤ اور HMA رجحان انحراف پر مبنی ڈبل موونگ ایوریج بریک آؤٹ حکمت عملی


تخلیق کی تاریخ: 2024-01-17 16:37:23 آخر میں ترمیم کریں: 2024-01-17 16:37:23
کاپی: 2 کلکس کی تعداد: 529
1
پر توجہ دیں
1617
پیروکار

ATR اتار چڑھاؤ اور HMA رجحان انحراف پر مبنی ڈبل موونگ ایوریج بریک آؤٹ حکمت عملی

جائزہ

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

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

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

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

حکمت عملی کا تجزیہ

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

خطرے اور حل کا تجزیہ

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

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

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

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

  2. مارکیٹ کی حالت کا اندازہ لگانے کے لئے مزید فلٹرنگ یا آسکیلیٹر اشارے شامل کرنا ، حکمت عملی کی مضبوطی کو مزید بڑھانا۔

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

  4. مشین لرننگ ماڈل کے ساتھ مل کر زیادہ موثر ٹریڈنگ سگنل تیار کریں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
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/
// © sevencampbell

//@version=5
strategy(title="Baseline Cross Qualifier Volatility Strategy with HMA Trend Bias", overlay=true)

// --- User Inputs ---

// Baseline Inputs
baselineLength = input.int(title="Baseline Length", defval=20)
baseline = ta.sma(close, baselineLength)

// PBCQ Inputs
pbcqEnabled = input.bool(title="Post Baseline Cross Qualifier Enabled", defval=true)
pbcqBarsAgo = input.int(title="Post Baseline Cross Qualifier Bars Ago", defval=3)

// Volatility Inputs
atrLength = input.int(title="ATR Length", defval=14)
multiplier = input.float(title="Volatility Multiplier", defval=2.0)
rangeMultiplier = input.float(title="Volatility Range Multiplier", defval=1.0)
qualifierMultiplier = input.float(title="Volatility Qualifier Multiplier", defval=0.5)

// Take Profit Inputs
takeProfitType = input.string(title="Take Profit Type", options=["1 Take Profit", "2 Take Profits", "3 Take Profits"], defval="1 Take Profit")

// HMA Inputs
hmaLength = input.int(title="HMA Length", defval=50)

// --- Calculations ---

// ATR
atr = ta.atr(atrLength)

// Range Calculation
rangeHigh = baseline + rangeMultiplier * atr
rangeLow = baseline - rangeMultiplier * atr
rangeColor = rangeLow <= close and close <= rangeHigh ? color.yellow : na
bgcolor(rangeColor, transp=90)

// Qualifier Calculation
qualifier = qualifierMultiplier * atr

// Dot Calculation
isLong = close > baseline and (close - baseline) >= qualifier and close > ta.hma(close, hmaLength)
isShort = close < baseline and (baseline - close) >= qualifier and close < ta.hma(close, hmaLength)
colorDot = isLong ? color.green : isShort ? color.red : na
plot(isLong or isShort ? baseline : na, color=colorDot, style=plot.style_circles, linewidth=3)

// --- Strategy Logic ---

// PBCQ
pbcqValid = not pbcqEnabled or low[pbcqBarsAgo] > baseline

// Entry Logic
longCondition = isLong and pbcqValid
shortCondition = isShort and pbcqValid
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Logic
if (takeProfitType == "1 Take Profit")
    strategy.exit("TP/SL", "Long", limit=rangeHigh, stop=rangeLow)
    strategy.exit("TP/SL", "Short", limit=rangeLow, stop=rangeHigh)
else if (takeProfitType == "2 Take Profits")
    strategy.exit("TP1", "Long", qty=strategy.position_size * 0.5, limit=rangeHigh / 2)
    strategy.exit("TP2", "Long", qty=strategy.position_size * 0.5, limit=rangeHigh)
    strategy.exit("TP1", "Short", qty=strategy.position_size * 0.5, limit=rangeLow / 2)
    strategy.exit("TP2", "Short", qty=strategy.position_size * 0.5, limit=rangeLow)
else if (takeProfitType == "3 Take Profits")
    strategy.exit("TP1", "Long", qty=strategy.position_size * 0.5, limit=rangeHigh / 2)
    strategy.exit("TP2", "Long", qty=strategy.position_size * 0.25, limit=rangeHigh * 0.75)
    strategy.exit("TP3", "Long", qty=strategy.position_size * 0.25, limit=rangeHigh * 1.5)