ڈبل موونگ ایوریج گولڈن کراس اور ڈیتھ کراس الگورتھمک تجارتی حکمت عملی


تخلیق کی تاریخ: 2024-01-29 15:11:58 آخر میں ترمیم کریں: 2024-01-29 15:11:58
کاپی: 0 کلکس کی تعداد: 590
1
پر توجہ دیں
1617
پیروکار

ڈبل موونگ ایوریج گولڈن کراس اور ڈیتھ کراس الگورتھمک تجارتی حکمت عملی

جائزہ

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

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

اس حکمت عملی کا بنیادی منطق 3 وقت کے ادوار ((180 منٹ ، 60 منٹ ، 120 منٹ) پر مشتمل 2 متحرک اوسط ((10 دن کی لکیر اور 200 دن کی لکیر)) کو ٹریک کرنا ہے۔ جب تیز لائن نیچے کی طرف سے سست لائن کو عبور کرتی ہے تو ، گولڈ فورک سگنل پیدا ہوتا ہے ، جس سے یہ ظاہر ہوتا ہے کہ اس قسم کو کثیر جہتی رجحان میں داخل کیا گیا ہے۔ جب تیز لائن اوپر کی طرف سے نیچے کی طرف سے سست لائن کو عبور کرتی ہے تو ، اس کا مطلب یہ ہے کہ اس قسم کو خالی سر میں داخل کیا گیا ہے۔

حکمت عملی سب سے پہلے 180 منٹ اور 60 منٹ کے دورانیے میں 10 دن کی لائن اور 200 دن کی لائن کا حساب لگاتی ہے۔ جب 180 منٹ کی 10 دن کی لائن نیچے سے 200 دن کی لائن کو عبور کرتی ہے تو ، گولڈ فورک سگنل پیدا ہوتا ہے۔ جب اوپر سے نیچے سے گزرتا ہے تو ، ڈیڈ فورک سگنل پیدا ہوتا ہے۔ یہ تیزی سے چکر لگانے والے ٹریڈنگ سگنل کے برابر ہے۔

اس کے بعد ، حکمت عملی نے 120 منٹ کے دورانیے میں 200 دن کی لائن کو بطور کنٹرول لائن متعارف کرایا۔ صرف اس صورت میں جب گولڈ فورک یا ڈیڈ فورک ہوتا ہے تو ، یہ فیصلہ کرکے تجارت شروع کرنے کا فیصلہ کیا جاتا ہے کہ آیا 60 منٹ کے دورانیے میں 200 دن کی لائن 120 منٹ کے دورانیے میں 200 دن کی لائن سے زیادہ ہے یا اس سے کم ہے۔

مثال کے طور پر ، جب 180 منٹ میں گولڈ فورک پیدا ہوتا ہے تو ، اگر 60 منٹ کی 200 دن کی لکیر 120 منٹ کی 200 دن کی لکیر سے زیادہ ہے تو ، زیادہ دیکھیں؛ صرف اس شرط کے تحت ، ایک زیادہ اکاؤنٹ کھولا جائے گا۔ اس کے برعکس ، اگر 60 منٹ کی 200 دن کی لکیر 120 منٹ کی 200 دن کی لکیر سے کم ہے تو ، زیادہ نہ دیکھیں اور نہ ہی پوزیشن کھولی جائے۔

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

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

  • ملٹی سائیکل کی تصدیق ، سگنل کی درستگی کو بہتر بناتا ہے۔ اس حکمت عملی میں 180 منٹ ، 60 منٹ اور 120 منٹ کی تین سائیکلوں کے درمیان اوسط لکیری تعلقات کی تصدیق کی گئی ہے ، جس سے ٹریڈنگ سگنل کی معیار کو بہتر بنایا جاسکتا ہے۔

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

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

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

اسٹریٹجک رسک

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

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

  • پیرامیٹرز کی اصلاح پر بہت زیادہ انحصار کرنا ، اوور فٹ ہونا آسان ہے۔ یہ حکمت عملی بنیادی طور پر پیرامیٹرز کی اصلاح کے ذریعہ الفا حاصل کرتی ہے ، جس سے ایک ہی ڈیٹا سیٹ کے نتائج پر انحصار کرنا زیادہ سے زیادہ اصلاح اور اوور فٹ ہونے کا سبب بن سکتا ہے۔

خطرے سے نمٹنے کے لئے مندرجہ ذیل حل ہیں:

  • اوسط لائن پیرامیٹرز کو مناسب طریقے سے کم کریں ، رد عمل کی رفتار کو تیز کریں۔

  • فلٹرنگ کی شرائط میں اضافہ کریں تاکہ ہلکے بازاروں میں زیادہ پوزیشنوں سے بچا جاسکے۔

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

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

اس حکمت عملی کو بہتر بنانے کے لئے ابھی بھی جگہ موجود ہے:

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

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

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

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

خلاصہ کریں۔

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

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

//@version=3
strategy(shorttitle = "ALGO 3-1-2", title="ALGO 3h, 1h, 2h", overlay=true)

bool startLONGBOTandDEAL = false
bool stopLONGBOTandDEAL = false
bool openLONG = false
bool closeLONG = false
bool startSHORTBOTandDEAL = false
bool stopSHORTBOTandDEAL = false
bool openSHORT = false
bool closeSHORT = false

MA1Period = ema(close, 10)
MA2Period = ema(close, 200)
MA3Period = ema(close, 200)

MA1 = security(syminfo.tickerid, "180", MA1Period)
MA2 = security(syminfo.tickerid, "60", MA2Period)
MA3 = security(syminfo.tickerid, "120", MA3Period)

MA12Crossover = crossover(MA1, MA2)
MA12Crossunder = crossunder(MA1, MA2)
MA23Crossover = crossover(MA2, MA3)
MA23Crossunder = crossunder(MA2, MA3)

if MA23Crossover
    startLONGBOTandDEAL := true //stop shortBOT and DEAL code in the TV alert as well, probably stop first w/ a delay on startlong
    lblBull = label.new(bar_index, na, ' BULL Time Open LONG', color=color.blue, textcolor=color.black, style=label.style_label_up, size=size.small)
    label.set_y(lblBull, MA2)  
    strategy.close("go Short")
    strategy.entry("go Long", strategy.long, comment="go Long")
if MA23Crossunder
    //not sure if i should set alert for stop and start each bot, or just put start appropriate bot and stop its opposite in the same alert.
    startSHORTBOTandDEAL := true
    lblBull = label.new(bar_index, na, ' BEAR Time - Open SHORT', color=color.orange, textcolor=color.black, style=label.style_label_down, size=size.small)
    label.set_y(lblBull, MA2)
    strategy.close("go Long")
    strategy.entry("go Short", strategy.short, comment="go Short")
if MA12Crossover
    if MA2 >= MA3
        openLONG := true
        lup1 = label.new(bar_index, na, ' OPEN LONG ', color=color.green, textcolor=color.white, style=label.style_label_up, size=size.small, yloc=yloc.belowbar)
        strategy.entry("go Long", strategy.long, comment="go Long")
    if MA2 <= MA3
        closeSHORT := true
        lup1 = label.new(bar_index, na, ' CLOSE SHORT ', color=color.gray, textcolor=color.black, style=label.style_label_up, size=size.small, yloc=yloc.belowbar)
        strategy.close("go Short")
    
if MA12Crossunder
    if MA2 >= MA3
        closeLONG := true
        lun1 = label.new(bar_index, na, ' CLOSE LONG ', color=color.red, textcolor=color.white, style=label.style_label_down, size=size.small, yloc=yloc.abovebar)
        strategy.close("go Long")
    if MA2 <= MA3
        openSHORT := true
        lun1 = label.new(bar_index, na, ' OPEN SHORT ', color=color.red, textcolor=color.white, style=label.style_label_down, size=size.small, yloc=yloc.abovebar)
        strategy.entry("go Short", strategy.short, comment="go Short")


plot(MA1, color=color.green, linewidth=2, title="MA1")
plot(MA2, color=color.yellow, linewidth=3, title="MA2")
plot(MA3, color=color.red, linewidth=4, title="MA3")


alertcondition(startLONGBOTandDEAL, title="Start LONG BOT and DEAL", message="Start Long Bot and Deal")
alertcondition(stopLONGBOTandDEAL, title="Stop LONG BOT and DEAL", message="Stop Long Bot and Deal")
alertcondition(openLONG, title="Open LONG DEAL", message="Open Long Deal")
alertcondition(closeLONG, title="Close LONG DEAL", message="Close Long Deal")
alertcondition(stopSHORTBOTandDEAL, title="Stop SHORT BOT and DEAL", message="Stop Short Bot and Deal")
alertcondition(openSHORT, title="Open SHORT DEAL", message="Open Short Deal")
alertcondition(closeSHORT, title="Close SHORT DEAL", message="Close Short Deal")