ADR موونگ ایوریج کراس اوور حکمت عملی - ایک تجارتی طریقہ جو کثیر جہتی تکنیکی اشارے اور سخت سٹاپ منافع اور سٹاپ نقصان کو یکجا کرتا ہے


تخلیق کی تاریخ: 2024-03-28 16:46:29 آخر میں ترمیم کریں: 2024-03-28 16:46:29
کاپی: 0 کلکس کی تعداد: 411
1
پر توجہ دیں
1228
پیروکار

ADR موونگ ایوریج کراس اوور حکمت عملی - ایک تجارتی طریقہ جو کثیر جہتی تکنیکی اشارے اور سخت سٹاپ منافع اور سٹاپ نقصان کو یکجا کرتا ہے

جائزہ

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

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

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

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

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

  4. متحرک سٹاپ لوس: حکمت عملی کا استعمال کرتے ہوئے ، جو کہ اوسطاً سب سے زیادہ قیمت اور سب سے کم قیمت پر مبنی ہے ، جو کہ N روٹ K لائن پر ہے اور اس کے ساتھ ساتھ پہلے سے طے شدہ رسک ریٹرن ریٹرن کے ساتھ مل کر ، سٹاپ لوس اور سٹاپ لوس کی متحرک حساب کتاب کی جاتی ہے۔ اس سے یہ یقینی بنتا ہے کہ ہر تجارت پر رسک ریٹرن کنٹرول میں ہے۔

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

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

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

طاقت کا تجزیہ

  1. رجحانات کا سراغ لگانے کی صلاحیت: ڈبل مساوی لائن کراسنگ کے ذریعہ رجحانات کا فیصلہ کرنے کے لئے ، مارکیٹ کے اہم رجحانات کو مؤثر طریقے سے پکڑنے کے لئے ، اس طرح حکمت عملی کی کامیابی اور منافع بخش صلاحیت کو بہتر بنایا جاسکتا ہے۔

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

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

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

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

خطرے کا تجزیہ

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

  2. غیر متوقع واقعات کا خطرہ: یہ حکمت عملی بنیادی طور پر تکنیکی اشارے کی تجارت پر مبنی ہے ، جس میں پالیسی میں تبدیلی ، معاشی اعداد و شمار میں بڑے پیمانے پر اتار چڑھاؤ جیسے کچھ اہم بنیادی واقعات کی غیر متوقع ردعمل کی کمی ہوسکتی ہے ، جس سے بڑے پیمانے پر واپسی ہوسکتی ہے۔

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

  4. لیکویڈیٹی کا خطرہ: اگرچہ حکمت عملی نے ٹریڈنگ ٹائم ونڈو ترتیب دی ہے ، لیکن اگر تجارت کے نشانات کی لیکویڈیٹی خراب ہے تو ، اس حکمت عملی کی کارکردگی کو متاثر کرنے والے خطرات جیسے سلائڈ پوائنٹس ، ٹریڈنگ میں تاخیر کا سامنا کرنا پڑ سکتا ہے۔

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

اصلاح کی سمت

  1. مزید جہتی اشارے متعارف کرانا: موجودہ ڈبل اوسط اور اے ڈی آر کی بنیاد پر ، سگنل کی وشوسنییتا اور استحکام کو بہتر بنانے کے لئے مزید موثر تکنیکی اشارے ، جیسے ایم اے سی ڈی ، آر ایس آئی وغیرہ متعارف کرانے پر غور کیا جاسکتا ہے۔

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

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

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

  5. کثیر ٹارگٹ ، کثیر ٹائم سائیکل: حکمت عملی کو متعدد ٹارگٹ اور کثیر ٹائم سائیکلوں تک وسعت دیں ، تاکہ حکمت عملی کی موافقت اور استحکام کو متنوع سرمایہ کاری اور ٹائم سائیکل کی اصلاح کے ذریعہ بڑھایا جاسکے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-02-26 00:00:00
end: 2024-03-27 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Sameh_Hussein

//@version=5
strategy('EMA Cross ADR Strategy with Stats', overlay=true)

// Adjustable Parameters
shortEmaLength = input(10, title='Short EMA Length')
longEmaLength = input(50, title='Long EMA Length')
adrLength = input(14, title='ADR Length')
riskRewardRatio = input(2.0, title='Risk/Reward Ratio')
lookbackCandles = input(10, title='Lookback Candles for Stop Loss')
startTime = input(0900, title='Start Time')
endTime = input(1600, title='End Time')
minAdrValue = input(10, title='Minimum ADR Value for Entry')
breakEvenProfit = input.float(1.0, title='Break-Even Profit', minval=0.0)
breakEvenRR = input.float(1.0, title='Break-Even Risk-Reward Ratio', minval=0.0)
dailyLossLimit = input(-2000.0, title='Daily Loss Limit')

// Exponential Moving Averages
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)

// Average Daily Range
adr = ta.sma(ta.tr, adrLength)

