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

متحرک سٹاپ نقصان اور فلٹر کے ساتھ ڈبل چلتی اوسط رجحان کی گرفتاری کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-07-31 11:46:38
ٹیگز:ایم اےای ایم اےایس ایم اےڈبلیو ایم اےٹی پیSL

img

جائزہ

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

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

اس حکمت عملی کے بنیادی اصولوں میں شامل ہیں:

  1. دوہری حرکت پذیر اوسط نظام: دو حرکت پذیر اوسط استعمال کرتا ہے ، ایک اہم سگنل لائن (مختصر مدت) اور دوسرا فلٹر (طویل مدت) کے طور پر۔

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

  3. انٹری سگنلز: جب قیمت مرکزی حرکت پذیر اوسط سے گزرتی ہے اور فلٹر کے حالات کو پورا کرتی ہے تو انٹری سگنلز کو متحرک کرتی ہے۔

  4. متحرک سٹاپ نقصان: دو سٹاپ نقصان کے اختیارات پیش کرتا ہے - ایک فیصد کی بنیاد پر متحرک سٹاپ نقصان یا پچھلے موم بتیوں کے اعلی / کم کی بنیاد پر ایک فکسڈ سٹاپ نقصان.

  5. فکسڈ ٹیک منافع: داخلہ قیمت کے فیصد پر مبنی ایک فکسڈ ٹیک منافع کی سطح کا استعمال کرتا ہے۔

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

حکمت عملی کے فوائد

  1. رجحان کی پیروی: دوہری حرکت پذیر اوسط نظام کا استعمال کرتے ہوئے، حکمت عملی مؤثر طریقے سے درمیانے اور طویل مدتی رجحانات کو پکڑ سکتا ہے، منافع کے مواقع میں اضافہ.

  2. خطرے کا انتظام: متحرک اسٹاپ نقصان کا اختیار حکمت عملی کو مارکیٹ کی اتار چڑھاؤ کی بنیاد پر خطرے کے تعرض کو خود بخود ایڈجسٹ کرنے کی اجازت دیتا ہے ، جس سے سرمایہ کی حفاظت میں اضافہ ہوتا ہے۔

  3. لچک: یہ حکمت عملی صارفین کو مختلف قسم کے چلتے ہوئے اوسط (ایس ایم اے، ای ایم اے، ڈبلیو ایم اے) کا انتخاب کرنے اور مختلف پیرامیٹرز کو اپنی مرضی کے مطابق کرنے کی اجازت دیتی ہے، مختلف تجارتی طرزوں اور مارکیٹ کے ماحول کو اپنانے کے لئے.

  4. فلٹرنگ میکانزم: فلٹر کے طور پر طویل مدتی چلتی اوسط کا استعمال غلط بریک آؤٹ اور مخالف رجحان کی تجارت کو کم کرنے میں مدد کرتا ہے ، حکمت عملی کے استحکام کو بہتر بناتا ہے۔

  5. بصری اثرات: چارٹ پر کلیدی قیمتوں کی سطح اور چلتی اوسط کو پلاٹ کرکے ، تاجر حکمت عملی کی منطق اور موجودہ مارکیٹ کے حالات کو بدیہی طور پر سمجھ سکتے ہیں۔

  6. خودکار عملدرآمد: حکمت عملی کو تجارتی پلیٹ فارمز پر خود بخود عملدرآمد کیا جاسکتا ہے ، جس سے انسانی مداخلت اور جذباتی اثر و رسوخ کم ہوتا ہے۔

