
এই কৌশলটি একটি পরিমাণগত ট্রেডিং কৌশল যা দ্বি-সমান্তরাল ক্রস নীতির উপর ভিত্তি করে। এই কৌশলটি দুটি পৃথক পিরিয়ডের একটি সরল চলমান গড় গণনা করে ((এসএমএ), যা একটি দীর্ঘ এসএমএ অতিক্রম করার সময় একটি কেনার সংকেত উত্পন্ন করে এবং একটি দীর্ঘ এসএমএ অতিক্রম করার সময় একটি বিক্রয় সংকেত উত্পন্ন করে। এই কৌশল কোডটি তারিখের পরিসীমা এবং সময় ফ্রেমের সেটিংসও প্রবর্তন করে, যা কৌশলটির জন্য নমনীয়ভাবে পুনরায় পরিমাপ এবং অপ্টিমাইজ করতে পারে।
এই কৌশলটির মূল নীতিটি হল বিভিন্ন সময়কালের চলমান গড়ের মধ্যে ক্রস-সংযোগ ব্যবহার করে মূল্য প্রবণতার পরিবর্তনগুলি ধরা। চলমান গড় একটি সাধারণ প্রযুক্তিগত সূচক, যা গত সময়ের দামের গড় করে, স্বল্পমেয়াদী ওঠানামা সরিয়ে দেয় এবং দামের সামগ্রিক প্রবণতা প্রতিফলিত করে। যখন একটি স্বল্পমেয়াদী চলমান গড়ের উপরে একটি দীর্ঘমেয়াদী চলমান গড় অতিক্রম করা হয়, তখন দামের একটি উচ্চতর প্রবণতা শুরু হতে পারে, যার ফলে একটি কেনার সংকেত তৈরি হয়; বিপরীতভাবে, যখন একটি স্বল্পমেয়াদী চলমান গড়ের নীচে একটি দীর্ঘমেয়াদী চলমান গড় অতিক্রম করা হয়, যার ফলে দামের একটি নিম্নমুখী প্রবণতা শুরু হতে পারে, যার ফলে একটি বিক্রয় সংকেত তৈরি হয়।
এসএমএ দ্বৈত সমান্তরাল ক্রস কৌশলটি একটি সহজ, সহজেই বোঝা যায়, এবং অভিযোজিত পরিমাণযুক্ত ট্রেডিং কৌশল। বিভিন্ন পিরিয়ডের চলমান গড়ের ক্রস সম্পর্ক ব্যবহার করে, কৌশলটি কার্যকরভাবে মূল্য প্রবণতার পরিবর্তনগুলি ক্যাপচার করতে পারে, ব্যবসায়ীদের কেনার এবং বিক্রয় সংকেত সরবরাহ করে। তবে, কৌশলটির কার্যকারিতা প্যারামিটার নির্বাচনের প্রতি সংবেদনশীল হতে পারে এবং বাজারের উচ্চতর ওঠানামা হলে ঘন ঘন বাণিজ্য এবং স্থগিত প্রভাব সৃষ্টি করতে পারে। কৌশলটি আরও অপ্টিমাইজ করার জন্য, অন্যান্য প্রযুক্তিগত সূচকগুলি প্রবর্তন করা, প্যারামিটার নির্বাচনগুলি অপ্টিমাইজ করা, ছাঁটাইয়ের শর্তাদি যুক্ত করা, প্যারামিটারগুলি গতিশীলভাবে সামঞ্জস্য করা এবং ঝুঁকি পরিচালনার মতো পদক্ষেপগুলি বিবেচনা করা যেতে পারে। সামগ্রিকভাবে, কৌশলটি পরিমাণযুক্ত ব্যবসায়ের অন্যতম প্রাথমিক কৌশল হিসাবে কাজ করতে পারে তবে বাস্তবে প্রয়োগের ক্ষেত্রে নির্দিষ্ট পরিস্থিতি অনুসারে যথাযথ অপ্টিমাইজেশন এবং উন্নতি প্রয়োজন।
/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA Crossover Strategy with Date Range and Timeframe", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1, initial_capital=1000, currency=currency.USD, pyramiding=0, commission_type=strategy.commission.percent, commission_value=0)
// Define the lengths for the short and long SMAs
shortSMA_length = input.int(50, title="Short SMA Length", minval=1)
longSMA_length = input.int(200, title="Long SMA Length", minval=1)
// Define the start and end dates for the backtest
startDate = input(timestamp("2024-06-01 00:00"), title="Start Date")
endDate = input(timestamp("2024-06-05 00:00"), title="End Date")
// Define the timeframe for the SMAs
smaTimeframe = input.timeframe("D", title="SMA Timeframe")
// Request the short and long SMAs from the selected timeframe
dailyShortSMA = request.security(syminfo.tickerid, smaTimeframe, ta.sma(close, shortSMA_length))
dailyLongSMA = request.security(syminfo.tickerid, smaTimeframe, ta.sma(close, longSMA_length))
// Plot the SMAs on the chart
plot(dailyShortSMA, color=color.blue, title="Short SMA")
plot(dailyLongSMA, color=color.red, title="Long SMA")
// Define the crossover conditions based on the selected timeframe SMAs
buyCondition = ta.crossover(dailyShortSMA, dailyLongSMA)
sellCondition = ta.crossunder(dailyShortSMA, dailyLongSMA)
// Generate buy and sell signals only if the current time is within the date range
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// Optional: Add visual buy/sell markers on the chart
plotshape(series=buyCondition and (time >= startDate and time <= endDate), title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition and (time >= startDate and time <= endDate), title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")