রিসোর্স লোড হচ্ছে... লোডিং...

ডাবল রিভার্সাল ইমপুটম ইনডেক্স ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

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

এই কৌশলটির মূল সূচক হল স্টোকাস্টিক মম্পটাম ইনডেক্স (এসএমআই) । এসএমআই এর গণনার সূত্র হল:

$$SMI = \frac{Close-(HH+LL)/2}{AVGDIFF/2}*100$$

যেখানে HH হল বিগত N দিনের সর্বোচ্চ মূল্য, LL হল বিগত N দিনের সর্বনিম্ন মূল্য, N পরামিতি a দ্বারা নির্ধারিত হয়; AVGDIFF হল HH-LL এর M দিনের চলমান গড়, M পরামিতি b দ্বারা নির্ধারিত হয়।

এসএমআই মূল্যের বিপরীত বৈশিষ্ট্য দেখায়। যখন শেয়ারের দাম গত এন দিনের সর্বোচ্চ পয়েন্টে পৌঁছায়, তখন এসএমআই 100 এর কাছাকাছি হয়, যা স্টকটির অতিরিক্ত ক্রয়ের ইঙ্গিত দেয়; যখন এটি গত এন দিনের সর্বনিম্ন পয়েন্টে পৌঁছায়, তখন এসএমআই -100 এর কাছাকাছি হয়, যা অতিরিক্ত বিক্রয়কে নির্দেশ করে। এসএমআই 100 স্তর থেকে বিপরীত বা -100 স্তর থেকে বিপরীত হলে কিনুন / বিক্রয় সংকেত উত্পন্ন হয়।

কৌশলটি ট্রেডিং সিগন্যাল লাইন হিসাবে এসএমআই এর এম-দিনের চলমান গড় এসএমএ ব্যবহার করে। যখন এসএমআই ওভারবয়ড জোন থেকে বিপরীত হয় এবং এসএমএ এর নীচে ভেঙে যায়, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন এসএমআই ওভারসোল্ড জোন থেকে বিপরীত হয় এবং এসএমএ এর উপরে ভেঙে যায়, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।

এছাড়াও, কৌশলটি স্টপ লসের জন্য মোমবাতি শরীরের ব্রেকআউটকে বিচার করে।

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

এই কৌশলটির সুবিধাগুলো হল:

  1. মূল্য বিপরীত নীতি ব্যবহার করে, এটি বিপরীত পয়েন্টে ট্রেডিং সংকেত তৈরি করতে পারে এবং বিপরীত সুযোগগুলি ক্যাপচার করতে পারে।

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

  3. মোমবাতি শরীরের ব্রেকআউট স্টপ লস দিয়ে, এটি সময়মতো অবস্থান থেকে বেরিয়ে আসতে পারে এবং কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে।

  4. কৌশলটির কয়েকটি পরামিতি রয়েছে এবং এটি বাস্তবায়ন এবং অপ্টিমাইজ করা সহজ।

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

এই কৌশলটির জন্য কিছু ঝুঁকিও রয়েছেঃ

  1. বিপরীতমুখী ট্রেডিং সফল বিপরীতমুখী ট্রেডিংয়ের সঠিক সময় নির্ধারণ করা কঠিন এবং ট্রেন্ড বিপরীতমুখী ট্রেডিংয়ের আগে একাধিক ক্ষতি হতে পারে।

  2. বিপরীতমুখী পয়েন্টগুলির ভুল বিচার ক্ষতি বাড়িয়ে তুলতে পারে।

  3. শরীরের ব্রেকআউট স্টপ লস খুব সংবেদনশীল হতে পারে এবং আটকা পড়ার সম্ভাবনা বেশি।

সমাধানগুলো হল:

  1. বিপরীত ট্রেডিং ফ্রিকোয়েন্সি সামঞ্জস্য করার জন্য SMI পরামিতিগুলি অপ্টিমাইজ করুন।

  2. রিভার্সাল টাইমিং নির্ধারণের জন্য অন্যান্য সূচক একত্রিত করুন।

  3. খুব সংবেদনশীলতা এড়ানোর জন্য শরীরের আকারটি স্টপ লসের জন্য সামঞ্জস্য করুন।

অপ্টিমাইজেশন

কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ

  1. এসএমআই-র প্যারামিটার (এ) এবং (বি) অপ্টিমাইজ করা হবে, যাতে বিপরীতমুখী ধারণের সংবেদনশীলতা সামঞ্জস্য করা যায়।

  2. মূল প্রবণতা দিকগুলি মিস করা এড়াতে বিচার করার জন্য অন্যান্য সূচক যুক্ত করুন, যেমন চলমান গড়, অস্থিরতা সূচক ইত্যাদি।

  3. অতিরিক্ত স্টপ লস পদ্ধতি যোগ করুন যাতে খুব সংবেদনশীল বা অ সংবেদনশীল না হয়, যেমন ট্রেলিং স্টপ লস, কার্ভ স্টপ লস ইত্যাদি।

  4. ব্যর্থ বিপরীত লেনদেন এড়াতে বিপরীত সাফল্যের সম্ভাবনা বিচার করতে মেশিন লার্নিং মডেল অন্তর্ভুক্ত করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Stochastic Strategy v1.0", shorttitle = "Stochastic str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings 
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
a = input(5, "Percent K Length")
b = input(3, "Percent D Length")
limit = input(50, defval = 50, minval = 1, maxval = 100, title = "SMI Limit")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Stochastic Momentum Index
ll = lowest (low, a)
hh = highest (high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2
avgrel = ema(ema(rdiff,b),b)
avgdiff = ema(ema(diff,b),b)
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ema(SMI,b)

//Lines
plot(SMI, color = blue, linewidth = 3, title = "Stochastic Momentum Index")
plot(SMIsignal, color = red, linewidth = 3, title = "SMI Signal Line")
plot(limit, color = black, title = "Over Bought")
plot(-1 * limit, color = black, title = "Over Sold")
plot(0, color = blue, title = "Zero Line")

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
up = SMIsignal < -1 * limit and close < open
dn = SMIsignal > limit and close > open
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Bottom", strategy.long, needlong == false ? 0 : lot)

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Top", strategy.short, needshort == false ? 0 : lot)
    
if  exit
    strategy.close_all()

আরো