کثیر اشارے کے فیصلے کے درخت کی حکمت عملی: IMACD ، EMA اور Ichimoku

مصنف:چاؤ ژانگ، تاریخ: 2024-01-22 11:25:56
ٹیگز:

img

جائزہ

اس حکمت عملی میں متعدد تکنیکی اشارے شامل ہیں جیسے آئی ایم اے سی ڈی ، ای ایم اے اور ایچیموکو تاکہ تجارتی سگنل تیار کرنے کے لئے ایک جامع فیصلہ درخت ماڈل بنایا جاسکے۔

حکمت عملی منطق

  1. آئی ایم اے سی ڈی: مارکیٹ کے رجحانات کو بہتر طور پر پکڑنے کے لئے ایم اے سی ڈی کو بہتر بنایا گیا
  2. Ichimoku: سپورٹ اور مزاحمت کی سطحوں کی نشاندہی کرنے کے لئے پلاٹ تبادلوں کی لائن، بیس لائن، معروف اسپین A، معروف اسپین B
  3. EMA 40: رجحان کی سمت کا تعین کرنے میں مدد
  4. طویل / مختصر سگنل IMACD، کلاؤڈ اجزاء اور EMA 40 کے درمیان مخصوص حالات کی بنیاد پر متحرک ہیں

طویل سگنل: جب IMACD ایک مخصوص رنگ ہے اور EMA 40 بادل کے اوپر ہے، طویل جانا

شارٹ سگنل: جب آئی ایم اے سی ڈی سرخ ہو اور ای ایم اے 40 بادل کے نیچے ہو تو شارٹ ہو

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

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

خطرے کا تجزیہ

  1. ایک سے زیادہ اشارے کے ساتھ پیچیدہ پیرامیٹر ٹیوننگ
  2. غلط EMA لمبائی کی وجہ سے غلط سگنل شروع ہوسکتے ہیں
  3. بیک وقت بہت سے اشارے کی نگرانی میں دشواری

خطرے کے حل: پیرامیٹر کی ترتیبات کو بہتر بنائیں، EMA کی لمبائی کو ایڈجسٹ کریں، کام کے بہاؤ کو آسان بنائیں.

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

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

خلاصہ

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


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Decision Tree Strategy: IMACD, EMA and Ichimoku [cryptoonchain]", overlay=true)

lengthMA = input(34, title="Length MA")
lengthSignal = input(9, title="Length Signal")
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
emaLength = input(40, title="EMA Length")  // Added user-configurable EMA length

calc_smma(src, len) =>
    smma = float(na)
    smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len
    smma

calc_zlema(src, length) =>
    ema1 = ta.ema(src, length)
    ema2 = ta.ema(ema1, length)
    d = ema1 - ema2
    ema1 + d

src = ohlc4
hi = calc_smma(high, lengthMA)
lo = calc_smma(low, lengthMA)
mi = calc_zlema(src, lengthMA)

md = (mi > hi) ? (mi - hi) : (mi < lo) ? (mi - lo) : 0
sb = ta.sma(md, lengthSignal)
sh = md - sb
mdc = src > mi ? (src > hi ? color.rgb(128, 255, 0, 26) : color.green) : (src < lo ? color.red : color.orange)

colorCondition = color.rgb(128, 255, 0, 26)

conversionLine = math.avg(ta.lowest(conversionPeriods), ta.highest(conversionPeriods))
baseLine = math.avg(ta.lowest(basePeriods), ta.highest(basePeriods))
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = math.avg(ta.lowest(laggingSpan2Periods), ta.highest(laggingSpan2Periods))

// Use user-configurable length for EMA
ema40 = ta.ema(close, emaLength)

ebc = input(false, title="Enable bar colors")
barcolor(ebc ? mdc : na)

conversionLinePlot = plot(conversionLine, color=#2962FF, title="Conversion Line", display=display.none)
baseLinePlot = plot(baseLine, color=#B71C1C, title="Base Line", display=display.none)
laggingSpanPlot = plot(close, offset=-displacement + 1, color=#43A047, title="Lagging Span", display=display.none)
leadLine1Plot = plot(leadLine1, offset=displacement - 1, color=#A5D6A7, title="Leading Span A", display=display.none)
leadLine2Plot = plot(leadLine2, offset=displacement - 1, color=#EF9A9A, title="Leading Span B", display=display.none)
kumoCloudUpperLinePlot = plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset=displacement - 1, title="Kumo Cloud Upper Line", display=display.none)
kumoCloudLowerLinePlot = plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset=displacement - 1, title="Kumo Cloud Lower Line", display=display.none)
fill(kumoCloudUpperLinePlot, kumoCloudLowerLinePlot, color=leadLine1 > leadLine2 ? color.green : color.red)

a = (leadLine1 > leadLine2 ? leadLine1 : leadLine2) 
b = (leadLine1 < leadLine2 ? leadLine1 : leadLine2)  

if mdc == colorCondition and ema40 > a[displacement - 1]
    strategy.entry("Long", strategy.long)

if mdc == color.red and ema40 < b[displacement - 1]
    strategy.entry("Short", strategy.short)


مزید