اوورلے ٹرینڈ سگنل کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-18 10:00:22
ٹیگز:

img

جائزہ

یہ حکمت عملی ڈائریکشنل موومنٹ انڈیکس (ڈی ایم آئی) DI+ اور DI- کے ساتھ ساتھ اوسط ڈائریکشنل انڈیکس (ADX) اور ایکسپونینشل موونگ اوسط (EMA) کا حساب لگاکر تجارتی سگنل تیار کرتی ہے۔ جب DI+ DI+ سے اوپر اور ADX 20 سے اوپر ہوتا ہے تو یہ ایک لمبا سگنل ٹرگر کرتا ہے۔ جب DI DI+ سے نیچے اور ADX 25 سے اوپر ہوتا ہے تو ایک مختصر سگنل ٹرگر ہوتا ہے۔ اسٹاپ نقصان کا سگنل اس وقت ہوتا ہے جب DI DI DI+ سے اوپر ہوتا ہے اور ADX 30 سے اوپر ہوتا ہے۔

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

  1. DI +، DI، ADX کا حساب لگائیں

    • DI +، DI، ADX کا حساب کرنے کے لئے ta.dmi() استعمال کریں
    • DI+/DI- قیمتوں کی سمت کی نقل و حرکت کی پیمائش کرتا ہے
    • اے ڈی ایکس قیمتوں کی نقل و حرکت کی طاقت کی پیمائش کرتا ہے
  2. ایکسپونینشل چلتی اوسط کا حساب لگائیں

    • EMA حساب کرنے کے لئے اپنی مرضی کے مطابق my_ema() فنکشن کا استعمال کریں
    • ای ایم اے نے قیمتوں کے اعداد و شمار کو ہموار کیا
  3. تجارتی سگنل تیار کریں

    • طویل سگنل: DI+ DI- اور ADX > 20 سے اوپر اور قریب > EMA سے عبور کرتا ہے۔
      • بڑھتی ہوئی رجحان اور بڑھتی ہوئی اتار چڑھاؤ کی نشاندہی کرتا ہے
    • مختصر سگنل: DI- DI+ اور ADX > 25 سے نیچے اور قریب < EMA
      • نیچے کی طرف رجحان اور اعلی اتار چڑھاؤ کی نشاندہی کرتا ہے
  4. سٹاپ نقصان مقرر کریں

    • طویل سٹاپ نقصان: DI- DI+ اور ADX > 30 سے اوپر گزرتا ہے
      • رجحان کی تبدیلی کا اشارہ کرتا ہے
    • مختصر سٹاپ نقصان: DI+ DI- اور ADX > 30 سے نیچے گزرتا ہے
      • رجحان کی تبدیلی کا اشارہ کرتا ہے

خلاصہ یہ ہے کہ یہ حکمت عملی رفتار اور رجحان تجزیہ کے اشارے کو یکجا کرتی ہے جب قیمتوں میں مضبوط رجحانات سامنے آتے ہیں، نقصانات کو محدود کرنے کے لئے نقصانات کو روکنے کے ساتھ.

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

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

خطرے کا تجزیہ

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

سٹاپ نقصان کو بڑھا کر، پیرامیٹرز کو ایڈجسٹ کر کے، فلٹرز کو شامل کر کے تعدد بڑھا سکتے ہیں۔

اصلاح کے مواقع

  1. پیرامیٹر کی اصلاح
    • DI اور ADX پیرامیٹرز کو بہتر بنائیں
  2. فلٹرز شامل کریں
    • حجم، فرق وغیرہ
  3. سٹاپ نقصان کو بڑھانا
    • فریکوئنسی کو کم کرنے کے لئے آرام دہ رک جاتا ہے

نتیجہ

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
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/
// © Tamil_FNO_Trader

//@version=5
strategy("Overlay Signals by TFOT", overlay=true)

// Calculate DMI
len = input.int(14, minval=1, title="DI Length")
lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50)
[diplus, diminus, adx] = ta.dmi(len, lensig)

// Get EMA
emalen = input.int(26, minval=1, title = "EMA Length")
emasrc = input.source(close, title = "EMA Source")

my_ema(src, length) =>
    alpha = 2 / (length + 1)
    sum = 0.0
    sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1])
EMA2 = my_ema(emasrc, emalen)

// Variables
var bool buycondition1 = false
var bool sellcondition1 = false

var int firstbuybar = na
var int firstsellbar = na

var int buyexitbar = na
var int sellexitbar = na

var bool buyexit1 = false
var bool sellexit1 = false

// Buy & Sell Conditions
buycondition1 := (ta.crossover(diplus, diminus)) and (adx > 20) and (close > EMA2) and na(firstbuybar)
sellcondition1 := (ta.crossover(diminus, diplus)) and (adx > 25) and (close < EMA2) and na(firstsellbar)

buyexit1 := ta.crossover(diminus, diplus) and (adx > 30) and na(buyexitbar)
sellexit1 := ta.crossover(diplus, diminus) and (adx > 30) and na(sellexitbar)

if buycondition1
    if(na(firstbuybar))
        firstbuybar := bar_index
        buyexitbar := na
        firstsellbar := na
        strategy.entry("Buy", strategy.long)

if sellcondition1
    if(na(firstsellbar))
        firstsellbar := bar_index
        sellexitbar := na
        firstbuybar := na
        strategy.entry("Sell", strategy.short)

if buyexit1 and not na(firstbuybar)
    if(na(buyexitbar))
        buyexitbar := bar_index
        firstbuybar := na
        firstsellbar := na
        strategy.close("Buy")

if sellexit1 and not na(firstsellbar)
    if(na(sellexitbar))
        sellexitbar := bar_index
        firstsellbar := na
        firstbuybar := na
        strategy.close("Sell")

// Plot signals on chart
hl = input.bool(defval = true, title = "Signal Labels")

plotshape(hl and buycondition1 and bar_index == firstbuybar ? true : na, "Buy", style = shape.labelup, location = location.belowbar, color = color.green, text = "Buy", textcolor = color.white, size = size.tiny)
plotshape(hl and sellcondition1 and bar_index == firstsellbar ? true : na, "Sell", style = shape.labeldown, location = location.abovebar, color = color.red, text = "Sell", textcolor = color.white, size = size.tiny)

plotshape(hl and buyexit1 and bar_index == buyexitbar ? true : na, "Buy Exit", style = shape.labelup, location = location.belowbar, color = color.red, text = "Buy X", textcolor = color.white, size = size.tiny)
plotshape(hl and sellexit1 and bar_index == sellexitbar ? true : na, "Sell Exit", style = shape.labeldown, location = location.abovebar, color = color.red, text = "Sell X", textcolor = color.white, size = size.tiny)



مزید