حکمت عملی کے خطرات

  1. تاخیر: حرکت پذیر اوسطاً فطری طور پر تاخیر والے اشارے ہیں ، جس سے رجحان کی تبدیلیوں کے دوران دیر سے داخلے یا باہر نکلنے کا سبب بن سکتا ہے۔

  2. رینج مارکیٹوں میں کارکردگی: سائیڈ ویز یا ہنگامہ خیز مارکیٹوں میں ، حکمت عملی اکثر غلط سگنل پیدا کرسکتی ہے ، جس کی وجہ سے لگاتار نقصانات ہوتے ہیں۔

  3. پیرامیٹر حساسیت: حکمت عملی کی کارکردگی منتخب پیرامیٹرز پر بہت زیادہ منحصر ہے۔ پیرامیٹرز کی غلط ترتیبات کا نتیجہ اوور ٹریڈنگ یا اہم مواقع سے محروم ہوسکتا ہے۔

  4. مقررہ منافع حاصل کرنے کی حدود: مقررہ فیصد منافع حاصل کرنے کا استعمال مضبوط رجحانات کے دوران منافع بخش تجارت کو قبل از وقت ختم کرسکتا ہے۔

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

  6. اسلیپج اور ٹریڈنگ کے اخراجات: اصل تجارت میں ، اسلیپج اور ٹریڈنگ کے اخراجات حکمت عملی کی منافع بخش پر نمایاں طور پر اثر انداز ہوسکتے ہیں ، خاص طور پر اعلی تعدد ٹریڈنگ کے منظرناموں میں۔

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

  1. متحرک پیرامیٹر ایڈجسٹمنٹ: مارکیٹ کی مختلف اتار چڑھاؤ اور رجحان کی طاقتوں کے مطابق موافقت پذیر چلتی اوسط مدت اور اسٹاپ نقصان کے فیصد کو نافذ کریں۔

  2. ملٹی ٹائم فریم تجزیہ: اندراج کے فیصلے کی درستگی کو بہتر بنانے اور جھوٹے سگنل کو کم کرنے کے لئے طویل ٹائم فریم سے رجحان کی معلومات کو ضم کریں۔

  3. اتار چڑھاؤ فلٹرنگ: اتار چڑھاؤ کے اشارے (جیسے اے ٹی آر) متعارف کروائیں تاکہ کم اتار چڑھاؤ کے ادوار کے دوران تجارت کو روک دیا جاسکے ، جس سے ہلکی مارکیٹوں میں نقصانات کم ہوجائیں۔

  4. رجحان کی طاقت کی تصدیق: رجحان کی طاقت کا اندازہ کرنے کے لئے دیگر تکنیکی اشارے (جیسے ADX) کو یکجا کریں اور صرف مضبوط رجحانات میں پوزیشنیں کھولیں۔

  5. متحرک منافع: منافع کی صلاحیت کو زیادہ سے زیادہ کرنے کے لئے مارکیٹ کی اتار چڑھاؤ یا رجحان کی طاقت پر مبنی متحرک منافع لینے کا طریقہ کار نافذ کریں۔

  6. پوزیشن سائزنگ کی اصلاح: خطرے سے فائدہ اٹھانے کے تناسب کو بہتر بنانے کے لئے اکاؤنٹ کے سائز اور مارکیٹ کی اتار چڑھاؤ کی بنیاد پر پوزیشن کے سائز کو متحرک طور پر ایڈجسٹ کریں۔

  7. مشین لرننگ انٹیگریشن: پیرامیٹر کے انتخاب اور انٹری ٹائمنگ کو بہتر بنانے کے لئے مشین لرننگ الگورتھم کا استعمال کریں ، حکمت عملی کی موافقت اور کارکردگی کو بہتر بنائیں۔

  8. جذبات کا تجزیہ: انتہائی جذبات کے ادوار کے دوران حکمت عملی کے رویے کو ایڈجسٹ کرنے کے لئے مارکیٹ کے جذبات کے اشارے شامل کریں ، زیادہ سے زیادہ تجارت سے گریز کریں۔

نتیجہ

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

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

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


/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Moving Average Breakout with Filter and Dynamic Stop Loss", overlay=true)

