संसाधन लोड हो रहा है... लोड करना...

डबल मूविंग एवरेज क्रॉसओवर रणनीति के साथ शाफ ट्रेंड चक्र

लेखक:चाओझांग, दिनांक: 2023-12-12 17:43:19
टैगः

img

अवलोकन

इस रणनीति का नाम है डबल मूविंग एवरेज क्रॉसओवर रणनीति के साथ शाफ ट्रेंड साइकिल । मुख्य विचार शाफ ट्रेंड साइकिल (एसटीसी) संकेतक और डबल मूविंग एवरेज क्रॉसओवर के आधार पर लंबी और छोटी स्थिति निर्धारित करना है। विशेष रूप से, जब एसटीसी ओवरबॉट या ओवरसोल्ड क्षेत्रों से बाहर निकलता है, तो कीमत तेजी से घातीय चलती औसत से ऊपर होती है, और तेजी से ईएमए धीमी ईएमए से ऊपर होता है, तो एक लंबी स्थिति खोली जाती है। इसके विपरीत, एक छोटी स्थिति खोली जाती है।

रणनीति तर्क

यह रणनीति मुख्य रूप से दो तकनीकी संकेतकों पर आधारित हैः

  1. प्रवृत्ति संकेतक: प्रवृत्ति दिशा निर्धारित करने के लिए एसटीसी संकेतक। एसटीसी में एमएसीडी, स्टोकास्टिक और एसटीसी संकेतक रेखा शामिल है। 0-25 क्षेत्र से ऊपर की ओर ब्रेकआउट एक तेजी की प्रवृत्ति का संकेत देता है, जबकि 75-100 क्षेत्र से नीचे की ओर ब्रेकआउट एक मंदी की प्रवृत्ति का संकेत देता है।

  2. मूविंग एवरेज क्रॉसओवरः फास्ट सिंपल मूविंग एवरेज (डिफ़ॉल्ट पीरियड 35) धीमी एसएमए (डिफ़ॉल्ट पीरियड 200) के ऊपर/नीचे क्रॉस करता है। जब तेज एसएमए धीमी एसएमए के ऊपर पार करता है तो एक तेजी का संकेत ट्रिगर होता है। विपरीत क्रॉसओवर पर एक मंदी का संकेत ट्रिगर होता है।

ट्रेडिंग सिग्नल तर्क को निम्नानुसार परिभाषित किया गया हैः

  1. लंबा संकेतः एसटीसी 25 लाइन से ऊपर टूट जाता है, तेज एसएमए धीमी एसएमए से ऊपर है, और बंद मूल्य तेज एसएमए से ऊपर है।

  2. शॉर्ट सिग्नलः एसटीसी 75 लाइन से नीचे टूट जाता है, तेज एसएमए धीमी एसएमए से नीचे है, और बंद मूल्य तेज एसएमए से नीचे है।

लाभ विश्लेषण

इस रणनीति के लाभों में निम्नलिखित शामिल हैंः

  1. ट्रेंड और चलती औसत संकेतकों के संयोजन से विश्वसनीय ट्रेडिंग संकेत। एसटीसी समग्र प्रवृत्ति निर्धारित करता है, जबकि डबल एमए विशिष्ट प्रवेश संकेत उत्पन्न करते हैं।

  2. अनुकूलन योग्य चलती औसत अवधि। एमए अवधि को विभिन्न बाजार स्थितियों के लिए अनुकूलित किया जा सकता है।

  3. नियंत्रित जोखिम. एसटीसी ओवरबॉट/ओवरसोल्ड स्तरों की पहचान करता है ताकि शीर्ष खरीदने और नीचे बेचने से बचा जा सके. लक्ष्य स्टॉप 400 अंक लाभ/नुकसान सीमा निर्धारित करता है.

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

