গতিশীল RSI এবং CCI-এর সমন্বয়ে মাল্টি-ফ্যাক্টর পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-11-27 18:54:34 অবশেষে সংশোধন করুন: 2023-11-27 18:54:34
অনুলিপি: 0 ক্লিকের সংখ্যা: 732
1
ফোকাস
1617
অনুসারী

গতিশীল RSI এবং CCI-এর সমন্বয়ে মাল্টি-ফ্যাক্টর পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

প্রযুক্তিগত সূচক

  • এমএ গড় লাইনঃ নির্দিষ্ট সময়ের মধ্যে সমাপ্তির মূল্যের গড় মান গণনা করে দামের প্রবণতা নির্ধারণ করে
  • আরএসআই-এর তুলনামূলক দুর্বলতাঃ ওভারবয় ওভারসোল্ড অঞ্চলগুলি বিচার করুন
  • সিসিআই সুপারমোশন সূচকঃ ওভারবয় ওভারসেলের মূল্যায়ন
  • Stoch KDJ সূচকঃ মূল প্রবণতা থেকে এলোমেলো সূচকের বিচ্যুতি বিচার করা

ট্রেডিং সিগন্যাল

ক্রয় সংকেতঃ MA12-এ MA26-এর উপর, CCI 100-এর নিচে (অতিরিক্ত বিক্রয়), Stoch KDJ 80-এর নিচে (অতিরিক্ত বিক্রয়)

বিক্রির সংকেতঃ আরএসআই-এর নিচে গতিশীল পতন, স্টোক কেডিজে ৮০-এর উপরে (ওভারবয়)

কৌশলগত সুবিধা

  1. মাল্টি ফ্যাক্টর ড্রাইভিং, সমন্বিত বিচার, মিথ্যা সংকেত হ্রাস
  2. ডায়নামিক মূল্য হ্রাস sellable, রিয়েল-টাইম ওভারবয় ওভারসেলিং সনাক্তকরণ
  3. প্রবণতা, র্যান্ডম, এবং প্রচলিত প্রযুক্তিগত সূচকগুলির সমন্বয়ে
  4. মাল্টি-সেট প্যারামিটার অপ্টিমাইজেশান, উচ্চ নমনীয়তা

কৌশলগত ঝুঁকি

  1. মাল্টি-ফ্যাক্টর সমন্বয় খুব জটিল, প্যারামিটার অপ্টিমাইজ করা কঠিন
  2. প্যারামিটার নির্বাচনের সাথে কৌশলগত পারফরম্যান্সের উচ্চ সম্পর্ক রয়েছে
  3. পরিমাপ প্রক্রিয়ার সাথে কঠোরভাবে প্যারামিটার অপ্টিমাইজেশন প্রয়োজন
  4. উচ্চতর ঝুঁকিতে রয়েছেন

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

  1. আরও ডেটাসেট টেস্টিং কৌশল স্থায়িত্ব
  2. মাল্টিপ্লেট প্যারামিটার সমন্বয় পরীক্ষা
  3. সর্বাধিক প্রত্যাহার হ্রাস করার জন্য ক্ষতি বন্ধক বাড়ানো
  4. পজিশন কন্ট্রোল বাড়ানো এবং পতন এড়ানো
  5. বিভিন্ন জাতের চুক্তির সামঞ্জস্যতা পরীক্ষা করা

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-11-19 00:00:00
end: 2023-11-26 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="ATOM2.0", shorttitle="ATOM V2.0", overlay=false, default_qty_type=strategy.cash, currency=currency.USD, initial_capital=200, default_qty_type=strategy.cash, default_qty_value=100, pyramiding=10)

// Set Parameter MA12
len12 = input(12, minval=1, title="Length")
src12 = input(close, title="Source")
ma12 = sma(src12, len12)
//plot(ma12, color=color.blue, title="MA12")

// Set Parameter MA26
len26 = input(26, minval=1, title="Length")
src26 = input(close, title="Source")
ma26 = sma(src26, len26)
//plot(ma26, color=color.orange, title="MA12")

//Stochastic RSI 14,3,3
smoothK_1 = input(3, minval=1)
smoothD_1 = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src_1 = input(close, title="RSI Source_1")

rsi1 = rsi(src_1, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK_1)
d = sma(k, smoothD_1)
//plot(k, color=color.red)
//plot(d, color=color.yellow)

//Stochastic RSI 5,4,3
smoothK_2 = input(4, minval=1)
smoothD_2 = input(3, minval=1)
lengthRSI_2 = input(5, minval=1)
lengthStoch_2 = input(5, minval=1)
src_2 = input(close, title="RSI Source_2")

rsi2 = rsi(src_2, lengthRSI_2)
k_2 = sma(stoch(rsi2, rsi2, rsi2, lengthStoch_2), smoothK_2)
d_2 = sma(k_2, smoothD_2)
//plot(k_2, color=color.white)
//plot(d_2, color=color.green)

// CCI
cci = cci(close,26)
//plot(cci,color=color.blue)

// Dynamic RSI
DZbuy = 0.1
DZsell = 0.1
Period = 14
Lb = 60

RSILine = rsi(close,Period)
jh = highest(RSILine, Lb)
jl = lowest(RSILine, Lb)
jc = (wma((jh-jl)*0.5,Period) + wma(jl,Period))
Hiline = jh - jc * DZbuy
Loline = jl + jc * DZsell
R = (4 * RSILine + 3 * RSILine[1] + 2 * RSILine[2] + RSILine[3] ) / 10

plot(R, title='R', color=color.white, linewidth=1, transp=0)
plot(Hiline, title='Hiline', color=color.yellow,  linewidth=1, transp=0)
plot(Loline, title='Loline', color=color.yellow, linewidth=1, transp=0)
plot(jc, title='Jc', color=color.purple,  linewidth=1, transp=50)

col_1 = R > Hiline ? color.red:na
col_2 = R < Loline ? color.green:na

fill(plot(R, title='R', color=color.white, linewidth=1, transp=0), plot(Hiline, title='Hiline', color=color.yellow,  linewidth=1, transp=0), color=col_1,transp=0)
fill(plot(R, title='R', color=color.white, linewidth=1, transp=0), plot(Loline, title='Loline', color=color.yellow, linewidth=1, transp=0), color=col_2,transp=0)
//------------------------------------------------------------------------------
// Calculate qty
// Parameter
fund = 10           // Fund per Contract in USD
leverage = 100     // Leverage
// Buy Condition
buyCondition = (ma12>ma26 and cci<100 and k<80 and d<80 and k_2<80 and d_2<80 and crossover(k_2, d_2))
buy = (buyCondition == input(1))
alertcondition(buy, title='time to Long', message='Long!!!')
//closeBuy = (cci>100 and cci<cci[1] and cci<cci[2])
closeBuy = (crossunder(R, Hiline) and k>80)
alertcondition(closeBuy, title='Time to Close', message='Close Long')

// Submit Orders
strategy.entry(id="Long", qty=(fund*leverage)/close, long=true, when=buyCondition)
strategy.close(id="Long", when=closeBuy)