इचिमोकु कुमो ट्विस्ट सोने को अवशोषित करने की रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-28 16:12:09
टैगः

img

अवलोकन

इचिमोकू कुमो ट्विस्ट गोल्ड-अब्जॉर्बिंग रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो इचिमोकू बाजार तकनीकी संकेतक और रेंज फ़िल्टरिंग को जोड़ती है। यह बाजार के रुझानों और महत्वपूर्ण समर्थन और प्रतिरोध स्तरों को निर्धारित करने के लिए इचिमोकू संकेतक का उपयोग करता है, साथ ही साथ ट्रेडिंग संकेत उत्पन्न करने के लिए कैंडलस्टिक पैटर्न के साथ। इस बीच, रेंज फ़िल्टरिंग ट्रेडिंग आवृत्ति और जोखिम को नियंत्रित करने में मदद करती है।

रणनीतिक सिद्धांत

रणनीति मुख्य रूप से बाजार के रुझानों का न्याय करने के लिए इचिमोकू संकेतक और कैंडलस्टिक पैटर्न पर आधारित है। इचिमोकू में रूपांतरण रेखा, आधार रेखा और बादल रेखाएं होती हैं, उनके क्रॉसओवर संबंध बाजार के रुझानों को इंगित करते हैं। बादल रेखाएं समर्थन और प्रतिरोध स्तर के रूप में भी कार्य करती हैं। रणनीति इचिमोकू रेखाओं की संवेदनशीलता को समायोजित करने के लिए विभिन्न पैरामीटर संयोजन सेट करती है। इसके अलावा, रणनीति पैटर्न की पहचान करती है और खरीद संकेत उत्पन्न करती है जब रूपांतरण रेखा आधार रेखा के ऊपर पार करती है, और नीचे पार करते समय संकेत बेचती है।

इसके अलावा, रणनीति में दिनांक सीमा फ़िल्टर सेट किए गए हैं, ताकि यह केवल निर्दिष्ट दिनांक सीमाओं के भीतर ही व्यापार करे। यह व्यापार आवृत्ति को नियंत्रित करता है। इसके अलावा, स्टॉप लॉस सेटिंग मूल्य प्रतिकूल दिशा में चलने पर नुकसान को रोककर जोखिम को कम करने में मदद करती है।

लाभ विश्लेषण

  • बाजार के रुझानों का न्याय करने के लिए इचिमोकू संकेतक का उपयोग करें, संवेदनशीलता के लिए समायोज्य मापदंड
  • कैंडलस्टिक पैटर्न पहचान से स्पष्ट ट्रेडिंग संकेत
  • दिनांक सीमा फ़िल्टर व्यापार आवृत्ति को नियंत्रित करता है
  • जोखिम को कम करने के लिए समय पर स्टॉप लॉस की सेटिंग

जोखिम विश्लेषण

  • इचिमोकू के पीछे पड़ने से तेजी से बदलते रुझानों में कमी आ सकती है
  • दिनांक सीमा फ़िल्टर कुछ व्यापारिक अवसरों को याद कर सकता है
  • गलत स्टॉप लॉस सेटिंग से नुकसान बढ़ सकता है

इचिमोकू मापदंडों को समायोजित करने, दिनांक सीमा को अनुकूलित करने, स्टॉप लॉस बिंदुओं को संशोधित करने जैसे तरीके जोखिमों को बेहतर और नियंत्रित कर सकते हैं।

अनुकूलन दिशाएँ

  • इष्टतम Ichimoku विन्यास खोजने के लिए विभिन्न पैरामीटर संयोजनों का परीक्षण करें
  • अन्य संकेतकों के साथ संयोजन Ichimoku पिछड़ रहे मुद्दों से बचने के लिए
  • दिनांक सीमा सेटिंग्स को अनुकूलित करने के लिए बैकटेस्ट
  • सशर्त गतिशील ट्रेलिंग स्टॉप लॉस सेट करें

सारांश

इचिमोकू कुमो ट्विस्ट गोल्ड-अब्जॉर्बिंग रणनीति बाजार के रुझानों को निर्धारित करने के लिए इचिमोकू संकेतक, कैंडलस्टिक पैटर्न मान्यता, रेंज फ़िल्टरिंग को एकीकृत करती है। यह काफी स्पष्ट रूप से प्रवृत्ति दिशाओं को समझ सकती है। पैरामीटर ट्यूनिंग, जोखिम नियंत्रण आदि जैसे साधनों के माध्यम से, अच्छी रणनीति प्रदर्शन प्राप्त किया जा सकता है। लेकिन इचिमोकू पिछड़ने की समस्या को ध्यान में रखा जाना चाहिए, और निरंतर अनुकूलन समायोजन किया जाना चाहिए।


/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 3m
basePeriod: 1m
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 == "Cpt 20 60 120 30"
        20
    else
        if presets == "Cpt 10 30 60 30"
            10
        else
            if presets == "Std 18 52 104 26"
                18
            else
                9

ichiBasePeriods(presets) =>
    if presets == "Cpt 20 60 120 30"
        60
    else
        if presets == "Cpt 10 30 60 30"
            30
        else
            if presets == "Std 18 52 104 26"
                52
            else
                26

ichiLaggingSpan2Periods(presets) =>
    if presets == "Cpt 20 60 120 30"
        120
    else
        if presets == "Cpt 10 30 60 30"
            60
        else
            if presets == "Std 18 52 104 26"
                104
            else
                52

ichiDisplacement(presets) =>
    if presets == "Cpt 20 60 120 30"
        30
    else
        if presets == "Cpt 10 30 60 30"
            30
        else
            if presets == "Std 18 52 104 26"
                26
            else
                26

scaling = input(title="Scaling", options=["Linear", "Log"], defval="Linear")
presets = input(title="Presets", options=["Cpt 20 60 120 30", "Cpt 10 30 60 30", "Std 18 52 104 26", "Std 9 26 52 26"], defval="Cpt 20 60 120 30")
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)

// === BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1)
FromDay   = input(defval = 3, title = "From Day", minval = 1)
FromYear  = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2014)

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

strategy.entry("Buy", strategy.long, when=(golong and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))
strategy.entry("Sell", strategy.short, when=(goshort and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))

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)


अधिक