এই কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য বোলিংজার ব্যান্ড এবং আরএসআই সূচককে একত্রিত করে। এটি একই সময়ে তিনটি মোমবাতি বন্ধের দামগুলি উপরের বা নীচের ব্যান্ডগুলি ভেঙে দেয় কিনা তা পর্যবেক্ষণ করে এবং ট্রেডিং সংকেতগুলি নিশ্চিত করতে ভর্টেক্স সূচক এবং আরএসআই সূচককে একত্রিত করে।
কৌশলটি মূলত নিম্নলিখিত নীতিগুলির উপর ভিত্তি করেঃ
এই কৌশলটির প্রধান সুবিধাগুলো হল:
এই কৌশলের কিছু ঝুঁকিও রয়েছে:
ঝুঁকি নিয়ন্ত্রণের ব্যবস্থাগুলির মধ্যে রয়েছেঃ
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
এই কৌশলটি বিচারের জন্য একাধিক সূচককে একত্রিত করে। সংকেত নির্ভরযোগ্যতা নিশ্চিত করার সময়, এটিতে কিছু সমস্যাও রয়েছে। প্যারামিটার অপ্টিমাইজেশন, সমৃদ্ধ সংকেত উত্স, সামঞ্জস্যযুক্ত বিচারের যুক্তি এবং স্টপ লস ইত্যাদির মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে। এটি পরিমাণগত ব্যবসায়ের জন্য একটি ভাল ধারণা সরবরাহ করে।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Noway0utstorm //@version=5 strategy(title='RSI + BB over 3 bar+--- vortex0.71.3 ', shorttitle='NoWaytruongphuthinh', format=format.price, precision=4,overlay = true) length = input(20, title="Length") mult = input(2.0, title="Multiplier") source = close basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upperBand = basis + dev lowerBand = basis - dev isClosedBar = ta.change(time("15")) var bool closeAboveUpperBand = false var bool closeBelowLowerBand = false // Vortex Indicator Settings period_ = input.int(14, title='Period', minval=2) VMP = math.sum(math.abs(high - low[1]), period_) VMM = math.sum(math.abs(low - high[1]), period_) STR = math.sum(ta.atr(1), period_) VIP = VMP / STR VIM = VMM / STR // lengthrsi = input(14, title="RSI Length") overboughtLevel = input(70, title="Overbought Level") oversoldLevel = input(30, title="Oversold Level") sourcersi = close rsiValue = ta.rsi(sourcersi, lengthrsi) shouldShort = rsiValue > overboughtLevel shouldLong = rsiValue < oversoldLevel if bool(isClosedBar[1]) and bool(isClosedBar[2]) and bool(isClosedBar[3]) if close[1] > upperBand[1] and close[2] > upperBand[2] and close[3] > upperBand[3] and VIP > 1.25 and VIM < 0.7 and rsiValue > overboughtLevel strategy.entry("Short", strategy.short) closeAboveUpperBand := false // Reset the condition when entering a new Short position if close[1] < lowerBand[1] and close[2] < lowerBand[2] and close[3] < lowerBand[3] and VIP < 0.7 and VIM > 1.25 and rsiValue < oversoldLevel strategy.entry("Long", strategy.long) closeBelowLowerBand := false // Reset the condition when entering a new Long position if strategy.position_size > 0 // Check if there is an open Long position closeAboveUpperBand := close > upperBand // Update the condition based on close price if closeAboveUpperBand strategy.close("Long",disable_alert=true) // Close the Long position if close price is above upper band if strategy.position_size < 0 // Check if there is an open Short position closeBelowLowerBand := close < lowerBand // Update the condition based on close price if closeBelowLowerBand strategy.close("Short",disable_alert=true) // Close the Short position if close price is below lower band // Plots plot(basis, color=color.orange, title="Basis") p1 = plot(upperBand, color=color.blue, title="Upper Band") p2 = plot(lowerBand, color=color.blue, title="Lower Band") fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))