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