ICHIMOKU KUMO موڑ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-27 16:36:59
ٹیگز:

img

جائزہ

Ichimoku Kumo Twist حکمت عملی Ichimoku اشارے کی تبادلوں کی لائن ، بیس لائن ، اور معروف اسپین لائنوں کا استعمال رجحان کی پیروی کرنے والی حکمت عملی کے طور پر تجارتی سگنل تیار کرنے کے لئے کرتی ہے۔ یہ کم خطرہ بریک آؤٹ پوائنٹس اور اوور بُک / اوور سیل مواقع تلاش کرنے کے لئے Ichimoku بادلوں میں موڑ کی تلاش کرکے قلیل مدتی اور درمیانی مدتی رجحان الٹ پوائنٹس کی نشاندہی کرتی ہے۔ اس حکمت عملی کا استعمال انٹر ڈے ٹریڈنگ کے ساتھ ساتھ کثیر ہفتہ انٹرمیڈیٹ ٹرم ٹریڈنگ کے لئے بھی کیا جاسکتا ہے۔

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

اس حکمت عملی میں بنیادی طور پر تین Ichimoku لائنیں استعمال ہوتی ہیں تبادلوں کی لائن ، بیس لائن ، اور لیڈنگ اسپین 1 ، شمعدانوں کی اعلی اور کم قیمتوں کے ساتھ ساتھ بادلوں کی اوپری اور نچلی حدود کا حساب لگانے کے لئے۔ تبادلوں کی لائن گذشتہ 9 شمعدانوں کے دوران اعلی اور کم کے وسط نقطہ کا حساب لگاتی ہے ، جو قلیل مدتی اوسط کی نمائندگی کرتی ہے۔ بیس لائن طویل مدتی اوسط کے طور پر گذشتہ 26 شمعدانوں کے دوران اعلی اور کم کے وسط نقطہ کا حساب لگاتی ہے۔ لیڈنگ اسپین 1 تبادلوں اور بیس لائن لائنوں کی اوسط ہے۔ لیڈنگ اسپین 2 گذشتہ 52 شمعدانوں کی وسط نقطہ کی قیمت ہے۔

خریدنے کے سگنل اس وقت پیدا ہوتے ہیں جب لیڈنگ اسپین 1 لیڈنگ اسپین 2 سے عبور کرتا ہے ، جبکہ فروخت کے سگنل اس وقت پیدا ہوتے ہیں جب لیڈنگ اسپین 1 لیڈنگ اسپین 2 کے نیچے عبور کرتا ہے۔ تجارتی حکمت عملی صرف رجحان کی تبدیلیوں کو پکڑنے کے لئے قلیل اور درمیانی مدت کے ذرائع کی تیزی اور bearish کراسوں کو ٹریک کرتی ہے۔

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

  • آئیچیموکو کلاؤڈ ٹورسٹ حکمت عملی میں قلیل مدتی اور درمیانی مدتی رجحانات دونوں کو جوڑتا ہے ، جو مؤثر طریقے سے رجحان کے الٹ پوائنٹس کی نشاندہی کرسکتا ہے۔

  • اوسط ریورسشن پر مبنی حکمت عملیوں میں شور کو فلٹر کرنے کے لئے کچھ تاخیر ہے.

  • رجحان کی طاقت کا اندازہ کرنے کے لئے بادلوں کا استعمال بہتر اندراجات اور باہر نکلنے کی اجازت دیتا ہے.

  • کوئی پیرامیٹر کی اصلاح کی ضرورت نہیں - معیاری Ichimoku پیرامیٹرز اچھی طرح کام کرتے ہیں.

خطرے کا تجزیہ

  • Ichimoku کافی پیچیدہ اندرونی ہے اور زیادہ سے زیادہ اصلاح مشکل بنانے پیرامیٹر tweaks کے لئے بہت حساس نہیں ہے.

  • رینج سے منسلک مارکیٹوں کے دوران متعدد غلط سگنل ہوسکتے ہیں۔

  • مختصر اور درمیانی مدت کے رجحانات کے درمیان اختلافات حکمت عملی کے خرابی کا سبب بن سکتے ہیں.

  • خطرہ کو کنٹرول کرنے کے لئے سٹاپ نقصانات ضروری ہیں، ورنہ بڑے ڈراؤونگ ممکن ہیں۔

