ডুয়াল এমএসিডি বিপরীত ট্রেডিং কৌশল একটি পরিমাণগত ট্রেডিং কৌশল যা ট্রেন্ড বিপরীত সংকেত সনাক্ত করতে এমএসিডি সূচক ব্যবহার করে। এই কৌশলটি কেনার সংকেত নিশ্চিত করতে এবং কিছু মিথ্যা বিপরীত ফিল্টার করতে আরভিআই সূচক এবং সিসিআই সূচককে একত্রিত করে। এই কৌশলটি ইনট্রাডে এবং স্বল্পমেয়াদী ট্রেডিংয়ের জন্য উপযুক্ত।
কৌশলটি মূলত এমএসিডি সূচকের উপর ভিত্তি করে। এমএসিডি হ'ল দ্রুত চলমান গড় ইএমএ ((১২) বিয়োগ করে ধীর চলমান গড় ইএমএ ((২৬) দ্রুত রেখা পেতে, এবং তারপরে ধীর রেখা হিসাবে সিগন্যাল ((৯) ব্যবহার করুন। যখন দ্রুত রেখাটি একটি গোল্ডেন ক্রস তৈরি করতে ধীর রেখার উপরে অতিক্রম করে, এটি উত্থানমুখী হয়; যখন দ্রুত রেখাটি একটি মৃত ক্রস তৈরি করতে ধীর রেখার নীচে অতিক্রম করে, এটি হ্রাস হয়।
এই কৌশলটি বিপরীতমুখী সুযোগগুলি সনাক্ত করতে দ্বৈত সময় ফ্রেম এমএসিডি সূচক ব্যবহার করে। কৌশলটি সামগ্রিক প্রবণতা দিক নির্ধারণ করতে 6 ঘন্টা এমএসিডি এবং বিপরীতমুখী সংকেতগুলি সন্ধানের জন্য 1 ঘন্টা এমএসিডি ব্যবহার করে। যখন 6 ঘন্টা এমএসিডি একটি আপট্রেন্ডে থাকে, যদি 1 ঘন্টা দ্রুত লাইনটি একটি মৃত্যুর ক্রস সংকেত তৈরি করতে ধীর রেখার নীচে অতিক্রম করে, এটি নির্দেশ করে যে দামটি উপরে ফিরে যেতে পারে। এই মুহুর্তে, আরও নিশ্চিত করতে এবং ক্রয় সংকেত তৈরি করতে আরভিআই সূচক এবং সিসিআই সূচক একত্রিত করুন।
আরভিআই সূচকটি সর্বাধিক সাম্প্রতিক কয়েকটি মোমবাতিগুলির সর্বোচ্চ এবং সর্বনিম্ন দামের তুলনায় বন্ধের মূল্য এবং খোলার মূল্যের মধ্যে সম্পর্ককে পরিমাপ করে। 0.2 এর নীচে একটি আরভিআই ওভারসোল্ড হিসাবে বিবেচিত হয়। -100 এর নীচে সিসিআই সূচক ওভারসোল্ড নির্দেশ করে। সুতরাং কৌশলটি ক্রয় সংকেত নিশ্চিত করতে সহায়তা করার জন্য 0.2 এর নীচে আরভিআই সূচক এবং -95 এর নীচে সিসিআই সূচক ব্যবহার করে।
এই কৌশলটি সঠিকভাবে বিপরীতমুখী সুযোগগুলি সনাক্ত করতে এবং কৌশলটির স্থিতিশীলতা উন্নত করতে কিছু মিথ্যা বিপরীতমুখী সংকেত ফিল্টার করতে ডাবল টাইম ফ্রেম এমএসিডি এবং আরভিআই এবং সিসিআই সূচকগুলিকে একত্রিত করে। নির্দিষ্ট সুবিধাগুলি নিম্নরূপঃ
প্রধান প্রবণতা নির্ধারণ করতে এবং বৃহত্তর বাজারে অনিশ্চয়তা বাড়ানোর পরিবেশে ট্রেডিং এড়াতে 6 ঘন্টা MACD ব্যবহার করুন।
১ ঘণ্টার এমএসিডি বিপরীতমুখী সময়কে চিহ্নিত করে এবং স্বল্প চক্রের মূল্য সংশোধনগুলি ধারণ করে।
আরভিআই ইন্ডিকেটর এবং সিসিআই ইন্ডিকেটরের সংমিশ্রণটি বিপরীতমুখী হওয়ার সময়কে আরও সঠিকভাবে নির্ধারণ করতে পারে।
এই কৌশলটি হ্রাস হ্রাস করার জন্য স্টপ লস অন্তর্ভুক্ত করে।
এই কৌশলটির কিছু ঝুঁকিও রয়েছে, যা প্রধানত নিম্নলিখিত বিষয়গুলিতে প্রতিফলিত হয়ঃ
ম্যাকডি নিজেই মিথ্যা সংকেত উত্পাদন করে, তাই সহায়ক সূচকগুলির একটি ভাল ফিল্টারিং প্রভাব থাকা সত্ত্বেও, ক্ষতি পুরোপুরি এড়ানো অসম্ভব। অবস্থান আকার হ্রাস করার পরামর্শ দেওয়া হয়।
আরভিআই এবং সিসিআই সূচকগুলি ভুল সংকেত দিতে পারে, যার ফলে আরও ভাল বিপরীতমুখী সুযোগগুলি হারাতে পারে বা অপ্রয়োজনীয় ক্ষতি বাড়িয়ে তুলতে পারে। আরভিআই এবং সিসিআই পরামিতিগুলি যুক্তিসঙ্গতভাবে সামঞ্জস্য করার পরামর্শ দেওয়া হয়।
ভুল স্টপ লস সেটিং খুব ঘন ঘন স্টপ লস ট্রিগার করতে পারে বা খুব শিথিল হলে সময়মতো ক্ষতি নিয়ন্ত্রণ করতে ব্যর্থ হতে পারে। বাজারের অস্থিরতা অনুযায়ী স্টপ লসের মাত্রা সামঞ্জস্য করার পরামর্শ দেওয়া হয়।
কৌশলটি নিম্নলিখিত দিকগুলি থেকে আরও অনুকূলিত করা যেতে পারেঃ
বর্তমানে 1 ঘন্টা এবং 6 ঘন্টা দুটি সময় ফ্রেম ব্যবহার করে, আরও স্থিতিশীল পরামিতি খুঁজে পেতে আরও সময় ফ্রেম সমন্বয় পরীক্ষা করা যেতে পারে।
ট্রেডিং পয়েন্টগুলি বিচার করতে সহায়তা করার জন্য আরও সূচক যেমন কেডিজে, ডাব্লুআর, ওবিভি ইত্যাদি প্রবর্তন করা যেতে পারে। তবে অত্যধিক জটিল ট্রেডিং সংকেত তৈরি না করার বিষয়ে সতর্ক থাকুন।
বিভিন্ন জাতের জন্য পরামিতিগুলি ক্রমাগত অনুকূলিত করা যেতে পারে এবং পরামিতি গ্রন্থাগার স্থাপন করা যেতে পারে। মাঝারি এবং নিম্ন ফ্রিকোয়েন্সি ট্রেডিংয়ের জন্য উপযুক্ত জাতের জন্য, দীর্ঘ চক্রের পরামিতিগুলি যথাযথভাবে বাড়ানো যেতে পারে।
মুনাফা বাড়ার সাথে সাথে ধীরে ধীরে স্টপ লস পয়েন্টটি সরানোর জন্য একটি গতিশীল স্টপ লস প্রক্রিয়া সেট করা যেতে পারে। বা বাজারের অস্থিরতা অনুযায়ী রিয়েল টাইমে স্টপ লসের মাত্রা সামঞ্জস্য করুন।
ডুয়াল এমএসিডি রিভার্সাল ট্রেডিং কৌশলটি প্রবণতা বিচার এবং বিপরীত সংকেতগুলি ব্যাপকভাবে বিবেচনা করে এবং সংকেতগুলি ফিল্টার করতে আরভিআই এবং সিসিআই সূচকগুলির সহায়তায় সহায়তা করে। এই কৌশলটি ভাল ঝুঁকি-ফেরত অনুপাতের সাথে স্বল্পমেয়াদী সমন্বয়গুলি কার্যকরভাবে সনাক্ত করতে পারে, ইনট্রা-ডে এবং স্বল্পমেয়াদী ব্যবসায়ের জন্য উপযুক্ত এবং সামগ্রিক কৌশল বৈচিত্র্য সরবরাহ করতে মাল্টি-কৌশল পোর্টফোলিওর অংশ হিসাবেও ব্যবহার করা যেতে পারে।
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Bat MACD", overlay=true) fastLength = input(12) slowlength = input(26) MACDLength = input(9) h=1.05 MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD hmacd= aMACD>0? h*aMACD: -(1/h)*abs(MACD) MACDD= (request.security(syminfo.tickerid,'360',ema(close, fastLength)) - request.security(syminfo.tickerid,'360',ema(close,slowlength))) aMACDD = (request.security(syminfo.tickerid,'360',ema(ema(request.security(syminfo.tickerid,'360',close), fastLength)-ema(request.security(syminfo.tickerid,'360',close),slowlength), MACDLength))) deltad= MACDD-aMACDD L= input(0.95, title="SL") SL = L*ema(close,10) //MACD slow = input(26,"Short period") fast = input(12, "Long period") signal = input(9, "Smoothing period") //MACD = ema(close,fast)-ema(close,slow) dMACD= MACD<0? ema(MACD,5):0 Mcond= rising(dMACD,1) mcount=0.0 mcount := Mcond ? nz(mcount[1]) + 1 : nz(mcount[1]) counter=0 counter := (mcount-mcount[1]==0) ? nz(counter[1]) + 1 : 0 //counter := counter==3 ? 0: nz(counter[1]) pp=0.0 mc=0.0 pp:= (counter-counter[1]<0)? close[1] : nz(pp[1]) mc:= (counter-counter[1]<0)? MACD[1] : nz(mc[1]) bull = (pp-pp[1]<-close*0.005 and mc-mc[1]>0.02*abs(MACD) and MACD<0 and MACD[1]<0)? 1:0 //bgcolor(bull?green:white) //RVI p=10 CO=close-open HL=high-low value1 = (CO + 2*CO[1] + 2*CO[2] + CO[3])/6 value2 = (HL + 2*HL[1] + 2*HL[2] + HL[3])/6 num=sum(value1,p) denom=sum(value2,p) rvi=denom!=0?num/denom:0 //RVI drvi= (rvi<0.2)? ema(rvi-0.20,3):0 RVcond= rising(drvi,1) rvcount=0.0 rvcount := RVcond ? nz(rvcount[1]) + 1 : nz(rvcount[1]) rvcounter=0 rvcounter := (rvcount-rvcount[1]==0) ? nz(rvcounter[1]) + 1 : 0 //counter := counter==3 ? 0: nz(counter[1]) rvpp=0.0 rvmc=0.0 rvpp:= (rvcounter-rvcounter[1]<0)? close[1] : nz(rvpp[1]) rvmc:= (rvcounter-rvcounter[1]<0)? drvi[1] : nz(rvmc[1]) rvbull = (rvpp-rvpp[1]<-close*0.005 and rvmc-rvmc[1]>0.02 and drvi<0 and drvi[1]<0)? 1:0 //VolCCI length1 = input(10, minval=1) xMAVolPrice = ema(volume * close, length1) xMAVol = ema(volume, length1) src1 = xMAVolPrice / xMAVol map = sma(src1, length1) cci = (src1 - map) / (0.015 * dev(src1, length1)) cfi= (cci<0)? ema(cci,3) :0 CCcond= rising(cfi,1) cccount=0.0 cccount := CCcond ? nz(cccount[1]) + 1 : nz(cccount[1]) cccounter=0 cccounter := (cccount-cccount[1]==0) ? nz(cccounter[1]) + 1 : 0 //counter := counter==3 ? 0: nz(counter[1]) ccpp=0.0 ccmc=0.0 ccpp:= (cccounter-cccounter[1]<0)? close[1] : nz(ccpp[1]) ccmc:= (cccounter-cccounter[1]<0)? cci[1] : nz(ccmc[1]) ccbull = (ccpp-ccpp[1]<-close*0.003 and ccmc-ccmc[1]>20 and cci<-95 and cci[1]<-95)? 1:0 A= bull+ccbull+rvbull if ((MACD>hmacd) and deltad>0 and delta>delta[1]) strategy.entry("Long", strategy.long, comment="Buy", qty=10000/close) if (crossunder(delta, 0) or crossunder(close,SL)) strategy.close("Long") if(crossover(low,SL) and SL-SL[1]<close*0.005 and SL-SL[1]>-close*0.005) strategy.entry("Long", strategy.long, comment="Buy", qty=10000/close) if A strategy.entry("Long", strategy.long, comment="Buy", qty=10000/close) plot(SL) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)