এই কৌশলটি দীর্ঘ ও সংক্ষিপ্ত পজিশনের মধ্যে ক্রসওভার ট্রেডিং কৌশল তৈরির জন্য দ্বৈত চলমান গড় এবং আরএসআই সূচককে একীভূত করে। এটি স্বল্পমেয়াদী সূচকগুলির সাথে অপ্রয়োজনীয় গোলমাল ট্রেডিং এড়ানোর সময় মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ক্যাপচার করতে পারে।
এই কৌশলটি চলমান গড়ের দুটি সেট গ্রহণ করে, যার মধ্যে দ্রুত চলমান গড় (ইএমএ 59 এবং ইএমএ 82) এবং ধীর চলমান গড় (ইএমএ 96 এবং ইএমএ 95) রয়েছে। যখন দাম দ্রুত ইএমএ এর উপরে অতিক্রম করে তখন এটি দীর্ঘ হয় এবং যখন দাম দ্রুত ইএমএ এর নীচে অতিক্রম করে তখন এটি সংক্ষিপ্ত হয়। এদিকে, আরএসআই সূচকের ওভারকোপড এবং ওভারসোল্ড অঞ্চলটি ট্রেডিং সংকেত এবং স্টপ-লস নিশ্চিত করতে ব্যবহৃত হয়।
বিশেষত, যখন দ্রুত ইএমএ ধীর ইএমএর উপরে ভেঙে যায়, তখন একটি দীর্ঘ সংকেত উত্পন্ন হয়। যদি এই সময়ে আরএসআই 30 এর নীচে থাকে (অভারসোল্ড অঞ্চল), দীর্ঘ যান। যখন দ্রুত ইএমএ ধীর ইএমএর নীচে ভেঙে যায়, তখন একটি সংক্ষিপ্ত সংকেত উত্পাদিত হয়। যদি আরএসআই এই মুহুর্তে 70 (অভারক্রয়ের অঞ্চল) অতিক্রম করে তবে সংক্ষিপ্ত যান।
দ্বৈত চলমান গড় ব্যবহারের সুবিধা হল মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতার পরিবর্তনগুলি আরও ভালভাবে সনাক্ত করা। আরএসআই মিথ্যা ব্রেকআউট থেকে কিছু গোলমাল ট্রেডিং ফিল্টার করে।
এই কৌশলটি দ্বৈত চলমান গড় এবং আরএসআই সূচকের গড় বিপরীত ট্রেডিংয়ের প্রবণতা অনুসরণ করে। দ্বৈত ইএমএগুলি মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা দিকনির্দেশগুলি ট্র্যাক করে, যখন আরএসআই ট্রেডিং সংকেত এবং স্টপ লসের বৈধতা নিশ্চিত করে। এটি দীর্ঘ এবং স্বল্পের মধ্যে একটি সহজ এবং ব্যবহারিক ক্রসওভার কৌশল। এটি প্যারামিটার টিউনিং এবং অপ্টিমাইজেশনের মাধ্যমে বিভিন্ন বাজারের পরিবেশে অভিযোজিত হতে পারে।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Swing Hull/rsi/EMA Strategy", overlay=true,default_qty_type=strategy.cash,default_qty_value=10000,scale=true,initial_capital=10000,currency=currency.USD) //A Swing trading strategy that use a combination of indicators, rsi for target, hull for overall direction enad ema for entering the martket. // hull ma copied from syrowof HullMA who copied from mohamed982 :) thanks both // Performance n=input(title="period",defval=500) n2ma=2*wma(close,round(n/2)) nma=wma(close,n) diff=n2ma-nma sqn=round(sqrt(n)) n2ma1=2*wma(close[1],round(n/2)) nma1=wma(close[1],n) diff1=n2ma1-nma1 sqn1=round(sqrt(n)) n1=wma(diff,sqn) n2=wma(diff1,sqn) c=n1>n2?green:red ma=plot(n1,color=c) // RSi and Moving averages length = input( 14 ) overSold = input( 70) overBought = input( 30) point = 0.0001 dev= 2 fastLength = input(59) fastLengthL = input(82) slowLength = input(96) slowLengthL = input(95) price = close mafast = ema(price, fastLength) mafastL= ema(price, fastLengthL) maslow = ema(price, slowLength) maslowL = ema(price, slowLengthL) vrsi = rsi(price, length) cShort = (crossunder(vrsi, overBought)) condDown = n2 >= n1 condUp = condDown != true closeLong = (crossover(vrsi, overSold)) closeShort = cShort // Strategy Logic longCondition = n1> n2 shortCondition = longCondition != true col =condUp ? lime : condDown ? red : yellow plot(n1,color=col,linewidth=3) if (not na(vrsi)) if shortCondition if (price[0] < maslow[0] and price[1] > mafast[1]) //cross entry strategy.entry("SYS-SHORT", strategy.short, comment="short") strategy.close("SYS-SHORT", when=closeShort) //output logic if (not na(vrsi)) if longCondition // swing condition if (price[0] < mafast[0] and price[1] > mafast[1]) //cross entry strategy.entry("SYS-LONG", strategy.long, comment="long") strategy.close("SYS-LONG", when=closeLong) //output logic // Stop Loss sl = input(75) Stop = sl * 10 Q = 100 strategy.exit("Out Long", "SYS-LONG", qty_percent=Q, loss=Stop) strategy.exit("Out Short", "SYS-SHORT", qty_percent=Q, loss=Stop) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)