ڈوئل موونگ ایوریج مومنٹم ٹریڈنگ حکمت عملی: وقت کی اصلاح پر مبنی ایک رجحان کی پیروی کرنے والا نظام

SMA MA
تخلیق کی تاریخ: 2024-07-31 14:50:26 آخر میں ترمیم کریں: 2024-07-31 14:50:26
کاپی: 17 کلکس کی تعداد: 792
1
پر توجہ دیں
1617
پیروکار

ڈوئل موونگ ایوریج مومنٹم ٹریڈنگ حکمت عملی: وقت کی اصلاح پر مبنی ایک رجحان کی پیروی کرنے والا نظام

جائزہ

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

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

اس حکمت عملی کا بنیادی اصول مارکیٹ کے رجحانات کی نشاندہی کرنے اور تجارتی سگنل پیدا کرنے کے لئے دو مختلف ادوار کی متحرک اوسط ((MA) کا استعمال کرنا ہے۔ خاص طور پر:

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

  2. کراس سگنل: جب قلیل مدتی ایم اے اوپر کی طرف سے طویل مدتی ایم اے کو پار کرتا ہے تو ، خریدنے کا اشارہ پیدا ہوتا ہے۔ جب قلیل مدتی ایم اے نیچے کی طرف سے طویل مدتی ایم اے کو پار کرتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔

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

  4. ایک سے زیادہ ہدف کی قیمت: حکمت عملی میں ہر تجارت کے لئے دو ہدف کی قیمتیں طے کی گئیں ((Target_1 اور Target_2) ، جس سے مرحلہ وار منافع حاصل کیا جاسکے۔

  5. رسک مینجمنٹ: ہر تجارت میں ممکنہ نقصان کو محدود کرنے کے لئے ایک اسٹاپ نقصان مقرر کیا جاتا ہے۔

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

اسٹریٹجک فوائد

  1. رجحانات کا سراغ لگانا: حکمت عملی مارکیٹ کے رجحانات کو مؤثر طریقے سے پکڑنے اور منافع کے مواقع کو بڑھانے کے لئے متحرک اوسط کا استعمال کرتے ہوئے.

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

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

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

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

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

اسٹریٹجک رسک

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

  2. سلائڈ پوائنٹ کا خطرہ: تیز مارکیٹوں میں ، اصل ٹرانزیکشن قیمتوں میں سگنل کی تخلیق کے وقت قیمتوں سے نمایاں فرق ہوسکتا ہے۔

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

  4. ٹائم ونڈو کی حد: ٹائم ونڈو کی سخت حد سے مارکیٹ میں اہم مواقع ضائع ہوسکتے ہیں۔

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

  6. ضرورت سے زیادہ تجارت: بعض مارکیٹ کے حالات میں ، حکمت عملی سے زیادہ تجارتی سگنل پیدا ہوسکتے ہیں ، جس سے تجارت کی لاگت میں اضافہ ہوتا ہے۔

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

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

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

  3. نقصان کے طریقہ کار کو بہتر بنانا: مارکیٹ کے مختلف حالات کے مطابق اے ٹی آر ((اوسط حقیقی رینج) پر مبنی متحرک روک تھام کا استعمال کرنے پر غور کیا جاسکتا ہے۔

  4. رجحان کی طاقت کی تصدیق اور سگنل کے معیار کو بہتر بنانے کے لئے RSI یا MACD جیسے دیگر تکنیکی اشارے کو مربوط کرنا

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

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

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

  8. مشین لرننگ انٹیگریشن: مشین لرننگ الگورتھم کا استعمال کرتے ہوئے پیرامیٹرز کے انتخاب اور سگنل جنریشن کے عمل کو بہتر بنانے کی تلاش کریں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-07-23 00:00:00
end: 2024-07-30 00:00:00
period: 2m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Gold Trend Trader", shorttitle="Gold Trader", overlay=true)

// User-defined input for moving averages
shortMA = input.int(10, minval=1, title="Short MA Period")
longMA = input.int(100, minval=1, title="Long MA Period")
target_1 = input.int(100, minval=1, title="Target_1")
target_2 = input.int(150, minval=1, title="Target_2")

// User-defined input for the start and end times with default values
startTimeInput = input.int(12, title="Start Time for Session (UTC, in hours)", minval=0, maxval=23)
endTimeInput = input.int(17, title="End Time Session (UTC, in hours)", minval=0, maxval=23)
// Convert the input hours to minutes from midnight
startTime = startTimeInput * 60 
endTime = endTimeInput * 60  

// Function to convert the current exchange time to UTC time in minutes
toUTCTime(exchangeTime) =>
    exchangeTimeInMinutes = exchangeTime / 60000
    // Adjust for UTC time
    utcTime = exchangeTimeInMinutes % 1440
    utcTime

// Get the current time in UTC in minutes from midnight
utcTime = toUTCTime(time)

// Check if the current UTC time is within the allowed timeframe
isAllowedTime = (utcTime >= startTime and utcTime < endTime)

// Calculating moving averages
shortMAValue = ta.sma(close, shortMA)
longMAValue = ta.sma(close, longMA)

// Plotting the MAs
plot(shortMAValue, title="Short MA", color=color.blue)
plot(longMAValue, title="Long MA", color=color.red)

// Tracking buy and sell signals
var float buyEntryPrice_1 = na
var float buyEntryPrice_2 = na
var float sellEntryPrice_1 = na
var float sellEntryPrice_2 = na

// Logic for Buy and Sell signals
buySignal = ta.crossover(shortMAValue, longMAValue) and isAllowedTime
sellSignal = ta.crossunder(shortMAValue, longMAValue) and isAllowedTime

// Entry conditions for long and short trades
if (buySignal)
    strategy.entry("Buy_1", strategy.long)
    strategy.exit("TP_1", "Buy_1", limit=close + target_1, stop=close - 100)

    strategy.entry("Buy_2", strategy.long)
    strategy.exit("TP_2", "Buy_2", limit=close + target_2, stop=close - 1500)

if (sellSignal)
    strategy.entry("Sell_1", strategy.short)
    strategy.exit("TP_3", "Sell_1", limit=close - target_1, stop=close + 100)

    strategy.entry("Sell_2", strategy.short)
    strategy.exit("TP_4", "Sell_2", limit=close - target_2, stop=close + 150)

// Apply background color for entry candles
barcolor(buySignal ? color.green : sellSignal ? color.red : na)

// Creating buy and sell labels
if (buySignal)
    label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.green, textcolor=color.white, yloc=yloc.belowbar)

if (sellSignal)
    label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.red, textcolor=color.white, yloc=yloc.abovebar)

// Creating labels for 100-point movement
if (not na(buyEntryPrice_1) and close >= buyEntryPrice_1 + target_1)
    label.new(bar_index, high, text=str.tostring(target_1), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
    buyEntryPrice_1 := na // Reset after label is created

if (not na(buyEntryPrice_2) and close >= buyEntryPrice_2 + target_2)
    label.new(bar_index, high, text=str.tostring(target_2), style=label.style_label_down, color=color.green, textcolor=color.white, yloc=yloc.abovebar)
    buyEntryPrice_2 := na // Reset after label is created

if (not na(sellEntryPrice_1) and close <= sellEntryPrice_1 - target_1)
    label.new(bar_index, low, text=str.tostring(target_1), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
    sellEntryPrice_1 := na // Reset after label is created

if (not na(sellEntryPrice_2) and close <= sellEntryPrice_2 - target_2)
    label.new(bar_index, low, text=str.tostring(target_2), style=label.style_label_up, color=color.red, textcolor=color.white, yloc=yloc.belowbar)
    sellEntryPrice_2 := na // Reset after label is created