
এই কৌশলটি বিটকয়েন এবং মার্কিন ডলারের ট্রেডিং জোড়া (বিটিসি/ইউএসডিটি) এর 3 মিনিটের সময় ফ্রেমে পরীক্ষিত হয়েছিল এবং খুব ভাল ফলাফল দিয়েছে। এই কৌশলটি ট্রেডিং সংকেত সনাক্ত করতে চলমান গড় এবং এলোমেলো অপেক্ষাকৃত শক্তিশালী সূচক (স্টোক্যাস্টিক আরএসআই) ব্যবহার করে।
এই কৌশলটি দুটি ভিন্ন সময়সীমার সরল চলমান গড় ব্যবহার করে, যথাক্রমে 20 এবং 50 পিরিয়ড। এই দুটি গড় মূল্যের প্রবণতা নির্ধারণের জন্য ব্যবহৃত হয়, যখন স্বল্পমেয়াদী চলমান গড়ের উপর দীর্ঘমেয়াদী চলমান গড়ের উপর একটি মাল্টিহেড সংকেত থাকে এবং নীচে একটি খালি মাথা সংকেত থাকে।
Stochastic RSI সূচকটির গণনা সূত্রটি হল: ((RSI - সর্বনিম্ন RSI) / ((সর্বোচ্চ RSI - সর্বনিম্ন RSI) * 100। এই সূচকটি RSI সূচকটির বর্তমান স্তরকে সাম্প্রতিক সময়ের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন RSI এর অবস্থানকে প্রতিফলিত করে। যখন Stochastic RSI 20 অতিক্রম করে তখন এটি একটি oversell সংকেত এবং যখন এটি 80 অতিক্রম করে তখন এটি একটি oversell সংকেত।
এই কৌশলটি চলমান গড় ব্যবহার করে প্রবণতার দিক নির্ধারণ করে এবং স্টোক্যাস্টিক আরএসআই ব্যবহার করে প্রবেশের সময় হিসাবে সম্ভাব্য বিপর্যয় চিহ্নিত করে।
স্টোক্যাস্টিক আরএসআই বা মুভিং এভারেজ এককভাবে ব্যবহারের তুলনায় এই কৌশলটি ট্রেন্ড সনাক্তকরণে আরও ভাল এবং সম্ভাব্য বিপরীত দিকগুলি সনাক্ত করে, যার ফলে মুনাফা অর্জনের সম্ভাবনা বাড়ায়।
একক সূচকের বিপরীতে, এই কৌশলটি একাধিক সূচককে একত্রিত করে এবং কঠোর প্রবেশের নিয়ম নির্ধারণ করে, যা কার্যকরভাবে মিথ্যা সংকেতগুলিকে ফিল্টার করে এবং অর্থহীন ব্যবসায়কে এড়াতে পারে।
এই কৌশলটি ঝুঁকি নিয়ন্ত্রণেও বেশ কার্যকর, প্রতিবার মাত্র ২% তহবিলের বিনিময়ে জামিনের লেনদেন করে, যা একক ক্ষতির প্রভাবকে কার্যকরভাবে সীমাবদ্ধ করে।
এই কৌশলটি মূলত প্রযুক্তিগত সূচকগুলির উপর নির্ভর করে ট্রেডিং সংকেত নির্ধারণ করে, যদি সূচকটি ব্যর্থ হয় তবে ভুল সংকেত তৈরি হতে পারে যার ফলে ক্ষতি হয়। তদতিরিক্ত, সূচক প্যারামিটারগুলি ভুলভাবে সেট করা কৌশলটির কার্যকারিতাকেও প্রভাবিত করতে পারে।
স্টপ-অফ-লস সেটিংটি বাজারের তীব্র অস্থিরতার সময় ভেঙ্গে যেতে পারে, যার ফলে ক্ষতির বিস্তারের ঝুঁকি রয়েছে।
চলমান গড়ের সাথে অন্যান্য গতিশীলতার সূচক যেমন কেডি, আরএসআই ইত্যাদির সমন্বয় করার চেষ্টা করা যেতে পারে।
বিভিন্ন ক্রিপ্টোকারেন্সির বৈশিষ্ট্য অনুসারে সর্বোত্তম স্টপ-অফ-লস মোড নির্বাচন করা যায়, যা ঝুঁকি নিয়ন্ত্রণে আরও সহায়তা করে।
মেশিন লার্নিং অ্যালগরিদমগুলিকে প্যারামিটার সেটিং এবং সিগন্যাল বিচার নিয়মের স্বয়ংক্রিয় অপ্টিমাইজেশনের জন্য প্রবর্তন করা যেতে পারে, যাতে কৌশলগুলি আরও রুক্ষ এবং অভিযোজিত হয়।
এই কৌশলটি সফলভাবে মুভিং এভারেজ এবং স্টোক্যাস্টিক আরএসআই সূচকগুলির সাথে ট্রেডিং সিগন্যাল নির্ধারণ করে। একক প্রযুক্তিগত সূচকের তুলনায় এই কৌশলটি আরও নির্ভরযোগ্য ট্রেডিং সিগন্যাল সরবরাহ করতে পারে। কঠোর ঝুঁকি নিয়ন্ত্রণ এবং প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে এই কৌশলটি স্থিতিশীল মুনাফা অর্জনের সম্ভাবনা রয়েছে।
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Moving Average and Stochastic RSI Strategy", shorttitle="MA+Stoch RSI", overlay=true)
// Input variables
ma1_length = input.int(20, title="MA1 Length")
ma2_length = input.int(50, title="MA2 Length")
stoch_length = input.int(14, title="Stochastic RSI Length")
overbought = input.int(80, title="Overbought Level")
oversold = input.int(20, title="Oversold Level")
risk_percentage = input.float(2.0, title="Risk Percentage")
// Calculate moving averages
ma1 = ta.sma(close, ma1_length)
ma2 = ta.sma(close, ma2_length)
// Calculate Stochastic RSI
rsi1 = ta.rsi(close, stoch_length)
rsiH = ta.highest(rsi1, stoch_length)
rsiL = ta.lowest(rsi1, stoch_length)
stoch = (rsi1 - rsiL) / (rsiH - rsiL) * 100
// Determine buy and sell signals based on Stochastic RSI
buySignal = ta.crossover(stoch, oversold)
sellSignal = ta.crossunder(stoch, overbought)
// Plot signals on the chart
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Calculate position size based on equity and risk percentage
equity = strategy.equity
riskAmount = equity * risk_percentage / 100
positionSize = riskAmount / ta.atr(14)
// Entry and exit conditions
var float stopLoss = na
var float takeProfit = na
if buySignal
stopLoss := low
takeProfit := high
strategy.entry("Buy", strategy.long)
else if sellSignal
strategy.exit("Sell", from_entry="Buy", stop=stopLoss, limit=takeProfit)