// Time Filter Function
timeFilter() => true

// Entry Conditions with ADR filter
longCondition = ta.crossover(shortEma, longEma) and timeFilter() and adr > minAdrValue
shortCondition = ta.crossunder(shortEma, longEma) and timeFilter() and adr > minAdrValue

// Calculate the average low and average high of the previous 'lookbackCandles' candles
averageLow = ta.sma(low, lookbackCandles)
averageHigh = ta.sma(high, lookbackCandles)

// Risk and Reward Calculation
stopLossLong = averageLow
takeProfitLong = close + (close - averageLow) * riskRewardRatio
stopLossShort = averageHigh
takeProfitShort = close - (averageHigh - close) * riskRewardRatio

// Entry Control Variables
var longEntryAllowed = true
var shortEntryAllowed = true

// Update entry price on trade execution
var float entryPriceLong = na
var float entryPriceShort = na

if (strategy.position_size > 0)
    if (strategy.position_size[1] <= 0)
        entryPriceLong := strategy.opentrades.entry_price(strategy.opentrades - 1)
    else
        entryPriceLong := entryPriceLong
else
    entryPriceLong := na

if (strategy.position_size < 0)
    if (strategy.position_size[1] >= 0)
        entryPriceShort := strategy.opentrades.entry_price(strategy.opentrades - 1)
    else
        entryPriceShort := entryPriceShort
else
    entryPriceShort := na

// Adjust stop loss to break-even plus the defined profit when the specified risk-reward ratio is reached
breakEvenTriggerLong = entryPriceLong + (entryPriceLong - stopLossLong) * breakEvenRR
breakEvenTriggerShort = entryPriceShort - (stopLossShort - entryPriceShort) * breakEvenRR

if (longEntryAllowed and close >= breakEvenTriggerLong)
    stopLossLong := entryPriceLong + breakEvenProfit

if (shortEntryAllowed and close <= breakEvenTriggerShort)
    stopLossShort := entryPriceShort - breakEvenProfit

// Close all trades at 1600
if (hour == 15 and minute == 59)
    strategy.close_all(comment='Close at 1600')

// Define the daily loss variable and last trade day
var float[] dailyLossArray = array.new_float(1, 0.0)
var int[] lastTradeDayArray = array.new_int(1, na)

// Function to update the daily loss
updateDailyLoss() =>
    _dailyLoss = array.get(dailyLossArray, 0)
    _lastTradeDay = array.get(lastTradeDayArray, 0)
    if na(_lastTradeDay) or dayofmonth != _lastTradeDay
        _dailyLoss := 0.0
        array.set(lastTradeDayArray, 0, dayofmonth)
    if not na(strategy.closedtrades.entry_bar_index(strategy.closedtrades - 1))
        _dailyLoss += strategy.closedtrades.profit(strategy.closedtrades - 1)
    array.set(dailyLossArray, 0, _dailyLoss)

// Call the function to update the daily loss
updateDailyLoss()

// Execute Strategy
if longCondition and longEntryAllowed
    strategy.entry('Long', strategy.long)
    strategy.exit('Take Profit/Stop Loss', 'Long', stop=stopLossLong, limit=takeProfitLong)
    longEntryAllowed := false

if shortCondition and shortEntryAllowed
    strategy.entry('Short', strategy.short)
    strategy.exit('Take Profit/Stop Loss', 'Short', stop=stopLossShort, limit=takeProfitShort)
    shortEntryAllowed := false

// Reset entry control variables on position close
if strategy.position_size == 0
    longEntryAllowed := true
    shortEntryAllowed := true

// // Statistics
// winRate = strategy.wintrades / strategy.closedtrades * 100
// totalTrades = strategy.closedtrades
// averageProfit = strategy.grossprofit / strategy.wintrades
// averageLoss = strategy.grossloss / strategy.losstrades

// // Plotting
// plot(shortEma, color=color.new(color.red, 0), title='Short EMA')
// plot(longEma, color=color.new(color.blue, 0), title='Long EMA')

// // Display Table
// table statsTable = table.new(position=position.top_right, columns=2, rows=4, bgcolor=color.gray, border_width=1)
// table.cell(statsTable, column=0, row=0, text='Win Rate (%)', bgcolor=color.blue)
// table.cell(statsTable, column=1, row=0, text=str.tostring(winRate), bgcolor=color.blue)
// table.cell(statsTable, column=0, row=1, text='Total Trades', bgcolor=color.blue)
// table.cell(statsTable, column=1, row=1, text=str.tostring(totalTrades), bgcolor=color.blue)
// table.cell(statsTable, column=0, row=2, text='Average Profit', bgcolor=color.blue)
// table.cell(statsTable, column=1, row=2, text=str.tostring(averageProfit), bgcolor=color.blue)
// table.cell(statsTable, column=0, row=3, text='Average Loss', bgcolor=color.blue)
// table.cell(statsTable, column=1, row=3, text=str.tostring(averageLoss), bgcolor=color.blue)