এই কৌশলটির মূল ধারণা হ'ল বিভিন্ন চক্রের আরএসআই সূচকগুলি একত্রিত করে বর্তমান মূল্যের পরিসীমা নির্ধারণ করা এবং বৃহত্তর চক্রের আরএসআইতে একটি ব্রেকআউট হলে ছোট চক্রগুলিতে সংশ্লিষ্ট ক্রয় বা বিক্রয় পদক্ষেপ নেওয়া। এই কৌশলটি বিভিন্ন সময়কাল জুড়ে প্রযুক্তিগত সূচকগুলির সুবিধা গ্রহণ করে বর্তমান মূল্যের আপেক্ষিক মান একাধিক সময় মাত্রা থেকে বিচার করতে এবং আরও ভাল প্রবেশের পয়েন্টগুলি সনাক্ত করতে।
দামের পরিসীমা নির্ধারণ এবং ব্যবসায়ের সুযোগ সন্ধানের জন্য এই কৌশলটির প্রধান পদক্ষেপগুলি হলঃ
উদাহরণস্বরূপ, যখন দৈনিক আরএসআই তার পূর্ববর্তী উচ্চতা ভেঙে যায়, আমরা বিচার করি যে এটি বর্তমানে একটি ষাঁড়ের বাজার। এবং যখন দৈনিক আরএসআই তার পূর্ববর্তী নিম্নের নীচে ভেঙে যায়, আমরা এটিকে একটি ভালুকের বাজার হিসাবে বিচার করি। উভয় ক্ষেত্রেই আমরা 5 মিনিটের চার্টে যথাক্রমে দীর্ঘ এবং সংক্ষিপ্ত পদক্ষেপ নিই।
ঐতিহ্যবাহী কৌশলগুলির তুলনায়, যা শুধুমাত্র একটি সময়ের উপর দৃষ্টি নিবদ্ধ করে, এই কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
বর্তমান আপেক্ষিক মূল্য মূল্যের আরো সঠিক মূল্যায়ন। দৈনিক মত বৃহত্তর চক্র স্বল্পমেয়াদী বাজার গোলমাল ফিল্টার এবং সামগ্রিক প্রবণতা এবং মান এলাকা নির্ধারণ করতে পারেন।
সময়কাল জুড়ে সূচকগুলি একত্রিত করা সংকেতের নির্ভরযোগ্যতা উন্নত করে। কেবলমাত্র একক সময়কালের সূচকের উপর নির্ভর করা সহজেই মিথ্যা সংকেত তৈরি করতে পারে, যখন একাধিক সময়কালের সমান্তরাল সংকেতগুলি আরও নির্ভরযোগ্য।
স্বল্পমেয়াদী সুযোগগুলোকে আরও কার্যকরভাবে মূলধন করা। বড় চক্রের ব্রেকআউট সামগ্রিক দিক নির্দেশ করে, যখন আমাদের লাভের জন্য মাত্র ৫ মিনিটের মতো ছোট চক্রগুলিতে সুযোগ খুঁজে বের করতে হবে।
ছোট ড্রাউনডাউন. ক্রস পিরিয়ড একত্রিত করা ফাঁদে পড়া এড়াতে সাহায্য করে। আমরা দ্রুত বেরিয়ে আসতে পারি যখন বড় চক্রের সূচকগুলি বিপরীত হতে শুরু করে।
এই কৌশলটির প্রধান ঝুঁকিগুলি হলঃ
বড় চক্রের সূচকগুলিতে ভুল বিচার। দৈনিক আরএসআই ইত্যাদিতে অকার্যকর মান অঞ্চল নির্ধারণ ত্রুটিযুক্ত সংকেতগুলির দিকে পরিচালিত করতে পারে। নির্ভুলতা উন্নত করতে আরএসআইয়ের পরামিতি টিউনিং প্রয়োজন।
ছোট চক্রের দামের গতি এবং বড় চক্রের নির্ধারণের মধ্যে পার্থক্য। কখনও কখনও স্বল্পমেয়াদী গতি বড় ছবির প্রবণতা প্রতিহত করে। ক্ষতি নিয়ন্ত্রণের জন্য আমাদের সঠিক স্টপ লস সেট করতে হবে।
অপ্রয়োজনীয় ঝুঁকি ব্যবস্থাপনা। দুর্বল পজিশন সাইজিংয়ের কারণে একক বাণিজ্যে অত্যধিক ক্ষতি অনিবার্য ড্রাউনডাউন হতে পারে। যুক্তিসঙ্গত সাইজিং নিয়ম বাস্তবায়ন করা উচিত।
এই কৌশল উন্নত করার জন্য এখনও অনেক জায়গা আছে, প্রধানত নিম্নলিখিত দিক থেকেঃ
প্যারামিটার ট্যুইনিং. সর্বোত্তম প্যারামিটার খুঁজে পেতে আরো সময়কাল সমন্বয় পরীক্ষা.
RSI পরামিতি টিউনিং. রায় সঠিকতা উন্নত করতে RSI lookback ইত্যাদি পরামিতি সমন্বয়.
আরো সূচক যোগ করুন। প্রবণতা দিক বিচার করতে সাহায্য করার জন্য এমএ মত আরো সূচক আনুন।
স্টপ লস মেকানিজম উন্নত করুন। ড্রাউনডাউন অবস্থার উপর ভিত্তি করে স্টপ লস পয়েন্টগুলি গতিশীলভাবে সামঞ্জস্য করুন।
পজিশনের আকার নির্ধারণের নিয়মগুলিকে অনুকূল করে তুলুন। প্রতিটি ট্রেডের জন্য নির্দিষ্ট পজিশনের আকারকে আরও বৈজ্ঞানিকভাবে পরিচালনা করুন।
এই কৌশলটি ক্রস পিরিয়ড আরএসআই-তে বুলিশ শর্তের মূল্যায়ন করে বিভিন্ন সময় মাত্রার মধ্যে ক্রস পিরিয়ড আর্বিট্রেজ উপলব্ধি করে। ক্রস পিরিয়ড বিচারের এই ধারণাটি আরও শোষণের যোগ্য। আমরা প্যারামিটার টিউনিং, স্টপ লস অপ্টিমাইজেশন, সূচক সংমিশ্রণের মাধ্যমে এটি আরও সুবিধাজনক করার জন্য এটি উন্নত করতে পারি। সামগ্রিকভাবে বলতে গেলে, এই কৌশলটির একটি অনন্য ধারণা রয়েছে এবং এটিকে উন্নত করার বিশাল সম্ভাবনা রয়েছে।
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Swing MTF", shorttitle="Swing MTF", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000, slippage = 5) // otf_period = input(defval=2, title="Look Back Period (2nd Timeframe)") otf = input(defval="180", title="Second Momentum Timeframe") // Function to dectect a new bar is_newbar(res) => t = time(res) change(t) != 0 ? true : false // Check how many bars are in our upper timeframe since_new_bar = barssince(is_newbar(otf)) otf_total_bars = na otf_total_bars := since_new_bar == 0 ? since_new_bar[1] : otf_total_bars[1] //Calculate RSI Values ctf_rsi = rsi(open, otf_period) breakline=input(title="Breaks in lines", defval = true, type=bool) so = request.security(syminfo.tickerid, otf, rsi(open, otf_period)) sc = request.security(syminfo.tickerid, otf, rsi(close, otf_period)) final_otf_so = na final_otf_so := barstate.isrealtime ? since_new_bar == otf_total_bars ? so : final_otf_so[1] : so final_otf_sc = na final_otf_sc := barstate.isrealtime ? since_new_bar == otf_total_bars ? sc : final_otf_sc[1] : sc barsback = input(11, title='Bars back to check for a swing') // showsig = input(false, title='Show Signal Markers') swing_detection(index)=> swing_high = false swing_low = false start = (index*2) - 1 // -1 so we have an even number of swing_point_high = final_otf_so[index] swing_point_low = final_otf_sc[index] //Swing Highs for i = 0 to start swing_high := true if i < index if final_otf_so[i] > swing_point_high swing_high := false break // Have to do checks before pivot and after seperately because we can get // two highs of the same value in a row. Notice the > and >= difference if i > index if final_otf_so[i] >= swing_point_high swing_high := false break //Swing lows for i = 0 to start swing_low := true if i < index if final_otf_sc[i] < swing_point_low swing_low := false break // Have to do checks before pivot and after seperately because we can get // two lows of the same value in a row. Notice the > and >= difference if i > index if final_otf_sc[i] <= swing_point_low swing_low := false break [swing_high, swing_low] // Check for a swing [swing_high, swing_low] = swing_detection(barsback) long = final_otf_so > final_otf_sc short = final_otf_so < final_otf_sc if swing_low and long strategy.entry("My Long Entry Id", strategy.long) if swing_high and short strategy.entry("My Short Entry Id", strategy.short)