মাল্টি-ফ্যাক্টর কৌশল সমন্বয়

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

img

এখানে আমি আপনার দেওয়া ট্রেডিং কৌশল কোডের উপর ভিত্তি করে একটি বিস্তারিত কৌশল বিশ্লেষণ নিবন্ধ লিখেছিঃ

সারসংক্ষেপ

এই কৌশলটি একটি বিস্তৃত ট্রেডিং কৌশল গঠনের জন্য একাধিক কারণকে একত্রিত করে। এর লক্ষ্য হল বিভিন্ন কারণের সুবিধা অর্জন করা, যার মধ্যে রয়েছেঃ

  1. Stoch.RSI - স্টোক্যাস্টিক RSI
  2. RSI - আপেক্ষিক শক্তি সূচক
  3. ডাবল স্ট্র্যাটেজি - স্টোকাস্টিক এবং আরএসআই এর সমন্বয়
  4. সিএম উইলিয়ামস ভিক্স ফিক্স - বাজারের তল খুঁজে পেয়েছে
  5. ডিএমআই - দিকনির্দেশক আন্দোলনের সূচক

একাধিক কারণকে একত্রিত করে, এটি প্রতিটি কারণের শক্তির উপর মূলধন অর্জনের চেষ্টা করে এবং একটি একক কারণের উপর নির্ভর করার সাথে সম্পর্কিত ঝুঁকি হ্রাস করে।

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

এই কৌশলতে ব্যবহৃত প্রধান প্রযুক্তিগত সূচকগুলি হলঃ

  1. Stoch.RSI- মূল্যের পরিবর্তে আরএসআই মানগুলিতে প্রয়োগ করা একটি স্টোকাস্টিক দোলক। এটি অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় স্তরগুলি সনাক্ত করে।

  2. আরএসআই- রিলেটিভ স্ট্রেনথ ইনডেক্স, ওভারকুপ/ওভারসোল্ডের পরিমাপ করে। ৭০ এর উপরে ওভারকুপ, ৩০ এর নিচে ওভারসোল্ড।

  3. দ্বৈত কৌশল- ট্রেডিং সিগন্যালের জন্য স্টোকাস্টিক এবং আরএসআই একত্রিত করে। যখন স্টোকাস্টিক % কে % ডি এর নীচে ক্রস করে এবং আরএসআই ওভারসোল্ড স্তরের নীচে ক্রস করে তখন কিনুন। যখন বিপরীত ঘটে তখন বিক্রি করুন।

  4. সিএম উইলিয়ামস ভিক্স ফিক্স- রিভিউ পেরিওডে দামের অস্থিরতার শতাংশ পরিসীমা গণনা করে। যখন প্রান্তিক সীমা লঙ্ঘন করা হয় তখন সম্ভাব্য বিপরীতমুখী সংকেত দেয়।

  5. ডিএমআই- দিকনির্দেশক আন্দোলন সূচক। প্রবণতা দিক/শক্তি নির্ধারণের জন্য +DI/-DI ডিফারেন্সিয়াল ব্যবহার করে।

এই সূচকগুলির সংকেতগুলিকে একত্রিত করে, কৌশলটি প্রবণতা এবং বাঁক পয়েন্টগুলি সনাক্ত করার জন্য একটি আরও শক্তিশালী সিস্টেম সরবরাহ করে।

সুবিধা

  • একাধিক কারণের মাধ্যমে বৈচিত্র্য, পৃথক দুর্বলতাগুলির ক্ষতিপূরণ
  • প্রবণতা অনুসরণ এবং গড় বিপরীত উভয় সংকেত প্রদান করে
  • অতিরিক্ত ক্রয়/অতিরিক্ত বিক্রয় ও বিপরীতমুখী অবস্থা চিহ্নিত করে
  • বিভিন্ন বাজার ব্যবস্থার জন্য অনুকূলিত পরামিতি
  • প্রবণতা দিক/শক্তি ফিল্টার অন্তর্ভুক্ত

ঝুঁকি

  • মাল্টিফ্যাক্টর সিস্টেমের সামগ্রিক দৃঢ়তা এখনো প্রমাণিত হয়নি
  • কিছু সূচকের মধ্যে সম্ভাব্য অতিরিক্ত
  • বিরোধী সংকেতগুলির মধ্যে অস্পষ্ট অগ্রাধিকার
  • প্যারামিটার টিউনিং কঠোর ব্যাকটেস্টিং প্রয়োজন
  • দীর্ঘ সময় ধরে ধরে রাখার সময় কম ফলপ্রসূ হতে পারে

