ڈوئل چین ہائبرڈ مومنٹم موونگ ایوریج فالونگ ٹریڈنگ سسٹم

EMA MA
تخلیق کی تاریخ: 2024-11-29 17:04:57 آخر میں ترمیم کریں: 2024-11-29 17:04:57
کاپی: 5 کلکس کی تعداد: 465
1
پر توجہ دیں
1617
پیروکار

ڈوئل چین ہائبرڈ مومنٹم موونگ ایوریج فالونگ ٹریڈنگ سسٹم

جائزہ

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

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

حکمت عملی دوہری سلسلہ ڈیزائن پر مبنی ہے، جس میں سے ہر ایک میں ان کے اپنے منفرد داخلہ اور آؤٹ پٹ منطق ہے:

سلسلہ 1 ((طویل مدتی رجحانات) گھڑی اور دن کی لکیر کا استعمال کرتے ہوئے:

  • انٹری سگنل: جب بندش کی قیمت گھومنے والی لائن پر ای ایم اے پہنتی ہے تو ایک کثیر سگنل پیدا ہوتا ہے
  • ایکسٹریم سگنل: جب بندش کی قیمت ای ایم اے کو سورج کی لکیر کے تحت ٹرانسفر کرتی ہے تو ایک پلے اسٹاک سگنل پیدا ہوتا ہے
  • ڈیفالٹ ای ایم اے کی مدت 10 ہے، ضرورت کے مطابق ایڈجسٹ کیا جا سکتا ہے

سلسلہ 2 ((قلیل مدتی حرکیات) 12 گھنٹے اور 9 گھنٹے کے دورانیے کا استعمال کرتے ہوئے:

  • انٹری سگنل: جب بندش کی قیمت 12 گھنٹے کے دورانیے پر ای ایم اے پہنتی ہے تو ایک کثیر سگنل پیدا ہوتا ہے
  • ایکسٹینشن سگنل: جب بندش کی قیمت 9 گھنٹے کے دورانیے پر EMA سے گزرتی ہے تو اس میں ایک پلے اسٹاک سگنل پیدا ہوتا ہے
  • پہلے سے طے شدہ ای ایم اے کی مدت 9 ہے ، جو ضرورت کے مطابق ایڈجسٹ کی جاسکتی ہے

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

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

اسٹریٹجک رسک

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

رسک کنٹرول کی تجاویز:

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='Dual Chain Strategy', shorttitle='DualChain', overlay=true)

// User inputs for enabling/disabling chains
enableChain1 = input.bool(true, title='Enable Chain 1')
enableChain2 = input.bool(true, title='Enable Chain 2')

// User inputs for the first chain
len1 = input.int(10, minval=1, title='Length Chain 1 EMA', group="Chain 1")
src1 = input(close, title='Source Chain 1', group="Chain 1")
tf1_entry = input.timeframe("W", title='Chain 1 Entry Timeframe', group="Chain 1")
tf1_exit = input.timeframe("D", title='Chain 1 Exit Timeframe', group="Chain 1")

// Weekly timeframe EMA for Chain 1
entryEMA1 = request.security(syminfo.tickerid, tf1_entry, ta.ema(src1, len1))

// Daily timeframe EMA for Chain 1
exitEMA1 = request.security(syminfo.tickerid, tf1_exit, ta.ema(src1, len1))

// User inputs for the second chain
len2 = input.int(9, minval=1, title='Length Chain 2 EMA', group="Chain 2")
src2 = input(close, title='Source Chain 2', group="Chain 2")
tf2_entry = input.timeframe("720", title='Chain 2 Entry Timeframe (12H)', group="Chain 2")  // 12 hours
tf2_exit = input.timeframe("540", title='Chain 2 Exit Timeframe (9H)', group="Chain 2")    // 9 hours

// Entry timeframe EMA for Chain 2
entryEMA2 = request.security(syminfo.tickerid, tf2_entry, ta.ema(src2, len2))

// Exit timeframe EMA for Chain 2
exitEMA2 = request.security(syminfo.tickerid, tf2_exit, ta.ema(src2, len2))

// Plotting Chain 1 EMAs
plot(enableChain1 ? entryEMA1 : na, title='Chain 1 Entry EMA', color=color.new(color.blue, 0))
plot(enableChain1 ? exitEMA1 : na, title='Chain 1 Exit EMA', color=color.new(color.yellow, 0))

// Plotting Chain 2 EMAs
plot(enableChain2 ? entryEMA2 : na, title='Chain 2 Entry EMA', color=color.new(color.green, 0))
plot(enableChain2 ? exitEMA2 : na, title='Chain 2 Exit EMA', color=color.new(color.red, 0))

// Backtesting period
startDate = input(timestamp('2015-07-27'), title="StartDate")
finishDate = input(timestamp('2026-01-01'), title="FinishDate")
time_cond = true

// Entry Condition (Chain 1)
bullishChain1 = enableChain1 and ta.crossover(src1, entryEMA1)
bearishChain1 = enableChain1 and ta.crossunder(src1, entryEMA1)

// Exit Condition (Chain 1)
exitLongChain1 = enableChain1 and ta.crossunder(src1, exitEMA1)
exitShortChain1 = enableChain1 and ta.crossover(src1, exitEMA1)

// Entry Condition (Chain 2)
bullishChain2 = enableChain2 and ta.crossover(src2, entryEMA2)
bearishChain2 = enableChain2 and ta.crossunder(src2, entryEMA2)

// Exit Condition (Chain 2)
exitLongChain2 = enableChain2 and ta.crossunder(src2, exitEMA2)
exitShortChain2 = enableChain2 and ta.crossover(src2, exitEMA2)

// Debugging: Plot entry signals for Chain 1
plotshape(bullishChain1, color=color.new(color.green, 0), style=shape.labelup, text='BUY C1', location=location.belowbar)
plotshape(bearishChain1, color=color.new(color.red, 0), style=shape.labeldown, text='SELL C1', location=location.abovebar)

// Debugging: Plot entry signals for Chain 2
plotshape(bullishChain2, color=color.new(color.green, 0), style=shape.labelup, text='BUY C2', location=location.belowbar)
plotshape(bearishChain2, color=color.new(color.red, 0), style=shape.labeldown, text='SELL C2', location=location.abovebar)

// Trade Execution for Chain 1
if bullishChain1 and time_cond
    strategy.entry('BUY_Chain_1', strategy.long)

if bearishChain1 and time_cond
    strategy.entry('SELL_Chain_1', strategy.short)

// Exit trades based on daily conditions for Chain 1
if exitLongChain1 and strategy.opentrades > 0
    strategy.close(id='BUY_Chain_1', when=exitLongChain1)

if exitShortChain1 and strategy.opentrades > 0
    strategy.close(id='SELL_Chain_1', when=exitShortChain1)

// Trade Execution for Chain 2
if bullishChain2 and time_cond
    strategy.entry('BUY_Chain_2', strategy.long)

if bearishChain2 and time_cond
    strategy.entry('SELL_Chain_2', strategy.short)

// Exit trades based on daily conditions for Chain 2
if exitLongChain2 and strategy.opentrades > 0
    strategy.close(id='BUY_Chain_2', when=exitLongChain2)

if exitShortChain2 and strategy.opentrades > 0
    strategy.close(id='SELL_Chain_2', when=exitShortChain2)

// Close all positions outside the backtesting period
if not time_cond
    strategy.close_all()