পরিমাণগত কৌশলঃ বোলিংজার ব্যান্ডস আরএসআই সিসিআই ক্রসওভার কৌশল

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

img

সারসংক্ষেপ

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

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

বোলিংজার ব্যান্ড

বোলিংজার ব্যান্ডগুলির মধ্যে একটি মধ্যম ব্যান্ড, একটি উপরের ব্যান্ড এবং একটি নীচের ব্যান্ড রয়েছে। মাঝের ব্যান্ডটি সাধারণত একটি 20 দিনের চলমান গড়। উপরের ব্যান্ডটি মাঝের ব্যান্ডের উপরে দুটি স্ট্যান্ডার্ড বিচ্যুতি। নীচের ব্যান্ডটি নীচের দুটি স্ট্যান্ডার্ড বিচ্যুতি। নিম্ন ব্যান্ডের কাছাকাছি দামগুলি একটি oversold অবস্থা নির্দেশ করতে পারে। উপরের ব্যান্ডের কাছাকাছি দামগুলি একটি overbought অবস্থা নির্দেশ করতে পারে।

আরএসআই

আরএসআই নির্দেশ করে যে দামের গতি 70 এর উপরে এবং 30 এর নীচে বেশি বিক্রি হয়। যখন আরএসআই 70 এর উপরে থেকে পড়ে, এটি একটি বিক্রয় সংকেত হতে পারে। যখন আরএসআই 30 এর নীচে থেকে ফিরে আসে, এটি একটি ক্রয় সংকেত হতে পারে।

সিসিআই

সিসিআই পরিমাপ করে যে দামগুলি গড় মূল্য থেকে কতদূর সরে গেছে। +100 এর উপরে পাঠ্যগুলি একটি অতিরিক্ত ক্রয়ের অবস্থা বোঝায়। -100 এর নীচে পাঠ্যগুলি একটি অতিরিক্ত বিক্রয়ের অবস্থা বোঝায়। সিসিআই চরম মূল্যের স্তরগুলি প্রতিফলিত করে।

ক্রসওভার সিগন্যাল

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

সুবিধা

  1. একাধিক সূচককে একত্রিত করা সিগন্যালের নির্ভুলতা উন্নত করে এবং মিথ্যা সংকেত হ্রাস করে
  2. পরিবর্তনের সময়ে বিপরীতমুখী সুযোগগুলি ধরুন
  3. কাস্টমাইজযোগ্য পরামিতিগুলি বিভিন্ন বাজারের অবস্থার সাথে খাপ খায়
  4. মসৃণ সিসিআই ফিল্টার গোলমাল হ্রাস করে এবং স্থিতিশীলতা উন্নত করে

ঝুঁকি এবং সমাধান

  1. তিনটি সূচকই খারাপ সংকেত তৈরি করতে পারে যার ফলে ক্ষতি হতে পারে। পরামিতিগুলি শিথিল করা যায় বা অন্যান্য ফিল্টার যুক্ত করা যায়।
  2. সিসিআই অস্থির বাজারগুলির সাথে লড়াই করে। এটি চলমান গড় বা অস্থিরতা সূচকগুলির সাথে প্রতিস্থাপন করতে পারে।
  3. লাভ না নিয়ে শুধুমাত্র স্টপ লস ব্যবহার করুন। কিছু লাভের জন্য ট্রেলিং স্টপ যুক্ত করতে পারেন।

অপ্টিমাইজেশান সুযোগ

  1. সর্বোত্তম সেটআপ খুঁজে পেতে আরো প্যারামিটার সমন্বয় পরীক্ষা করুন
  2. স্বয়ংক্রিয়ভাবে প্যারামিটার সামঞ্জস্য করতে মেশিন লার্নিং চালু করুন
  3. মুনাফা অর্জনের লক্ষ্যমাত্রা সহ মুনাফা গ্রহণের কৌশল যুক্ত করুন
  4. সিগন্যাল যাচাই করার জন্য MACD, KD এর মত আরও সূচক অন্তর্ভুক্ত করুন

সিদ্ধান্ত

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


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

//@version=5
strategy(shorttitle="BBRSIstr", title="Bollinger Bands", overlay=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

//RSI
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings")
showDivergence = input.bool(false, title="Show Divergence", group="RSI Settings")

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiMA = ma(rsi, maLengthInput, maTypeInput)
isBB = maTypeInput == "Bollinger Bands"

rsiPlot = plot(rsi, "RSI", color=#7E57C2)
plot(rsiMA, "RSI-based MA", color=color.yellow)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")

//cci
ma = ta.sma(src, length)
cci = (src - ma) / (0.015 * ta.dev(src, length))
plot(cci, "CCI", color=#2962FF)
band1 = hline(100, "Upper Band", color=#787B86, linestyle=hline.style_dashed)
hline(0, "Middle Band", color=color.new(#787B86, 50))
band0 = hline(-100, "Lower Band", color=#787B86, linestyle=hline.style_dashed)
fill(band1, band0, color=color.rgb(33, 150, 243, 90), title="Background")

typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing")

smoothingLine = ma(cci, smoothingLength, typeMA)
plot(smoothingLine, title="Smoothing Line", color=#f37f20, display=display.none)


longCBB= close < lower
shortCBB = close>upper
longBRSI = rsi < 33
shortBRSI = rsi > 70
longcci = cci < -215
shortcci = cci > 250

strategy.entry("LONG", strategy.long, when = longCBB and longBRSI and longcci)
strategy.exit("Exit ", profit = 600)
strategy.entry("SHORT", strategy.short, when = shortCBB and shortBRSI and shortcci)
strategy.exit("Exit ", profit = 600)

আরো