এই কৌশলটি দক্ষ স্বল্পমেয়াদী ট্রেডিংয়ের জন্য প্রবণতা বিপরীতমুখী সুযোগগুলি সনাক্ত করতে ডাবল চলমান গড় ক্রসওভার এবং স্টোকাস্টিক দোলককে একত্রিত করে। যখন দাম ওভারকোপড অঞ্চলে প্রবেশ করে তখন এটি শর্ট হয়ে যায় এবং যখন দাম ওভারসোল্ড অঞ্চলে প্রবেশ করে তখন এটি দীর্ঘ হয়, যাতে মাঝারি মেয়াদী প্রবণতা বিপরীতমুখী হয়।
এই কৌশলটি ডাবল মুভিং মিডিয়ার ক্রসওভার এবং স্টোকাস্টিক ওসিল্যান্টের সংমিশ্রণে ভিত্তি করে।
ডাবল মুভিং এভারেজ ক্রসওভারে একটি দ্রুত চলমান গড়, ধীর চলমান গড় এবং অতি-ধীর চলমান গড় রয়েছে। যখন দ্রুত এমএ ধীর এমএ এর উপরে অতিক্রম করে, এটি একটি ক্রয় সংকেত। যখন দ্রুত এমএ ধীর এমএ এর নীচে অতিক্রম করে, এটি একটি বিক্রয় সংকেত। ডাবল এমএ ক্রসওভার মাঝারি মেয়াদী প্রবণতা বিপরীত পয়েন্ট সনাক্ত করতে পারে।
স্টোকাস্টিক দোলকের মধ্যে %K এবং %D মান রয়েছে। %K দেখায় যে বর্তমান বন্ধটি গত N দিনের সর্বোচ্চ এবং সর্বনিম্ন মূল্যের তুলনায় কোথায়। %D হল %K এর M-দিনের সহজ চলমান গড়। 80 এর উপরে মানের অর্থ অতিরিক্ত ক্রয়ের স্তর এবং 20 এর নীচে মানের অর্থ অতিরিক্ত বিক্রয়ের স্তর। স্টোকাস্টিক দোলক স্বল্পমেয়াদী অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয়ের অঞ্চলগুলি সনাক্ত করতে পারে।
এই কৌশলটি ডাবল এমএ ক্রসওভার এবং স্টোকাস্টিক দোলককে একত্রিত করে। এটি ডাবল এমএ ক্রসওভারের থেকে প্রবণতা বিপরীত সংকেতগুলি সন্ধান করে যখন স্টোকাস্টিক অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় স্তরগুলি দেখায়। এর লক্ষ্য স্বল্পমেয়াদী প্রবণতা বিপরীতগুলি ধরা।
এই কৌশলটির সুবিধাঃ
মধ্যমেয়াদী এবং স্বল্পমেয়াদী প্রবণতা বিপরীততা উভয় চিহ্নিত করার জন্য ডাবল এমএ ক্রসওভার এবং স্টোকাস্টিক দোলককে একত্রিত করা।
ডাবল এমএ ক্রসওভার রিভার্সাল ট্রেড নির্বাচন করার জন্য স্টোকাস্টিক ওভারকুপ/ওভারসোল্ড সিগন্যাল ব্যবহার করা।
সহজেই বাস্তবায়িত সুস্পষ্ট ট্রেডিং নিয়ম।
বিভিন্ন পণ্য এবং সময়কালের জন্য সামঞ্জস্যযোগ্য ট্রেডিং সময় এবং মাসের পরামিতি।
ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস।
এই কৌশলের ঝুঁকি:
ডাবল এমএতে মিথ্যা ব্রেকআউট থাকতে পারে। স্টোকাস্টিকের অকার্যকর ষাঁড় / ভালুকের বিচ্যুতি থাকতে পারে, যা ভুল ট্রেড সংকেতগুলির দিকে পরিচালিত করে। সূক্ষ্ম সুরের পরামিতিগুলি বা কম্বো নিশ্চিতকরণের জন্য অন্যান্য সূচক যুক্ত করুন।
শুধুমাত্র প্রযুক্তিগত সূচকগুলির উপর ভিত্তি করে মৌলিক বিষয়গুলি বিবেচনা না করে। প্রধান অর্থনৈতিক ইভেন্টগুলিতে ব্যর্থ হতে পারে। অর্থনৈতিক ইভেন্টের ঝুঁকি নিয়ন্ত্রণ যুক্ত করুন।
সঠিক এমএ বিপরীত সময় নির্ধারণ করা কঠিন, স্টপগুলি খুব সংকীর্ণ বা খুব প্রশস্ত হওয়ার সমস্যা থাকতে পারে। স্টপ লস কৌশলটি অনুকূল করুন।
অনুপযুক্ত পরামিতি সেটিংগুলি অতিরিক্ত ট্রেডিং বা খারাপ সংকেত মানের দিকে পরিচালিত করতে পারে। ব্যাকটেস্টিংয়ের মাধ্যমে বিভিন্ন পণ্য এবং সময়সীমার জন্য পরামিতিগুলি অনুকূল করুন।
শুধুমাত্র স্বল্পমেয়াদী ট্রেডিংয়ের জন্য উপযুক্ত, দীর্ঘমেয়াদী হোল্ডিং নয়।
কৌশলটি বেশ কয়েকটি দিক থেকে অপ্টিমাইজ করা যেতে পারেঃ
সিগন্যালের বৈধতা উন্নত করতে কেডিজে, এমএসিডি ইত্যাদির মতো আরও সূচক সংমিশ্রণ পরীক্ষা করুন।
মিথ্যা ব্রেকআউট এড়াতে ট্রেডিং ভলিউম বিশ্লেষণ যোগ করুন।
ডাবল এমএ প্যারামিটারগুলিকে আরও সঠিক বিপরীত পয়েন্টগুলি সনাক্ত করতে অনুকূলিত করুন।
স্টপ লস কৌশলটি অপ্টিমাইজ করুন যাতে স্টপ আউট হওয়ার সম্ভাবনা কম হয়।
বড় বড় ইভেন্টের প্রভাব এড়াতে অর্থনৈতিক ইভেন্টের ঝুঁকি নিয়ন্ত্রণ মডিউল যুক্ত করুন।
মেশিন লার্নিং কৌশল ব্যবহার করে আরও ভাল অভিযোজনযোগ্যতার জন্য স্বয়ংক্রিয়ভাবে প্যারামিটারগুলি অনুকূলিত করুন।
সেরা অ্যাপ্লিকেশন খুঁজে পেতে আরও পণ্য এবং সময়সীমার উপর ব্যাকটেস্ট।
এই কৌশলটি ডাবল এমএ ক্রসওভার এবং স্টোকাস্টিক ষাঁড় / ভালুক বিচ্যুতি দ্বারা চিহ্নিত মাঝারি মেয়াদী প্রবণতা বিপরীত পয়েন্টগুলিতে বাণিজ্য করে। একটি একক সূচক ব্যবহারের তুলনায়, এটি পরিষ্কার নিয়মের সাথে বাণিজ্য লাভজনকতা উন্নত করতে পারে। তবে এতে এমন ঝুঁকিও রয়েছে যা পরামিতি এবং স্টপ লস অপ্টিমাইজেশান এবং আরও ফিল্টার এবং ঝুঁকি নিয়ন্ত্রণের প্রয়োজন। সামগ্রিকভাবে এটি একটি নির্ভরযোগ্য, মাঝারি ফ্রিকোয়েন্সি স্বল্পমেয়াদী ট্রেডিং কৌশল।
/*backtest start: 2022-10-26 00:00:00 end: 2023-10-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Intraday Stochiastic Strategy", shorttitle="Intraday Stochiastic Strategy", overlay=true, initial_capital = 1000) //WORKS FOR BTCUSD M30 //OBVERVED GOOD PERFORMANCES FOR SELL MODE M15 : US30USD / UK100GBP / JP225USD / SPX500USD / BCOUSD / EURGBP //Best Forex Hours are 7-21 //0 is Long Position //1 is Short Position //2 No position mode=input(1, maxval=2, title="Mode") lossLimit=input(10000, maxval=10000, title="Loss Limit") hourStart=input(2, maxval=24, title="Hour Start") hourStop=input(13, maxval=24, title="Hour Stop") //Month selected for back testing. 0 is maximum number of months monthSelected = input(0, maxval=12, title="Month Selected") ///////////////////////////////////////////////// fast = 20, slow = 50, ultraSlow = 200 fastMA = sma(close, fast) slowMA = sma(close, slow) ultraSlowMA = sma(close, ultraSlow) colorFast = red colorSlow = black colorUltraSlowMA = purple if(timeframe.period == "1" or timeframe.period == "3" or timeframe.period == "5" or timeframe.period == "15" or timeframe.period == "30" or timeframe.period == "45" or timeframe.period == "60" or timeframe.period == "120" or timeframe.period == "180" or timeframe.period == "240") fastMA := ema(close, fast) slowMA := ema(close, slow) ultraSlowMA := ema(close, ultraSlow) colorFast := orange colorSlow := gray colorUltraSlowMA := blue p1 = plot(fastMA, color=colorFast) p2 = plot(slowMA, color=colorSlow, linewidth=2) p3 = plot(ultraSlowMA, color=colorUltraSlowMA, linewidth=3) fill(p1, p2, color = fastMA > slowMA ? green : red) //////////////////////////////////////////////// ema150 = 200 ema150MA = ema(close, ema150) smooth = input(3, minval=1), K = input(14, minval=1), D=input(3,minval=1) hh=highest(high,K) ll=lowest(low,K) k = sma((close-ll)/(hh-ll)*100, smooth) d = sma(k, 3) //plot(k, color=blue) //plot(d, color=red) //h0 = hline(80) //h1 = hline(20) //fill(h0, h1, color=purple, transp=95) //plot(hour*100, color=red, linewidth=2) stochiasticHigh = 80 stochiasticLow = 20 data = close < ema150MA and k>stochiasticHigh and d>stochiasticHigh and close>open plotshape(data, style=shape.triangledown, location=location.belowbar, color=red) data2 = close > ema150MA and k<stochiasticLow and d<stochiasticLow and close<open plotshape(data2, style=shape.triangleup, location=location.abovebar, color=green) isData = 0 isData := isData[1] if(isData == 0) if(data) if(mode==1 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected)) //DOW hours : 2-13 strategy.entry("SCALP SHORT", strategy.short) isData := 1 else if(k<stochiasticLow and d<stochiasticLow) if(mode==1) strategy.close_all(when = true) isData := 0 isData2 = 0 isData2 := isData2[1] if(isData2 == 0) if(data2) if(mode==0 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected)) strategy.entry("SCALP LONG", strategy.long) isData2 := 1 else if(k>stochiasticHigh and d>stochiasticHigh) if(mode==0) strategy.close_all(when = true) isData2 := 0 strategy.exit("STOP LOSS", "SCALP LONG", loss=lossLimit) strategy.exit("STOP LOSS", "SCALP SHORT", loss=lossLimit)