सीसीआई द्वैध समय-सीमा प्रवृत्ति रणनीति का पालन करना

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

img

अवलोकन

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

रणनीति तर्क

इस रणनीति का मूल तर्क यह हैः

  1. दो सीसीआई को परिभाषित करें, सीआई1 को 14 अवधि और सीआई2 को 56 अवधि के रूप में परिभाषित करें
  2. जब ci1 ci2 से ऊपर टूट जाता है, लंबे समय तक जाओ
  3. जब ci1 ci2 से नीचे टूट जाता है, शॉर्ट जाओ
  4. सिग्नल ट्रिगर के बाद बाहर निकलने का निर्धारण करने के लिए ci1 और ci2 के मूल्यों का उपयोग करें

विशेष लम्बे नियम:

  1. ci1 ci2 से ऊपर टूट जाता है, अधिक अवधि CCI से अधिक अवधि CCI से कम अवधि CCI
  2. स्टॉप लॉस की स्थितिः ci1 <-50 और परिवर्तन दर < 0 या ci1 ब्रेक -100 से नीचे

विशेष संक्षिप्त नियम:

  1. सीआई1 सीआई2 से नीचे टूट जाता है, छोटी अवधि सीसीआई लंबी अवधि सीसीआई से नीचे
  2. स्टॉप लॉस की स्थिति: ci1 > 100 और परिवर्तन दर > 0 या ci2 100 से ऊपर टूट जाता है

जैसा कि हम देख सकते हैं, यह रणनीति रुझानों की पहचान करने और उनका अनुसरण करने के लिए कम अवधि के CCI की संवेदनशीलता और लंबी अवधि के CCI की स्थिरता का लाभ उठाती है।

लाभ

इस रणनीति के फायदे:

  1. सीसीआई संकेतक की ताकत का उपयोग करके प्रभावी ढंग से रुझानों की पहचान करता है
  2. दोहरी सीसीआई डिजाइन कुछ शोर ट्रेडों को फ़िल्टर करता है
  3. लंबी और छोटी अवधि के सीसीआई का संयोजन रुझानों का अनुसरण करते हुए जोखिम को नियंत्रित करता है
  4. सरल और स्पष्ट रणनीति नियम, समझने और लागू करने में आसान
  5. अत्यधिक विन्यास योग्य, सीसीआई अवधि और स्टॉप लॉस दोनों स्थितियां अनुकूलन योग्य हैं

जोखिम

कुछ जोखिम भी हैं:

  1. सीसीआई का उपयोग करके सीमा-बंद और अस्थिर बाजारों की पहचान करने की कमजोर क्षमता
  2. लंबी और छोटी अवधि के सीसीआई के बीच विचलन हो सकता है, जिससे गलत संकेत हो सकते हैं
  3. गलत स्टॉप लॉस सेटिंग से भारी नुकसान हो सकता है
  4. अनुचित पैरामीटर ट्यूनिंग भी काफी हद तक रणनीति लाभप्रदता को प्रभावित करता है

समाधान:

  1. बाजार की स्थिति निर्धारित करने के लिए अन्य संकेतकों को शामिल करें, अस्थिर अवधि में व्यापार से बचें
  2. सीसीआई विचलन से त्रुटियों से बचने के लिए फ़िल्टर जोड़ें
  3. विभिन्न स्टॉप लॉस स्तरों को अनुकूलित और परीक्षण करें
  4. बैकटेस्टिंग और ट्यूनिंग के माध्यम से उपयुक्त पैरामीटर सेट ढूंढें

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

ऐसे क्षेत्र जिनमें रणनीति को और अधिक अनुकूलित किया जा सकता हैः

  1. अधिक व्यवस्थित व्यापार प्रणाली के निर्माण के लिए अधिक संकेतक जोड़ें
  2. सप्ताह के दिनों और सत्रों के बीच परीक्षण लाभप्रदता अंतर
  3. मशीन लर्निंग का उपयोग करके बेहतर मापदंडों की खोज
  4. विभिन्न उत्पादों के लिए ट्यून पैरामीटर
  5. प्रवेश और निकास नियमों को अनुकूलित करें

निष्कर्ष

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


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

//@version=3
strategy(title="my work",calc_on_order_fills=true,currency=currency.USD, default_qty_type=strategy.percent_of_equity,commission_type=strategy.commission.percent)


source = close
shortlength=input(14)
longlength=input(56)
aa=input(2)
Ss=input(75)

//Cci part
ci1=cci(source,shortlength)   //4시간봉의 기본 cci
ci2=cci(source,longlength)   //4시간봉에서 12시봉의 cci 무빙측정

//오린간 선생님의 WT + ichimoku
len = input(10)
lenTurn = input(9)
lenStd = input(26)

wtm_e(so, l) =>
    esa = ema(so, l)
    d = ema(abs(so - esa), l)
    ci = (so - esa) / (0.015 * d)
    ema(ci, l*2+1)

alh(len) => avg(lowest(len), highest(len))
alh_src(src, len) => avg(lowest(src, len), highest(src, len))

wt = wtm_e(close,len)
turn = alh_src(wt, lenTurn)
std = alh_src(wt, lenStd)

cnt = 0
if wt > turn
    cnt:=cnt+1
if wt > std
    cnt:=cnt+1


//100,-100선
h0 = hline(100)
h1 = hline(-100)

//plot(ci,color=green)
// plot(k,color=green)
// plot(d,color=red)
plot(ci1,color=green)
plot(ci2,color=red)

plot(0,color=black)
plot(100,color=black)
plot(-100,color=black)

fill(h0,h1,color=purple,transp=95)

bgcolor(cnt==0 ? red : cnt==1 ? blue : cnt == 2 ? green : na, transp = Ss)

//기간조정

Fromday = input(defval=1, title="from day", minval=1, maxval=31)
FromMonth = input(defval=1, title="from month", minval=1, maxval=12)
FromYr = input(defval=2019, title="from yr", minval=1970)

Today = input(defval=13, title="to day", minval=1, maxval=31)
ToMonth = input(defval=12, title="to month", minval=1, maxval=12)
ToYr = input(defval=2019, title="to yr", minval=1970)

startDate = timestamp(FromYr, FromMonth, Fromday, 00, 00)
finishDate = timestamp(ToYr, ToMonth, Today, 00, 00)
Time_cond = true


/////롱

if  crossover(ci1,ci2) and change(ci2)>0 and Time_cond
    strategy.entry("go", strategy.long, comment="go")
    
strategy.close("go", (ci2<0 and ci1 <-50 and change(ci1)<0) or (crossunder(ci1,-100) and strategy.openprofit<0) and change(cnt)<0)



/////숏

if  (crossunder(ci1,ci2) and change(ci2)<0 and falling(ci1,aa)) and Time_cond
    strategy.entry("die", strategy.short, comment="die")
    
strategy.close("die", (ci2>0 and ci1 > 100 and change(ci1)>0) or (crossover(ci2,100) and strategy.openprofit<0) and change(cnt)>0)

अधिक