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

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

مصنف:چاؤ ژانگ، تاریخ: 2024-07-31 14:50:26
ٹیگز:ایس ایم اےایم اے

双均线动量交易策略:基于时间优化的趋势跟踪系统

جائزہ

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

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

اس حکمت عملی کا بنیادی اصول مارکیٹ کے رجحانات کی نشاندہی کرنے اور تجارتی اشارے پیدا کرنے کے لئے دو مختلف دوروں کے متحرک اوسط (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. دوسرے تکنیکی اشارے کو ضم کرنا: جیسے آر ایس آئی یا ایم اے سی ڈی ، جو رجحان کی شدت کی تصدیق اور سگنل کے معیار کو بہتر بنانے کے لئے استعمال ہوتا ہے۔

  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


متعلقہ مواد

مزید معلومات