विचार करने के लिए कुछ जोखिम हैंः

  1. एसटीसी के झूठे ब्रेकआउट की संभावना है। मूल्य कार्रवाई द्वारा पुष्टि की जानी चाहिए।

  2. एमए क्रॉस से अधिक झूठे संकेत। एमए अवधि के समायोजन की आवश्यकता है।

  3. एक समय में केवल एक दिशा में व्यापार करता है. खुली स्थिति के लिए जगह सीमित करता है. दो-दिशात्मक व्यापार की अनुमति देने पर विचार करें.

  4. मार्जिन एफएक्स ट्रेडिंग में स्प्रेड जोखिम का कोई प्रबंधन नहीं। लाइव ट्रेडिंग में स्प्रेड काफी हो सकता है।

अनुकूलन

संभावित अनुकूलन मार्गों में शामिल हैंः

  1. एसटीसी ओवरबॉट/ओवरसोल्ड मापदंडों को समायोजित करें।

  2. क्रॉसओवर सिग्नल की विश्वसनीयता में सुधार के लिए एमए अवधि का अनुकूलन करना।

  3. झूठे ब्रेकआउट ट्रेडों को कम करने के लिए बोलिंगर बैंड जैसे अतिरिक्त फ़िल्टर जोड़ें।

  4. क्षमता बढ़ाने के लिए दो-दिशात्मक व्यापारिक तर्क लागू करें।

  5. प्रति व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस लॉजिक जोड़ें।

निष्कर्ष

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


/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Shaff Trend Cycle coded by Alex Orekhov (everget)
// Strategy and its additional conditions provided by greenmask
// Schaff Trend Cycle script may be freely distributed under the MIT license.
strategy("STC", shorttitle="STC")

fastLength = input(title="MACD Fast Length", type=input.integer, defval=23)
slowLength = input(title="MACD Slow Length", type=input.integer, defval=50)
cycleLength = input(title="Cycle Length", type=input.integer, defval=10)
d1Length = input(title="1st %D Length", type=input.integer, defval=3)
d2Length = input(title="2nd %D Length", type=input.integer, defval=3)
src = close
highlightBreakouts = input(title="Highlight Breakouts ?", type=input.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] ? color.green : color.red) : #ff3013
stcPlot = plot(stc, title="STC", color=stcColor, transp=0)
upper = 75
lower = 25
transparent = color.new(color.white, 100)
upperLevel = plot(upper, title="Upper", color=color.gray)
hline(50, title="Middle", linestyle=hline.style_dotted)
lowerLevel = plot(lower, title="Lower", color=color.gray)

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

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

fill(upperLevel, stcPlot, color=upperFillColor, transp=80)
fill(lowerLevel, stcPlot, color=lowerFillColor, transp=80)
strategy.initial_capital = 50000
ordersize=floor(strategy.initial_capital/close)
targetvalue = input(title="Target/stop", type=input.integer, defval=400)

ma1length = input(title="SMA1", type=input.integer, defval=35)
ma2length = input(title="SMA2", type=input.integer, defval=200)
ma1 = ema(close,ma1length)
ma2 = ema(close,ma2length)

bullbuy = crossover(stc, lower) and ma1>ma2 and close>ma1
bearsell = crossunder(stc, upper) and ma1<ma2 and close<ma1

if (bullbuy)
    strategy.entry("Riposte", strategy.long, ordersize)
    strategy.exit( "Riposte close", from_entry="Riposte", qty_percent=100, profit=targetvalue,loss=targetvalue)

if (bearsell)
    strategy.entry("Riposte", strategy.short, ordersize)
    strategy.exit( "Riposte close", from_entry="Riposte", qty_percent=100, profit=targetvalue,loss=targetvalue)

//plotshape(bullbuy,  title= "Purple", location=location.belowbar, color=#006600, transp=0, style=shape.circle, size=size.tiny, text="Riposte")
//plotshape(bearsell,  title= "Purple", location=location.abovebar, color=#006600, transp=0, style=shape.circle, size=size.tiny, text="Riposte")
















अधिक