এই কৌশলটি সিসিআই সূচকের উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী কৌশল। এটি বিভিন্ন সময়সীমার দুটি সিসিআইয়ের মধ্যে ক্রসওভার পর্যবেক্ষণ করে ট্রেডিং সংকেত উত্পন্ন করে। বিশেষত, এটি যদি একটি স্বল্প সময়ের সিসিআই একটি দীর্ঘ সময়ের সিসিআই ভেঙে যায় তবে এটি সনাক্ত করবে এবং অগ্রগতির দিকের উপর ভিত্তি করে দীর্ঘ বা সংক্ষিপ্ত অবস্থান নির্ধারণ করবে।
এই কৌশলটির মূল যুক্তি হল:
নির্দিষ্ট দীর্ঘ নিয়মঃ
সংক্ষিপ্ত বিশেষ নিয়মঃ
যেমনটি আমরা দেখতে পাচ্ছি, এই কৌশলটি প্রবণতা সনাক্ত এবং অনুসরণ করার জন্য স্বল্প সময়ের 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)