بہتری کے مواقع

  • بہترین توازن تلاش کرنے کے لئے تبادلوں اور بیس لائن ادوار کے مختلف مجموعے کی جانچ کریں۔

  • دوسرے اشارے کے ساتھ فلٹرز شامل کریں تاکہ منفی تشکیلوں میں سگنل لینے سے بچیں.

  • سٹاپ نقصان کی حکمت عملی شامل کریں جیسے متحرک یا ٹریلنگ اسٹاپ۔

  • مارکیٹ کے حالات کی بنیاد پر پوزیشن سائزنگ کو بہتر بنائیں.

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

خلاصہ

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


/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Ichimoku Kumo Twist Strategy (Presets)", shorttitle="Kumo Twist Strategy", overlay=true)

xlowest_(src, len) =>
    x = src
    for i = 1 to len - 1
        v = src[i]
        if (na(v))
            break
        x := min(x, v)
    x

xlowest(src, len) =>
    na(src[len]) ? xlowest_(src, len) : lowest(src, len)

xhighest_(src, len) =>
    x = src
    for i = 1 to len - 1
        v = src[i]
        if (na(v))
            break
        x := max(x, v)
    x

xhighest(src, len) =>
    na(src[len]) ? xhighest_(src, len) : highest(src, len)

dropn(src, n) =>
    na(src[n]) ? na : src

ichiConversionPeriods(presets) =>
    if presets == "Crypto Doubled"
        20
    else
        if presets == "Crypto Singled"
            10
        else
            if presets == "Standard Doubled"
                18
            else
                9

ichiBasePeriods(presets) =>
    if presets == "Crypto Doubled"
        60
    else
        if presets == "Crypto Singled"
            30
        else
            if presets == "Standard Doubled"
                52
            else
                26

ichiLaggingSpan2Periods(presets) =>
    if presets == "Crypto Doubled"
        120
    else
        if presets == "Crypto Singled"
            60
        else
            if presets == "Standard Doubled"
                104
            else
                52

ichiDisplacement(presets) =>
    if presets == "Crypto Doubled"
        30
    else
        if presets == "Crypto Singled"
            30
        else
            if presets == "Standard Doubled"
                26
            else
                26

scaling = input(title="Scaling", options=["Linear", "Log"], defval="Linear")
presets = input(title="Presets",  options=["Crypto Doubled", "Crypto Singled", "Standard Doubled", "Standard Singled"], defval="Crypto Doubled")
dropCandles = input(1, minval=0, title="Drop first N candles")
showClouds = input(false, "Show Clouds")
stoploss = input(true, title="Stop Loss")

conversionPeriods = ichiConversionPeriods(presets)
basePeriods = ichiBasePeriods(presets)
laggingSpan2Periods = ichiLaggingSpan2Periods(presets)
displacement = ichiDisplacement(presets)
logScaling = scaling == "Log"

lows = dropn(low, dropCandles)
highs = dropn(high, dropCandles)

lowsp = logScaling ? log(lows) : lows
highsp = logScaling ? log(highs) : highs

donchian(len) =>
    avg(xlowest(lowsp, len), xhighest(highsp, len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

golong = crossover(leadLine1, leadLine2)
goshort = crossunder(leadLine1, leadLine2)

strategy.entry("Buy", strategy.long, when=golong, stop=(stoploss ? high+syminfo.mintick : na))
strategy.entry("Sell", strategy.short, when=goshort, stop=(stoploss ? low-syminfo.mintick : na))

conversionLinep = logScaling ? exp(conversionLine) : conversionLine
baseLinep = logScaling ? exp(baseLine) : baseLine
leadLine1p = logScaling ? exp(leadLine1) : leadLine1
leadLine2p = logScaling ? exp(leadLine2) : leadLine2

plot(showClouds ? conversionLinep : na, color=#0496ff, title="Conversion Line")
plot(showClouds ? baseLinep : na, color=#991515, title="Base Line")

p1 = plot(showClouds ? leadLine1p : na, offset = displacement, color=green, title="Lead 1")
p2 = plot(showClouds ? leadLine2p : na, offset = displacement, color=red, title="Lead 2")
fill(p1, p2, color = showClouds ? (leadLine1p > leadLine2p ? green : red) : na)


مزید