ক্রস-পিরিয়ড ভ্যালু এরিয়া ব্রেকআউট স্ট্র্যাটেজি

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-১২ 10:58:22
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটির মূল ধারণা হ'ল বিভিন্ন চক্রের আরএসআই সূচকগুলি একত্রিত করে বর্তমান মূল্যের পরিসীমা নির্ধারণ করা এবং বৃহত্তর চক্রের আরএসআইতে একটি ব্রেকআউট হলে ছোট চক্রগুলিতে সংশ্লিষ্ট ক্রয় বা বিক্রয় পদক্ষেপ নেওয়া। এই কৌশলটি বিভিন্ন সময়কাল জুড়ে প্রযুক্তিগত সূচকগুলির সুবিধা গ্রহণ করে বর্তমান মূল্যের আপেক্ষিক মান একাধিক সময় মাত্রা থেকে বিচার করতে এবং আরও ভাল প্রবেশের পয়েন্টগুলি সনাক্ত করতে।

কৌশলগত যুক্তি

দামের পরিসীমা নির্ধারণ এবং ব্যবসায়ের সুযোগ সন্ধানের জন্য এই কৌশলটির প্রধান পদক্ষেপগুলি হলঃ

  1. আরও বড় চক্রের (যেমন দৈনিক) উপর ভিত্তি করে RSI Swing High এবং Swing Low গণনা করুন।
  2. নির্ধারণ করুন যে বৃহত্তর চক্রের আরএসআই পুনর্বিবেচনার সময়কালে একটি নতুন উচ্চ বা নিম্ন তৈরি করেছে কিনা।
  3. যদি কোনও ব্রেকআউট হয়, তবে ছোট চক্র (যেমন 5 মিনিট) এর মধ্যে মূল্যের প্রবণতা (বৃদ্ধি বা হ্রাস) বিচার করুন এবং সংশ্লিষ্ট ক্রয় বা বিক্রয় পদক্ষেপ নিন।

উদাহরণস্বরূপ, যখন দৈনিক আরএসআই তার পূর্ববর্তী উচ্চতা ভেঙে যায়, আমরা বিচার করি যে এটি বর্তমানে একটি ষাঁড়ের বাজার। এবং যখন দৈনিক আরএসআই তার পূর্ববর্তী নিম্নের নীচে ভেঙে যায়, আমরা এটিকে একটি ভালুকের বাজার হিসাবে বিচার করি। উভয় ক্ষেত্রেই আমরা 5 মিনিটের চার্টে যথাক্রমে দীর্ঘ এবং সংক্ষিপ্ত পদক্ষেপ নিই।

সুবিধা বিশ্লেষণ

ঐতিহ্যবাহী কৌশলগুলির তুলনায়, যা শুধুমাত্র একটি সময়ের উপর দৃষ্টি নিবদ্ধ করে, এই কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ

  1. বর্তমান আপেক্ষিক মূল্য মূল্যের আরো সঠিক মূল্যায়ন। দৈনিক মত বৃহত্তর চক্র স্বল্পমেয়াদী বাজার গোলমাল ফিল্টার এবং সামগ্রিক প্রবণতা এবং মান এলাকা নির্ধারণ করতে পারেন।

  2. সময়কাল জুড়ে সূচকগুলি একত্রিত করা সংকেতের নির্ভরযোগ্যতা উন্নত করে। কেবলমাত্র একক সময়কালের সূচকের উপর নির্ভর করা সহজেই মিথ্যা সংকেত তৈরি করতে পারে, যখন একাধিক সময়কালের সমান্তরাল সংকেতগুলি আরও নির্ভরযোগ্য।

  3. স্বল্পমেয়াদী সুযোগগুলোকে আরও কার্যকরভাবে মূলধন করা। বড় চক্রের ব্রেকআউট সামগ্রিক দিক নির্দেশ করে, যখন আমাদের লাভের জন্য মাত্র ৫ মিনিটের মতো ছোট চক্রগুলিতে সুযোগ খুঁজে বের করতে হবে।

  4. ছোট ড্রাউনডাউন. ক্রস পিরিয়ড একত্রিত করা ফাঁদে পড়া এড়াতে সাহায্য করে। আমরা দ্রুত বেরিয়ে আসতে পারি যখন বড় চক্রের সূচকগুলি বিপরীত হতে শুরু করে।

