यह रणनीति सीसीआई संकेतक पर आधारित एक प्रवृत्ति के बाद की रणनीति है। यह विभिन्न समय सीमाओं के दो सीसीआई के बीच क्रॉसओवर की निगरानी करके ट्रेडिंग सिग्नल उत्पन्न करती है। विशेष रूप से, यह पता लगाएगी कि क्या एक छोटी अवधि की सीसीआई एक लंबी अवधि की सीसीआई को तोड़ती है और सफलता की दिशा के आधार पर लंबी या छोटी स्थिति निर्धारित करती है।
इस रणनीति का मूल तर्क यह हैः
विशेष लम्बे नियम:
विशेष संक्षिप्त नियम:
जैसा कि हम देख सकते हैं, यह रणनीति रुझानों की पहचान करने और उनका अनुसरण करने के लिए कम अवधि के CCI की संवेदनशीलता और लंबी अवधि के CCI की स्थिरता का लाभ उठाती है।
इस रणनीति के फायदे:
कुछ जोखिम भी हैं:
समाधान:
ऐसे क्षेत्र जिनमें रणनीति को और अधिक अनुकूलित किया जा सकता हैः
निष्कर्ष में, यह सीसीआई क्रॉसओवर पर आधारित एक सरल प्रवृत्ति के बाद की रणनीति है। यह प्रभावी रूप से प्रवृत्ति की दिशा की पहचान कर सकता है और रुझानों का पालन कर सकता है। इस बीच यह स्टॉप लॉस के माध्यम से जोखिम को नियंत्रित करता है। यह रणनीति सरल, व्यावहारिक, पैरामीटर ट्यूनिंग में लचीली है, और एक स्टार्टर क्वांट रणनीति के रूप में कार्य कर सकती है। इसे आगे के अनुकूलन और संयोजन के माध्यम से अधिक शक्तिशाली प्रणाली में बढ़ाया जा सकता है।
/*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)