
এই কৌশলটি একটি পরিমাণগত ট্রেডিং কৌশল ডিজাইন করেছে যা ব্রিনের বন্ড এবং অপেক্ষাকৃত দুর্বল সূচক (RSI) এর উপর ভিত্তি করে। এই কৌশলটি প্রবণতা ট্র্যাকিং এবং ওভারব্রেড ওভারসোলের বিচারকে একত্রিত করে, যা প্রবণতা শুরু হওয়ার পর্যায়ে বাজারে প্রবেশের জন্য এবং লাভ অর্জনের জন্য ওভারব্রেড ওভারসোলের ক্ষেত্রে প্রস্থান করার জন্য।
এই কৌশলটি দামের প্রবণতা এবং সমর্থনকারী প্রতিরোধের স্তর নির্ধারণের জন্য বুলিন ব্যবহার করে। দাম যখন বুলিনের নীচে নেমে আসে তখন এটি একটি ওভারসোল সংকেত হিসাবে দেখা হয়; যখন দাম বুলিনের নীচে নেমে আসে তখন এটি একটি ওভারসোল সংকেত হিসাবে দেখা হয়। একই সাথে, আরএসআই সূচকের সাথে মিলিত হয়ে ওভারসোল্ড বা ওভারসোল্ড কিনা তা নির্ধারণ করা হয়।
নির্দিষ্ট ট্রেডিং নিয়ম হলঃ যখন দাম বুলিনের নীচে নেমে যায় এবং আরএসআই 30 এর নীচে থাকে তখন অতিরিক্ত প্রবেশ করুন; যখন দাম বুলিনের উপরে থাকে এবং আরএসআই 70 এর উপরে থাকে তখন খালি প্রবেশ করুন। স্টপ আউট করার সময়, বুলিনের মাঝের লাইন বা বিপরীত দিকের বুলিনের রেলটি স্টপ হিসাবে চয়ন করুন। স্টপ লসটি প্রবেশের দামের একটি নির্দিষ্ট শতাংশ হিসাবে সেট করা হয়েছে।
এই কৌশলটি ব্রিনের প্রবণতা ট্র্যাকিং এবং আরএসআইয়ের ওভার-বই ওভার-বিক্রয় সিদ্ধান্তের সাথে মিলিত হয়, যা প্রবণতার সূচনা পয়েন্টটি আরও ভালভাবে ধরে রাখতে সহায়তা করে। একই সাথে, স্টপ-অফ এবং স্টপ-লস কৌশলটি আরও স্পষ্ট এবং ঝুঁকি পরিচালনার পক্ষে উপকারী।
এই কৌশলটি একাধিক সূচক এবং প্যারামিটারগুলিকে একত্রিত করে যা সিদ্ধান্ত গ্রহণের নির্ভুলতা বাড়িয়ে তুলতে পারে। প্যারামিটারগুলি যথাযথভাবে সমন্বয় করা হলে, এর ট্রেডিং কার্যকারিতা তুলনামূলকভাবে স্থিতিশীল থাকে।
এই কৌশলটি মূলত প্যারামিটার অপ্টিমাইজেশনের উপর নির্ভর করে এবং যদি প্যারামিটারগুলি ভুলভাবে সেট করা হয় তবে বড় ঝুঁকির সম্মুখীন হয়। উদাহরণস্বরূপ, বুলিন-ব্যান্ডের সময়কালের প্যারামিটারগুলি মিলছে না, এটি প্রবণতা মিস করতে পারে বা মিথ্যা সংকেত তৈরি করতে পারে। এছাড়াও, স্টপ-অফ স্টপ লস পয়েন্টগুলিও যত্ন সহকারে মূল্যায়ন করা দরকার।
এই কৌশলটি ট্রেডিং জাতের উপরও নির্ভরশীল। উচ্চতর ওঠানামার জাতের জন্য, ব্রিনের ব্যান্ড প্যারামিটারগুলিকে সামঞ্জস্য করতে হবে। প্রবণতা অস্পষ্ট জাতের জন্য, প্রভাবটি হ্রাস পাবে। এছাড়াও, কৌশলটি লেনদেনের ব্যয়, স্লাইড এবং চরম পরিস্থিতিতে প্রভাবিত হয়।
প্যারামিটার অপ্টিমাইজেশান টেস্টিং, স্টপ লস লেভেলের মূল্যায়ন, এবং বিভিন্ন জাত এবং মার্কেট পরিবেশের অধীনে পারফরম্যান্সের পরীক্ষা করার পরামর্শ দেওয়া হয়।
এই কৌশলটি আরও উন্নত করার জন্য নিম্নলিখিত দিকগুলি অনুসরণ করা যেতে পারেঃ
ব্রিন-ব্যান্ড এবং আরএসআই এর প্যারামিটারগুলিকে মূল্যায়ন ও অনুকূলিতকরণ করুন যাতে এটি ট্রেডিংয়ের জাতের সাথে আরও মিলিত হয়
KDJ, MACD ইত্যাদির মতো অন্যান্য পরিমাপক যুক্ত করে একটি মাল্টি-ফ্যাক্টর মডেল তৈরি করুন
স্টপ লস কৌশল মূল্যায়ন করুন, ফ্লোরিড স্টপ বা ব্যাচ স্টপ সেট করুন
নির্দিষ্ট জাত এবং বাজারের পরিবেশের উপর ভিত্তি করে প্যারামিটারগুলির গতিশীল অপ্টিমাইজেশন
সিগন্যালের গুণমান এবং ঝুঁকির মাত্রা নির্ধারণে মেশিন লার্নিং মডেল যুক্ত করা
এই কৌশলটি বুলিন ব্যান্ড এবং আরএসআই সূচকগুলিকে একত্রিত করে একটি সম্পূর্ণ ট্রেন্ড ট্র্যাকিং কৌশল ডিজাইন করেছে। প্যারামিটার অপ্টিমাইজেশন এবং ঝুঁকি পরিচালনার মাধ্যমে এর কার্যকারিতা এবং স্থায়িত্বের আরও উন্নতি করার জায়গা রয়েছে। আপনার নিজের প্রয়োজন এবং ঝুঁকি পছন্দ অনুসারে আরও ভাল পারফরম্যান্স অর্জনের জন্য সামঞ্জস্য এবং অপ্টিমাইজ করার পরামর্শ দেওয়া হয়েছে।
/*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)