এই কৌশলটি বোলিংজার ব্যান্ড, আরএসআই সূচক এবং মাল্টি-টাইমফ্রেম বিশ্লেষণকে অন্তর্ভুক্তি করে মধ্য থেকে দীর্ঘমেয়াদী প্রবণতার দিক ধরে রাখতে। এটি বোলিংজার ব্যান্ডের ব্রেকআউটগুলির মাধ্যমে প্রবণতা বিপরীত পয়েন্টগুলি চিহ্নিত করে।
দামের ব্রেকআউট নির্ধারণের জন্য বোলিংজার ব্যান্ড প্রয়োগ করুন। মাঝের ব্যান্ডটি N দিনের মধ্যে বন্ধের দামের চলমান গড়। উপরের এবং নীচের ব্যান্ডগুলি মাঝের ব্যান্ডের উভয় পাশে এক স্ট্যান্ডার্ড বিচ্যুতির দূরত্বে স্থাপন করা হয়। উপরের ব্যান্ডের উপরে ভাঙ্গন উত্থানের সংকেত দেয় যখন নিম্ন ব্যান্ডের নীচে ভাঙ্গন হ্রাসের সংকেত দেয়।
অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় স্তরগুলি সনাক্ত করতে আরএসআই সূচকটি অন্তর্ভুক্ত করুন। 70 এর উপরে আরএসআই অতিরিক্ত ক্রয়ের শর্তগুলি নির্দেশ করে এবং 30 এর নীচে অতিরিক্ত বিক্রয় শর্তগুলি নির্দেশ করে। 70 এর উপরে আরএসআই আপসাইড ব্রেকআউট আপসাইড গতির দুর্বলতা নিশ্চিত করে। 30 এর নীচে আরএসআই ডাউনসাইড ব্রেকআউট ডাউনসাইড গতির দুর্বলতা নিশ্চিত করে।
মিথ্যা ব্রেকআউট ফিল্টার করার জন্য উচ্চতর সময়সীমা ব্যবহার করুন। যখন একটি ব্রেকআউট সিগন্যাল দৈনিক সময়সীমার উপর প্রদর্শিত হয়, এটি আটকে না হওয়ার জন্য 4 ঘন্টা বা উচ্চতর সময়সীমার থেকে অতিরিক্ত নিশ্চিতকরণের প্রয়োজন হয়।
একাধিক সূচককে একত্রিত করা কৌশল স্থিতিশীলতা এবং লাভজনকতা বৃদ্ধি করে।
আরএসআই এর অন্তর্ভুক্তি ভুয়া ব্রেকআউট থেকে ক্ষতি হ্রাস করে।
মাল্টি-টাইমফ্রেম বিশ্লেষণ কার্যকরভাবে বিভিন্ন বাজার ফিল্টার করে এবং ফাঁদে পড়া থেকে বিরত রাখে।
অপ্টিমাইজড ব্রেকআউট সিগন্যাল নির্ধারণ (পরপরের ৩টি বারের বেশি ব্রেকআউট) এন্ট্রি করার আগে পর্যাপ্ত ট্রেন্ড মেয়াদ নিশ্চিত করে।
ভর্টেক্স ইন্ডিকেটর প্রাথমিকভাবে প্রবণতার দিকনির্দেশনা নির্ধারণ করে।
অপর্যাপ্ত বোলিংজার ব্যান্ডের প্যারামিটারাইজেশন ভুল ওভারকপ/ওভারসোল্ড সংকেত দেয়।
বিভিন্ন পণ্যের জন্য যুক্তিসঙ্গত RSI পরামিতি মান আলাদাভাবে নির্ধারণ করা উচিত।
ব্রেকআউট সিগন্যালগুলি মিথ্যা ব্রেকআউট হতে পারে। সে অনুযায়ী স্টপ লস প্রসারিত করার কথা বিবেচনা করুন।
পর্যাপ্ত স্টপ লস মার্জিন বজায় রাখুন, উদাহরণস্বরূপ 3 বার ATR।
মেশিন লার্নিং অ্যালগরিদম প্রয়োগ করুন বোলিঞ্জার ব্যান্ড এবং আরএসআই এর জন্য স্বয়ংক্রিয়ভাবে সেট আপ করার জন্য।
ভোল্টেবিলিটি মেট্রিক্সের ভিত্তিতে স্টপ লস স্তরগুলি অপ্টিমাইজ করুন।
পরিবর্তনশীল বাজারের অবস্থার উপর ভিত্তি করে এক্সপোজারগুলিকে ক্যালিব্রেট করার জন্য পজিশন সাইজিং মডিউল অন্তর্ভুক্ত করুন।
অর্থ পরিচালনার নীতির উপর ভিত্তি করে প্রতি ট্রেডে সর্বাধিক ক্ষতি সীমাবদ্ধ করা।
বিভিন্ন ট্রেডিং সেশনে সিগন্যালের স্থিতিশীলতা মূল্যায়ন করুন।
এই কৌশলটি আকর্ষণীয় ঝুঁকি-প্রতিফল প্রোফাইলের জন্য উচ্চমানের মধ্য-দীর্ঘমেয়াদী প্রবণতা ক্যাপচার করার জন্য সর্বোত্তম প্রবেশের সময় সন্ধানের সময় ঝুঁকি নিয়ন্ত্রণের জন্য প্রবণতা নির্ধারণ, অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় শর্ত এবং একাধিক সময়সীমা বিশদভাবে পরীক্ষা করে। আরও উন্নতি প্যারামিটার অপ্টিমাইজেশান, স্টপ লস প্রক্রিয়া ইত্যাদির মাধ্যমে আরও ভাল বিনিয়োগের কর্মক্ষমতা অর্জনের জন্য অনুসন্ধান করা যেতে পারে।
/*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='Vortex0.71.3 + bb 3bar breakout + rsi - close hit upper or lower', shorttitle='truongphuthinh', 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))