// Параметры
maLength = input.int(14, "MA Length")
maType = input.string("SMA", "MA Type", options=["SMA", "EMA", "WMA"])
takeProfitPercent = input.float(1.0, "Take Profit (%)", step=0.1)
filterMaLength = input.int(50, "Filter MA Length")
filterMaType = input.string("SMA", "Filter MA Type", options=["SMA", "EMA", "WMA"])
useDynamicStopLoss = input.bool(false, "Use Dynamic Stop Loss")
dynamicStopLossPercent = input.float(1.0, "Dynamic Stop Loss (%)", step=0.1)

// Выбор типа основной скользящей средней
float ma = na
switch maType
    "SMA" => ma := ta.sma(close, maLength)
    "EMA" => ma := ta.ema(close, maLength)
    "WMA" => ma := ta.wma(close, maLength)

// Выбор типа скользящей средней фильтра
float filterMa = na
switch filterMaType
    "SMA" => filterMa := ta.sma(close, filterMaLength)
    "EMA" => filterMa := ta.ema(close, filterMaLength)
    "WMA" => filterMa := ta.wma(close, filterMaLength)

// Построение скользящих средних
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(filterMa, color=color.orange, linewidth=2, title="Filter Moving Average")

// Логика открытия позиций
longCondition = ta.crossover(close, ma) and close > filterMa
shortCondition = ta.crossunder(close, ma) and close < filterMa

var bool inPosition = false
var float entryPrice = na
var float takeProfitLevel = na
var float stopLossLevel = na

if (longCondition and not inPosition and strategy.position_size == 0)
    entryPrice := close
    takeProfitLevel := close * (1 + takeProfitPercent / 100)
    if (useDynamicStopLoss)
        stopLossLevel := close * (1 - dynamicStopLossPercent / 100)
    else
        stopLossLevel := low[1]
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=takeProfitLevel, stop=stopLossLevel)
    // line.new(bar_index, entryPrice, bar_index + 1, entryPrice, color=color.blue, width=2)
    // line.new(bar_index, takeProfitLevel, bar_index + 1, takeProfitLevel, color=color.green, width=2, style=line.style_dashed)
    // line.new(bar_index, stopLossLevel, bar_index + 1, stopLossLevel, color=color.red, width=2, style=line.style_dashed)
    inPosition := true

if (shortCondition and not inPosition and strategy.position_size == 0)
    entryPrice := close
    takeProfitLevel := close * (1 - takeProfitPercent / 100)
    if (useDynamicStopLoss)
        stopLossLevel := close * (1 + dynamicStopLossPercent / 100)
    else
        stopLossLevel := high[1]
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=takeProfitLevel, stop=stopLossLevel)
    // line.new(bar_index, entryPrice, bar_index + 1, entryPrice, color=color.blue, width=2)
    // line.new(bar_index, takeProfitLevel, bar_index + 1, takeProfitLevel, color=color.green, width=2, style=line.style_dashed)
    // line.new(bar_index, stopLossLevel, bar_index + 1, stopLossLevel, color=color.red, width=2, style=line.style_dashed)
    inPosition := true

// Проверка закрытия позиции по тейк-профиту или стоп-лоссу
if (strategy.position_size == 0)
    inPosition := false

// Отображение текущих линий стоп-лосса и тейк-профита
// if (strategy.position_size > 0)
    // line.new(bar_index[1], takeProfitLevel, bar_index, takeProfitLevel, color=color.green, width=2, style=line.style_dashed)
    // line.new(bar_index[1], stopLossLevel, bar_index, stopLossLevel, color=color.red, width=2, style=line.style_dashed)
    // line.new(bar_index[1], entryPrice, bar_index, entryPrice, color=color.blue, width=2)

// if (strategy.position_size < 0)
    // line.new(bar_index[1], takeProfitLevel, bar_index, takeProfitLevel, color=color.green, width=2, style=line.style_dashed)
    // line.new(bar_index[1], stopLossLevel, bar_index, stopLossLevel, color=color.red, width=2, style=line.style_dashed)
    // line.new(bar_index[1], entryPrice, bar_index, entryPrice, color=color.blue, width=2)


متعلقہ

مزید