ঝুঁকি বিশ্লেষণ

এই কৌশলটির প্রধান ঝুঁকিগুলি হলঃ

  1. বড় চক্রের সূচকগুলিতে ভুল বিচার। দৈনিক আরএসআই ইত্যাদিতে অকার্যকর মান অঞ্চল নির্ধারণ ত্রুটিযুক্ত সংকেতগুলির দিকে পরিচালিত করতে পারে। নির্ভুলতা উন্নত করতে আরএসআইয়ের পরামিতি টিউনিং প্রয়োজন।

  2. ছোট চক্রের দামের গতি এবং বড় চক্রের নির্ধারণের মধ্যে পার্থক্য। কখনও কখনও স্বল্পমেয়াদী গতি বড় ছবির প্রবণতা প্রতিহত করে। ক্ষতি নিয়ন্ত্রণের জন্য আমাদের সঠিক স্টপ লস সেট করতে হবে।

  3. অপ্রয়োজনীয় ঝুঁকি ব্যবস্থাপনা। দুর্বল পজিশন সাইজিংয়ের কারণে একক বাণিজ্যে অত্যধিক ক্ষতি অনিবার্য ড্রাউনডাউন হতে পারে। যুক্তিসঙ্গত সাইজিং নিয়ম বাস্তবায়ন করা উচিত।

অপ্টিমাইজেশান নির্দেশাবলী

এই কৌশল উন্নত করার জন্য এখনও অনেক জায়গা আছে, প্রধানত নিম্নলিখিত দিক থেকেঃ

  1. প্যারামিটার ট্যুইনিং. সর্বোত্তম প্যারামিটার খুঁজে পেতে আরো সময়কাল সমন্বয় পরীক্ষা.

  2. RSI পরামিতি টিউনিং. রায় সঠিকতা উন্নত করতে RSI lookback ইত্যাদি পরামিতি সমন্বয়.

  3. আরো সূচক যোগ করুন। প্রবণতা দিক বিচার করতে সাহায্য করার জন্য এমএ মত আরো সূচক আনুন।

  4. স্টপ লস মেকানিজম উন্নত করুন। ড্রাউনডাউন অবস্থার উপর ভিত্তি করে স্টপ লস পয়েন্টগুলি গতিশীলভাবে সামঞ্জস্য করুন।

  5. পজিশনের আকার নির্ধারণের নিয়মগুলিকে অনুকূল করে তুলুন। প্রতিটি ট্রেডের জন্য নির্দিষ্ট পজিশনের আকারকে আরও বৈজ্ঞানিকভাবে পরিচালনা করুন।

সিদ্ধান্ত

এই কৌশলটি ক্রস পিরিয়ড আরএসআই-তে বুলিশ শর্তের মূল্যায়ন করে বিভিন্ন সময় মাত্রার মধ্যে ক্রস পিরিয়ড আর্বিট্রেজ উপলব্ধি করে। ক্রস পিরিয়ড বিচারের এই ধারণাটি আরও শোষণের যোগ্য। আমরা প্যারামিটার টিউনিং, স্টপ লস অপ্টিমাইজেশন, সূচক সংমিশ্রণের মাধ্যমে এটি আরও সুবিধাজনক করার জন্য এটি উন্নত করতে পারি। সামগ্রিকভাবে বলতে গেলে, এই কৌশলটির একটি অনন্য ধারণা রয়েছে এবং এটিকে উন্নত করার বিশাল সম্ভাবনা রয়েছে।


/*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)

আরো