शेफ ट्रेंड चक्र गति रणनीति के बाद

लेखक:चाओझांग, दिनांक: 2023-11-01 16:08:35
टैगः

img

अवलोकन

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

रणनीति तर्क

    1. एमएसीडी की गणना करें, जहां डिफ़ॉल्ट फास्ट लेंथ 23 है और स्लो लेंथ 50 है। एमएसीडी मूल्य गति का न्याय करने के लिए अल्पकालिक और दीर्घकालिक चलती औसत के बीच अंतर को दर्शाता है।
    1. स्टॉक आरएसआई को एमएसीडी पर लागू करें ताकि के मान बन सके, जहां डिफ़ॉल्ट चक्र लंबाई 10 है, जो एमएसीडी गति मेट्रिक के ओवरबॉट/ओवरसोल्ड स्तरों को दर्शाता है।
    1. K के भारित चलती औसत को D के रूप में लें, जहां डिफ़ॉल्ट 1st %D लंबाई 3 है, ताकि K से शोर हटाया जा सके।
    1. स्टॉक आरएसआई को फिर से डी पर लागू करें ताकि प्रारंभिक एसटीसी मान बन सके, जहां डिफ़ॉल्ट 2nd %D लंबाई 3 है, ताकि सटीक ओवरबॉट/ओवरसोल्ड सिग्नल बनाए जा सकें।
    1. प्रारंभिक एसटीसी के भारित चलती औसत को लें, ताकि अंतिम एसटीसी मूल्य प्राप्त हो सके, जो 0 से 100 तक है। 75 से ऊपर एसटीसी ओवरबॉट है, 25 से नीचे ओवरसोल्ड है।
    1. जब एसटीसी 25 से ऊपर की ओर बढ़ता है तो लंबा और जब एसटीसी 75 से नीचे की ओर बढ़ता है तो छोटा हो जाता है।

लाभ

    1. स्टॉक आरएसआई को जोड़कर एसटीसी का डिज़ाइन स्पष्ट रूप से ओवरबॉट/ओवरसोल्ड क्षेत्रों की पहचान करता है, जो मजबूत ट्रेंड सिग्नल बनाते हैं।
    1. दोहरी स्टोच आरएसआई फ़िल्टरिंग प्रभावी रूप से झूठे ब्रेकआउट को हटा देती है।
    1. एसटीसी की मानकीकृत 0-100 रेंज सीधे यांत्रिक व्यापार संकेतों की अनुमति देती है।
    1. बैकटेस्ट स्पष्ट और सहज सिग्नल कैप्चर के लिए दृश्य ब्रेकआउट मार्किंग और टेक्स्ट पॉपअप अलर्ट को लागू करता है।
    1. अनुकूलित डिफ़ॉल्ट पैरामीटर अतिसंवेदनशील संकेतों और अनावश्यक ट्रेडों से बचते हैं।

जोखिम

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

बढ़ोतरी के अवसर

    1. विभिन्न अवधियों और सिक्कों के लिए एमएसीडी मापदंडों का अनुकूलन करें।
    1. स्टोक आरएसआई के और डी मूल्यों को एसटीसी वक्र को चिकना करने के लिए परिष्कृत करें।
    1. कम तरलता वाले झूठे ब्रेकआउट से बचने के लिए वॉल्यूम फ़िल्टर जोड़ें।
    1. संकेतों की पुष्टि के लिए अतिरिक्त संकेतकों को शामिल करें, जैसे बोलिंगर बैंड।
    1. स्टॉप तंत्र जैसे कि चलती/एटीआर स्टॉप जोड़ें।
    1. प्रवृत्ति की पुष्टि के लिए ब्रेकआउट के बाद पॉलआउट पर प्रविष्टि को समायोजित करें।

निष्कर्ष

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


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Schaff Trend Cycle script may be freely distributed under the MIT license.
strategy("Schaff Trend Cycle", shorttitle="STC Backtest", overlay=true)

fastLength = input(title="MACD Fast Length",  defval=23)
slowLength = input(title="MACD Slow Length",  defval=50)
cycleLength = input(title="Cycle Length",  defval=10)
d1Length = input(title="1st %D Length",  defval=3)
d2Length = input(title="2nd %D Length",  defval=3)
src = input(title="Source",  defval=close)
highlightBreakouts = input(title="Highlight Breakouts ?", type=bool, defval=true)

macd = ema(src, fastLength) - ema(src, slowLength)

k = nz(fixnan(stoch(macd, macd, macd, cycleLength)))

d = ema(k, d1Length)

kd = nz(fixnan(stoch(d, d, d, cycleLength)))

stc = ema(kd, d2Length)
stc := 	stc > 100 ? 100 : stc < 0 ? 0 : stc

//stcColor = not highlightBreakouts ? (stc > stc[1] ? green : red) : #ff3013
//stcPlot = plot(stc, title="STC", color=stcColor, transp=0)

upper = input(75, defval=75)
lower = input(25, defval=25)

transparent = color(white, 100)

upperLevel = plot(upper, title="Upper", color=gray)
// hline(50, title="Middle", linestyle=dotted)
lowerLevel = plot(lower, title="Lower", color=gray)

fill(upperLevel, lowerLevel, color=#f9cb9c, transp=90)

upperFillColor = stc > upper and highlightBreakouts ? green : transparent
lowerFillColor = stc < lower and highlightBreakouts ? red : transparent

//fill(upperLevel, stcPlot, color=upperFillColor, transp=80)
//fill(lowerLevel, stcPlot, color=lowerFillColor, transp=80)

long =  crossover(stc, lower) ? lower : na
short = crossunder(stc, upper) ? upper : na

long_filt = long and not short
short_filt = short and not long

prev = 0
prev := long_filt ? 1 : short_filt ? -1 : prev[1]

long_final = long_filt and prev[1] == -1
short_final = short_filt and prev[1] == 1

strategy.entry("long", strategy.long, when = long )
strategy.entry("short", strategy.short, when = short)

plotshape(crossover(stc, lower) ? lower : na, title="Crossover", location=location.absolute, style=shape.circle, size=size.tiny, color=green, transp=0)
plotshape(crossunder(stc, upper) ? upper : na, title="Crossunder", location=location.absolute, style=shape.circle, size=size.tiny, color=red, transp=0)

alertcondition(long_final, "Long", message="Long")
alertcondition(short_final,"Short", message="Short")

plotshape(long_final, style=shape.arrowup, text="Long", color=green, location=location.belowbar)
plotshape(short_final, style=shape.arrowdown, text="Short", color=red, location=location.abovebar)


अधिक