गोल्डन क्रॉस पर आधारित ट्रेंड ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-23 14:07:11
टैगः

img

अवलोकन

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

सिद्धांत

इस रणनीति के मुख्य संकेतक एसआर संकेतक और एसआर संकेत संकेतक हैं। एसआर संकेतक 8 की अवधि के साथ डब्ल्यूएमए चलती औसत और एसएमए चलती औसत का एक माध्यमिक संश्लेषण है। एसआर संकेत संकेतक 20 की अवधि के साथ गणना की गई एसआर संकेतक है। एसआर संकेतक और एसआर संकेत के स्वर्ण क्रॉस और मौतों का उपयोग प्रवृत्ति की दिशा निर्धारित करने के लिए किया जाता है।

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

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

लाभ

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

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

इस रुझान ट्रैकिंग रणनीति के मुख्य जोखिम हैंः

  • कई झूठे संकेत और अस्थिर रुझानों में अत्यधिक अमान्य संचालन उत्पन्न करता है;
  • अचानक घटनाओं के कारण चैनल की निचली सीमा के नीचे तेजी से टूटने से भारी नुकसान होता है;
  • अनुचित पैरामीटर सेटिंग्स आसानी से रणनीति विफलता का कारण बन सकती हैं।

जोखिमों को नियंत्रित करने के लिए, एक ही रणनीति पर भरोसा करने के बजाय अन्य रणनीतियों के साथ संयोजन की सिफारिश की जाती है; एक ही समय में विभिन्न बाजार वातावरणों के अनुकूल होने के लिए पैरामीटर सेटिंग्स को अनुकूलित करना।

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

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

  1. क्रॉसओवर सिग्नल की स्थिरता में सुधार के लिए एसआर सूचक और सिग्नल सूचक के मापदंडों का अनुकूलन करना।

  2. चैनल वक्र को चिकना करने के लिए अनुकूलन चैनल की चक्र अवधि को अनुकूलित करें;

  3. अन्य फ़िल्टर संकेतक जोड़ें, जैसे कि ऊर्जा संकेतक, अस्थिरता संकेतक आदि;

  4. वास्तविक समय में चैनल वक्रों को अनुकूलित करने और अनुकूलन क्षमता में सुधार करने के लिए गहरी सीखने के एल्गोरिदम को शामिल करें।

सारांश

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


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

//@version=4
//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

strategy(title = " Strategy PyramiCover",
         shorttitle = "S-PC",
         overlay = true,
         precision = 8,
         calc_on_order_fills = true,
         calc_on_every_tick = true,
         backtest_fill_limits_assumption = 0,
         default_qty_type = strategy.fixed,
         default_qty_value = 2,
         initial_capital = 10000,
         pyramiding=50,
         currency = currency.USD,
         linktoseries = true)

//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

backTestSectionFrom = input(title = "═══════════════ From ═══════════════", defval = true, type = input.bool)

FromMonth         = input(defval = 1, title = "Month", minval = 1)
FromDay           = input(defval = 1, title = "Day", minval = 1)
FromYear          = input(defval = 2014, title = "Year", minval = 2014)

backTestSectionTo = input(title = "════════════════ To ════════════════", defval = true, type = input.bool)
ToMonth           = input(defval = 31, title = "Month", minval = 1)
ToDay             = input(defval = 12, title = "Day", minval = 1)
ToYear            = input(defval = 9999, title = "Year", minval = 2014)

backTestPeriod() => (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))

//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

per = input(14,title="🔹 Length")
//
up = 0.0
nup= 0.0
lowl = 0.0
nin = 0.0
//
srl=wma(close,8)
srr = sma(close,8)
sr = 2*srl - srr
//
srsl=wma(close,20)
srsr= sma(close,20)
srsignal = 2*srsl - srsr
//
if sr>srsignal
    up := highest(sr,round(150))
    nup :=highest(srsignal,round(20))
else
    up := highest(srsignal,round(150))
    nup := highest(sr,round(20))
//
if sr<srsignal
    lowl := lowest(sr,round(150))
    nin := lowest(srsignal,round(20))
else
    lowl := lowest(sr,round(150))
    nin := lowest(srsignal,round(20))
//reg alexgrover
f_reg(src,length)=>
    x = bar_index
    y = src
    x_ = sma(x, length)
    y_ = sma(y, length)
    mx = stdev(x, length)
    my = stdev(y, length)
    c = correlation(x, y, length)
    slope = c * (my / mx)
    inter = y_ - slope * x_
    reg = x * slope + inter
    reg
//
up_=f_reg(up,per)
lowl_=f_reg(lowl,per)
nup_=f_reg(nup,per)
nin_=f_reg(nin,per)
//
plot(sr, title='SR', color=color.green, linewidth=2, style=plot.style_line,transp=0)
plot(srsignal, title='SR-Signal', color=color.red, linewidth=2, style=plot.style_line,transp=0)
plot(up_, title='Upper limit', color=color.blue, linewidth=3, style=plot.style_line,transp=0)
plot(lowl_, title='Lower limit', color=color.blue, linewidth=3, style=plot.style_line,transp=0)
a=plot(nup_, title='Neuronal Upper', color=color.gray, linewidth=1, style=plot.style_line,transp=0)
b=plot(nin_, title='Neuronal Lower', color=color.gray, linewidth=1, style=plot.style_line,transp=0)
fill(a, b, color=color.gray)
plotshape(crossunder(sr,nup_)? sr+atr(20):na, title="Sell", text="🐻", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.black,transp=0)
plotshape(crossover(sr,nin_)? sr-atr(20):na, title="Buy", text="🐂", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.black,transp=0)

//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

if backTestPeriod()

    strategy.entry("Buy", true, 1, when = crossover(sr,nin_)) 
    strategy.entry("Short", false, 1, when = crossunder(sr,nup_))

अधिक