এই কৌশলটির মূল ধারণাটি হ’ল বিভিন্ন পিরিয়ডের আরএসআই সূচকগুলিকে একত্রিত করে বর্তমান দামের অঞ্চল নির্ধারণ করা এবং বৃহত্তর পিরিয়ডের আরএসআই সূচকগুলি যখন একটি ব্রেকআউট দেখা দেয় তখন ছোট পিরিয়ডগুলিতে সংশ্লিষ্ট ক্রয় বা বিক্রয় করা। এই কৌশলটি বিভিন্ন পিরিয়ডের প্রযুক্তিগত সূচকগুলির সুবিধাগুলি ব্যবহার করে, বর্তমান দামের তুলনামূলক মান নির্ধারণের জন্য একাধিক সময় মাত্রা ব্যবহার করে এবং একটি ভাল প্রবেশের জায়গা সন্ধান করে।
এই কৌশলটি মূলত নিম্নলিখিত ধাপগুলির মাধ্যমে মূল্য অঞ্চলগুলি নির্ধারণ করে এবং লেনদেনের সুযোগগুলি সন্ধান করেঃ
উদাহরণস্বরূপ, যদি RSI সূচকটি একটি নতুন উচ্চতা অতিক্রম করে, আমরা অনুমান করি যে এটি একটি মাল্টি-হোল্ড ট্রেড, এবং যদি RSI সূচকটি একটি নতুন নিম্নতা অতিক্রম করে, আমরা অনুমান করি যে এটি একটি ফাঁকা-হোল্ড ট্রেড, উভয় ক্ষেত্রেই আমরা 5 মিনিটের লাইনে ক্রয় এবং বিক্রয় অপারেশন করি।
ঐতিহ্যগতভাবে একটি নির্দিষ্ট সময়কালের উপর দৃষ্টি নিবদ্ধ করা কৌশলগুলির তুলনায়, এই কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
বর্তমান মূল্যের আপেক্ষিক মূল্যের মূল্যায়ন আরও নির্ভুলভাবে করা যায়। বৃহত্তর-চক্রের সূচক যেমন সূর্যের রেখা, স্বল্প-মেয়াদী বাজারের শব্দটি ফিল্টার করতে পারে এবং বৃহত্তর-চক্রের প্রবণতা এবং মূল্যের অঞ্চলগুলি বিচার করতে পারে।
বিভিন্ন সময়কালের সূচকগুলির সাথে সংমিশ্রণ করে, সংকেতের নির্ভরযোগ্যতা বাড়ায়। কেবলমাত্র একটি একক সময়কালের সূচকের উপর নির্ভর করা ত্রুটিযুক্ত সংকেত হতে পারে, যখন একাধিক সময়কালের সূচকগুলি একই সাথে সংকেত প্রেরণ করে তখন এটি আরও নির্ভরযোগ্য।
স্বল্পমেয়াদী সুযোগকে আরও কার্যকরভাবে কাজে লাগানো। সূর্যের রশ্মির মতো বড় চক্রের বিপর্যয় আমাদেরকে বড় দিক নির্দেশ করে, এবং আমাদের কেবলমাত্র 5 মিনিটের মতো স্বল্পমেয়াদী সুযোগের সন্ধান করতে হবে।
ছোট প্রত্যাহার সময়কাল জুড়ে চক্রের সংমিশ্রণ, এটি ধরা এড়াতে সহায়তা করে যখন বড় চক্রের সূচকটি ঘুরবে, আমরা সময়মতো স্টপ লস আউট করব
এই কৌশলটির প্রধান ঝুঁকিগুলো হলঃ
বড় আকারের সূচক বিচার ত্রুটি। যখন দিনের লাইন আরএসআই এবং অন্যান্য সূচকগুলি কার্যকরভাবে মানের অঞ্চলটি বিচার করতে অক্ষম হয়, তখন সংকেতটি ত্রুটির দিকে পরিচালিত করে। এটি আরএসআইয়ের প্যারামিটার সেট করার জন্য অনুকূলিতকরণের প্রয়োজন।
ছোট চক্রের প্রবণতা বড় চক্রের সিদ্ধান্তের সাথে সামঞ্জস্যপূর্ণ নয়। কখনও কখনও ছোট চক্রের দামের চলাচল বড় চক্রের প্রবণতার বিপরীতে চলে, যখন ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস সেট করা প্রয়োজন।
অর্থের অপব্যবহার। যদি ঝুঁকি অপব্যবহার করা হয়, তবে একক ক্ষতির পরিমাণ খুব বেশি, যার ফলে পুনরুদ্ধার করা কঠিন হবে।
এই কৌশলটি আরও উন্নত করার জন্য অনেক জায়গা রয়েছে, যার মধ্যে রয়েছেঃ
চক্র প্যারামিটার অপ্টিমাইজেশান. আপনি চক্রের আরো সমন্বয় পরীক্ষা করতে পারেন, সর্বোত্তম প্যারামিটার খুঁজুন।
RSI প্যারামিটার অপ্টিমাইজেশান. আপনি RSI এর প্যারামিটারগুলি সামঞ্জস্য করতে পারেন যাতে বিচার সঠিকতা উন্নত করা যায়।
অন্যান্য সূচক যোগ করুন. আপনি আরও সূচক যোগ করতে পারেন, উদাহরণস্বরূপ, গড় রেখার সাথে ট্রেন্ডের দিকনির্দেশনা যোগ করুন।
অপ্টিমাইজড স্টপ লস ম্যানেজমেন্ট. স্টপ লস পয়েন্টটি প্রত্যাহারের পরিস্থিতি অনুসারে গতিশীলভাবে সামঞ্জস্য করা যেতে পারে।
পজিশন ম্যানেজমেন্ট অপ্টিমাইজ করুন। প্রতিটি লেনদেনের নির্দিষ্ট পজিশনকে আরও বৈজ্ঞানিকভাবে এবং যুক্তিসঙ্গতভাবে পরিচালনা করতে পারেন।
এই কৌশলটি বিভিন্ন সময়ের মাত্রার মধ্যে মূল্যের আরএসআই সূচকটির মুনাফার মূল্যায়ন করে। এই ক্রস-সাইক্লিক বিচারের চিন্তাভাবনাটি আরও খনন করার জন্য উপযুক্ত, আমরা প্যারামিটার অপ্টিমাইজেশন, স্টপ লস অপ্টিমাইজেশন এবং সমন্বয় অপ্টিমাইজেশনের মতো পদ্ধতির মাধ্যমে ক্রমাগত উন্নত করতে পারি, যাতে কৌশলটি আরও সুবিধাজনক হয়। সামগ্রিকভাবে, এই কৌশলটির একটি অনন্য চিন্তাভাবনা এবং প্রচুর অপ্টিমাইজেশনের জায়গা রয়েছে।
/*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)