উন্নতকরণ

  • সূচক সেটটি আরও ফিল্টার করুন/অপ্টিমাইজ করুন
  • লক্ষ্যবস্তু বাজারের জন্য সূক্ষ্ম-সমন্বয় প্যারামিটার
  • প্রবেশ/প্রস্থান সংক্রান্ত সুস্পষ্ট নিয়মাবলী নির্ধারণ করুন
  • ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস, মুনাফা গ্রহণ অন্তর্ভুক্ত করুন
  • পরীক্ষার সময়কালের পারফরম্যান্সের উপর প্রভাব

সংক্ষিপ্তসার

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


/*backtest
start: 2023-10-18 00:00:00
end: 2023-10-25 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


     //////////////////////////////////////////////////////////////////////
    ////  STOCHASTIC_RSI+RSI+DOUBLE_STRATEGY+CM_WILLIAMS_VIX_FIX+DMI  ////
   //////////////////////////////////////////////////////////////////////


//  This is a simple combination of integrated and published scripts, useful 
//  if you don't have a PRO account and want to bypass the 3 indicator limit. 
//  It includes:
//  1) Stoch.RSI
//  2) Relative strenght index
//  3) Stochastic + RSI, Double Strategy (by ChartArt)
//  4) CM_Williams_Vix_Fix Finds Market Bottoms (by ChrisMoody)
//  5) Directional Movement Index (DMI)
//  For more details about 3) and 4) check the original scripts.


//@version=3

strategy(title="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+DMI", shorttitle="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+DMI")


///STOCH.RSI///
smoothK = input(3, minval=1, title="Stochastic %K Smoothing")
smoothD = input(3, minval=1, title="Stochastic %K Moving Average")
lengthRSI = input(14, minval=1, title="RSI Lenght")
lengthStoch = input(14, minval=1, title="Stochastic Lenght")
RSIprice = close
rsi1 = rsi(RSIprice, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
plot(k, color=blue, linewidth=2)
plot(d, color=silver, linewidth=2)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=purple, transp=78)


///RSI///
up = rma(max(change(RSIprice), 0), lengthRSI)
down = rma(-min(change(RSIprice), 0), lengthRSI)
rsi2 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi2, color=fuchsia, linewidth=2)
// band0 = hline(70, linestyle=dotted)
// band1 = hline(30, linestyle=dotted)
// fill(band0, band1, color=purple, transp=100)


///OVERBOUGHT-OVERSOLD STRATEGY///
StochOverBought = input(80, title="Stochastic overbought condition")
StochOverSold = input(20, title="Stochastic oversold condition")
ks = sma(stoch(close, high, low, lengthStoch), smoothK)
ds = sma(k, smoothD)
RSIOverBought = input( 70  , title="RSI overbought condition")
RSIOverSold = input( 30  , title="RSI oversold condition")
vrsi = rsi(RSIprice, lengthRSI)
if (not na(ks) and not na(ds))
    if (crossover(ks,ds) and k < StochOverSold)
        if (not na(vrsi)) and (crossover(vrsi, RSIOverSold))
            strategy.entry("LONG", strategy.long, comment="LONG")
if (crossunder(ks,ds) and ks > StochOverBought)
    if (crossunder(vrsi, RSIOverBought))
        strategy.entry("SHORT", strategy.short, comment="SHORT")
 
 
///CM WILLIAMS VIX FIX///
pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bollinger Band Length")
mult = input(2.0    , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50  , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
pl = input(1.01, title="Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99%")
hp = input(false, title="Show High Range (Based on Percentile and LookBack Period)?")
sd = input(false, title="Show Standard Deviation Line?")
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph
rangeLow = (lowest(wvf, lb)) * pl
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray
plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(hp and rangeLow ? rangeLow : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(wvf, title="Williams Vix Fix", style=columns, linewidth = 4, color=col, transp=85)
plot(sd and upperBand ? upperBand : na, title="Upper Band", style=line, linewidth = 3, color=aqua)


///DIRECTIONAL MOVEMENT INDEX///
len3 = input(14, minval=1, title="DI Length")
lensig3 = input(14, title="ADX Smoothing", minval=1, maxval=50)
up3 = change(high)
down3 = -change(low)
plusDM3 = na(up3) ? na : (up3 > down3 and up3 > 0 ? up3 : 0)
minusDM3 = na(down3) ? na : (down3 > up3 and down3 > 0 ? down3 : 0)
trur3 = rma(tr, len3)
plus3 = fixnan(100 * rma(plusDM3, len3) / trur3)
minus3 = fixnan(100 * rma(minusDM3, len3) / trur3)
sum3 = plus3 + minus3
adx3 = 100 * rma(abs(plus3 - minus3) / (sum3 == 0 ? 1 : sum3), lensig3)
plot(plus3, color=green, style=circles, linewidth=2, title="+DI")
plot(minus3, color=red, style=circles, linewidth=2, title="-DI")
plot(adx3, color=aqua, style=circles, linewidth=3, title="ADX")

আরো