میک ڈی مستقبل کے راستے کی پیشن گوئی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-13 17:21:44
ٹیگز:

img

جائزہ

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

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

  1. میک ڈی لائن اور سگنل لائن کے عروج اور زوال کا تعین کرنے کے لئے میک ڈی اشارے کا فرق (تاریخی قدر) کا حساب لگائیں۔
  2. MacD اشارے کے مستقبل کے رجحان کا اندازہ لگانے اور قیمت کے رجحانات کی پیش گوئی کرنے کے لئے کال آپشنز کی ترتیب کے ذریعہ 4 گھنٹے کے وقت کے فریم کے اندر اندر MacD اشارے کی مستقبل کی قیمت کا استعمال کریں۔
  3. جب میک ڈی اشارے کا فرق 0 سے زیادہ ہو (جو کہ ایک بیل مارکیٹ کی نمائندگی کرتا ہے) اور اس کے بڑھتے رہنے کی توقع کی جاتی ہے تو طویل عرصے تک جائیں۔ جب میک ڈی اشارے کا فرق 0 سے کم ہو (جو کہ ایک ریچھ مارکیٹ کی نمائندگی کرتا ہے) اور اس کے گرنے کی توقع کی جاتی ہے تو مختصر ہوجائیں۔
  4. یہ حکمت عملی رجحان کی پیروی اور رجحان کی تبدیلی دونوں تجارتی طرزوں کو یکجا کرتی ہے، رجحانات کو پکڑنے کے ساتھ ساتھ رجحان کی تبدیلی کے نقطہ نظر کو بھی پکڑتا ہے.

فوائد کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی ہدایات

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

نتیجہ

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


/*backtest
start: 2023-12-05 00:00:00
end: 2023-12-12 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © x11joe
strategy(title="MacD (Future Known or Unknown) Strategy", overlay=false, precision=2,commission_value=0.26, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

//OPTIONAL:: Allow only entries in the long or short position
allowOnlyLong = input(title="Allow position ONLY in LONG",type=input.bool, defval=false)
allowOnlyShort = input(title="Allow position ONLY in SHORT",type=input.bool, defval=false)


strategy.risk.allow_entry_in(allowOnlyLong ? strategy.direction.long : allowOnlyShort ? strategy.direction.short : strategy.direction.all) // There will be no short entries, only exits from long.

// Create MacD inputs
fastLen = input(title="MacD Fast Length", type=input.integer, defval=12)
slowLen = input(title="MacD Slow Length", type=input.integer, defval=26)
sigLen  = input(title="MacD Signal Length", type=input.integer, defval=9)

// Get MACD values
[macdLine, signalLine, _] = macd(close, fastLen, slowLen, sigLen)
hist = macdLine - signalLine

useFuture = input(title="Use The Future?",type=input.bool,defval=true)

macDState(resolutionType) =>
    hist_from_resolution = security(syminfo.tickerid, resolutionType, hist,barmerge.gaps_off, barmerge.lookahead_on)
    Green_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution > 0
    Green_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution > 0
    Red_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution <= 0
    Red_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution <= 0
    result=0
    if(Green_IsUp)
        result := 1
    if(Green_IsDown)
        result := 2
    if(Red_IsDown)
        result := 3
    if(Red_IsUp)
        result := 4
    result

macDStateNonFuture(resolutionType) =>
    hist_from_resolution = security(syminfo.tickerid, resolutionType, hist,barmerge.gaps_off, barmerge.lookahead_off)
    Green_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution > 0
    Green_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution > 0
    Red_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution <= 0
    Red_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution <= 0
    result=0
    if(Green_IsUp)
        result := 1
    if(Green_IsDown)
        result := 2
    if(Red_IsDown)
        result := 3
    if(Red_IsUp)
        result := 4
    result

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"
// === INPUT BACKTEST RANGE END ===

//Get FUTURE or NON FUTURE data
macDState240=useFuture ? macDState("240") : macDStateNonFuture("240") //1 is green up, 2 if green down, 3 is red, 4 is red up

//Fill in the GAPS
if(macDState240==0)
    macDState240:=macDState240[1]

//Plot Positions
plot(close,color= macDState240==1 ? color.green : macDState240==2 ? color.purple : macDState240==3 ? color.red : color.yellow,linewidth=4,style=plot.style_histogram,transp=50)

if(useFuture)
    strategy.entry("buy_1",long=true,when=window() and (macDState240==4 or macDState240==1))
    strategy.close("buy_1",when=window() and macDState240==3 and macDState240[1]==4)
    strategy.entry("sell_1",long=false,when=window() and macDState240==2)
else
    strategy.entry("buy_1",long=true,when=window() and (macDState240==4 or macDState240==1))//If we are in a red macD trending downwards MacD or in a MacD getting out of Red going upward.
    strategy.close("buy_1",when=window() and macDState240==3 and macDState240[1]==4)//If the state is going upwards from red but we are predicting back to red...
    strategy.entry("sell_1",long=false,when=window() and macDState240==2)//If we are predicting the uptrend to end soon.


مزید