এই কৌশলটি বোলিংজার ব্যান্ড এবং আপেক্ষিক শক্তি সূচক (আরএসআই) এর উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল ডিজাইন করে। এটি প্রবণতা ট্র্যাকিং এবং একটি প্রবণতার শুরুতে বাজারে প্রবেশ এবং মুনাফা অর্জনের জন্য অতিরিক্ত ক্রয় / oversold স্তরে প্রস্থান করার জন্য প্রবণতা ট্র্যাকিং এবং overbought / oversold বিচারকে একত্রিত করে।
কৌশলটি মূল্যের প্রবণতা এবং সমর্থন / প্রতিরোধের স্তর নির্ধারণের জন্য বোলিংজার ব্যান্ড ব্যবহার করে। নিম্ন বোলিংজার ব্যান্ডের কাছাকাছি মূল্যগুলি একটি ওভারসোল্ড সংকেত হিসাবে দেখা হয়, যখন উপরের বোলিংজার ব্যান্ডের কাছাকাছি মূল্যগুলি একটি ওভারক্রয় সংকেত হিসাবে দেখা হয়। একই সাথে, এটি ওভারসোল্ড বা ওভারক্রয় শর্তগুলি বিদ্যমান কিনা তা নির্ধারণ করতে আরএসআই সূচক অন্তর্ভুক্ত করে।
নির্দিষ্ট ট্রেডিং নিয়মগুলি হ'লঃ দামটি নিম্ন বোলিঞ্জার ব্যান্ডের নীচে এবং আরএসআই 30 এর নীচে থাকলে দীর্ঘ যান; দামটি উপরের বোলিঞ্জার ব্যান্ডের উপরে এবং আরএসআই 70 এর উপরে থাকলে শর্ট যান। মুনাফা গ্রহণের জন্য, মধ্যম বোলিঞ্জার ব্যান্ড বা বিপরীত বোলিঞ্জার ব্যান্ডকে লাভের স্তর হিসাবে সেট করুন। স্টপ লসটি প্রবেশ মূল্যের একটি নির্দিষ্ট শতাংশে সেট করা হয়।
এই কৌশলটি বোলিংজার ব্যান্ডের ট্রেন্ড ট্র্যাকিং ক্ষমতা এবং আরএসআই এর ওভারবয়ড/ওভারসোল্ড রায়কে একত্রিত করে একটি ভাল ট্রেন্ড শুরুর সময় নির্ধারণ করে। এছাড়াও, লাভ গ্রহণ এবং স্টপ লস কৌশলগুলি স্পষ্ট ঝুঁকি ব্যবস্থাপনা প্রদান করে।
বোলিংজার ব্যান্ড বা আরএসআই এর মতো একক সূচক ব্যবহারের তুলনায়, এই কৌশলটি সিদ্ধান্তের নির্ভুলতা উন্নত করতে একাধিক সূচক এবং পরামিতি ব্যবহার করে। সঠিক পরামিতি টিউনিং সহ, এটি তুলনামূলকভাবে স্থিতিশীল কর্মক্ষমতা অর্জন করতে পারে।
এই কৌশলটি পরামিতি অপ্টিমাইজেশনের উপর নির্ভর করে। ভুল পরামিতি সেটিংগুলি অনুপস্থিত প্রবণতা বা মিথ্যা সংকেত তৈরি করতে পারে। উদাহরণস্বরূপ, বিপরীত বোলিঞ্জার সময়কাল যেমন সমস্যা সৃষ্টি করতে পারে। লাভ এবং স্টপ লস স্তরগুলিও সাবধানে মূল্যায়ন করা প্রয়োজন।
কৌশলটি ট্রেডিং যন্ত্রের উপরও নির্ভর করে। অত্যন্ত অস্থির সম্পদের জন্য, বোলিংজার ব্যান্ড পরামিতিগুলি যথাযথভাবে সামঞ্জস্য করা দরকার। অস্পষ্ট প্রবণতা সহ যন্ত্রগুলির জন্য, পারফরম্যান্সও ক্ষতিগ্রস্থ হতে পারে। লেনদেনের ব্যয়, স্লিপ এবং চরম বাজারের ইভেন্টগুলির দ্বারাও প্রভাবিত।
বিভিন্ন সম্পদ এবং বাজার ব্যবস্থায় মুনাফা গ্রহণ / স্টপ লস স্তর এবং কর্মক্ষমতা মূল্যায়ন করার জন্য পরামিতি অপ্টিমাইজেশান পরীক্ষা করার পরামর্শ দেওয়া হয়। ঝুঁকি ব্যবস্থাপনা বাফার বজায় রাখুন।
বিভিন্ন দিক উন্নত করা যেতে পারে:
ট্রেডিং যন্ত্রের বৈশিষ্ট্যগুলির সাথে আরও ভালভাবে মেলে এমন বোলিংজার ব্যান্ড এবং আরএসআই এর পরামিতিগুলি মূল্যায়ন এবং অনুকূলিতকরণ
মাল্টিফ্যাক্টর মডেল তৈরির জন্য কেডিজে, এমএসিডি এর মতো অতিরিক্ত সূচক অন্তর্ভুক্ত করুন
মুনাফা গ্রহণ/স্টপ লস কৌশলগুলি মূল্যায়ন করুন, যেমন ট্রেলিং স্টপ লস বা স্কেলড আউট
নির্দিষ্ট সম্পদ এবং বাজারের অবস্থার উপর ভিত্তি করে গতিশীল পরামিতি মিটিং পরিচালনা করুন
সিগন্যালের গুণমান এবং ঝুঁকির মাত্রা বিচার করার জন্য মেশিন লার্নিং মডেল যুক্ত করুন
এই কৌশলটি একটি বিস্তৃত প্রবণতা অনুসরণকারী সিস্টেমের জন্য বোলিংজার ব্যান্ড এবং আরএসআইকে একীভূত করে। প্যারামিটার টিউনিং এবং ঝুঁকি পরিচালনার মাধ্যমে কার্যকারিতা এবং স্থিতিশীলতা উন্নত করার জন্য আরও জায়গা রয়েছে। আরও ভাল পারফরম্যান্সের জন্য স্বতন্ত্র চাহিদা এবং ঝুঁকি পছন্দগুলির ভিত্তিতে কাস্টম সমন্বয় এবং অপ্টিমাইজেশান সুপারিশ করা হয়।
/*backtest start: 2023-11-01 00:00:00 end: 2023-11-30 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("BB + RSI Estrategia", overlay=true) longitud = input(20, title="Longitud BB", minval=5, maxval=50, step=1) multiplicador = input(2.0, title="Multiplicador BB", type=input.float, step=0.1) timeframe_bb = input("D", title="Marco de Tiempo BB", type=input.resolution) rsi_length = input(14, title="Longitud RSI", minval=5, maxval=50, step=1) rsi_overbought = input(70, title="Nivel de sobrecompra RSI", minval=50, maxval=80, step=1) rsi_oversold = input(30, title="Nivel de sobreventa RSI", minval=20, maxval=50, step=1) take_profit = input("Central", title="Take Profit (banda)", options=["Central", "Opuesta"]) stop_loss = input(2.00, title="Stop Loss", type=input.float, step=0.10) var SL = 0.0 [banda_central, banda_superior, banda_inferior] = security(syminfo.tickerid, timeframe_bb, bb(close, longitud, multiplicador)) rsi_value = rsi(close, rsi_length) comprado = strategy.position_size > 0 vendido = strategy.position_size < 0 if not comprado and not vendido if close < banda_inferior and rsi_value < rsi_oversold // Realizar la compra cantidad = round(strategy.equity / close) strategy.entry("Compra", strategy.long, qty=cantidad, when=cantidad > 0) SL := close * (1 - (stop_loss / 100)) if close > banda_superior and rsi_value > rsi_overbought // Realizar la Venta cantidad = round(strategy.equity / close) strategy.entry("Venta", strategy.short, qty=cantidad, when=cantidad > 0) SL := close * (1 + (stop_loss / 100)) if comprado // Verificar el take profit if take_profit == "Central" and close >= banda_central strategy.close("Compra", comment="TP") SL := 0 if take_profit == "Opuesta" and close >= banda_superior strategy.close("Compra", comment="TP") SL := 0 // Verificar el stop loss if close <= SL strategy.close("Compra", comment="SL") SL := 0 if vendido // Verificar el take profit if take_profit == "Central" and close <= banda_central strategy.close("Venta", comment="TP") SL := 0 if take_profit == "Opuesta" and close <= banda_inferior strategy.close("Venta", comment="TP") SL := 0 // Verificar el Stop loss if close >= SL strategy.close("Venta", comment="SL") SL := 0 // Salida plot(SL > 0 ? SL : na, style=plot.style_circles, color=color.red) g1 = plot(banda_superior, color=color.aqua) plot(banda_central, color=color.red) g2 = plot(banda_inferior, color=color.aqua) fill(g1, g2, color=color.aqua, transp=97) // Dibujar niveles de sobrecompra/sobreventa del RSI hline(rsi_overbought, "RSI Overbought", color=color.red) hline(rsi_oversold, "RSI Oversold", color=color.green)