ডুয়াল এসএমএ ক্রসওভার কৌশলটি বিভিন্ন প্যারামিটার সেটিং সহ দুটি এসএমএ লাইনের ক্রসওভার গণনা করে ট্রেডিং সংকেত তৈরি করে। যখন দ্রুত এসএমএ লাইনটি ধীর এসএমএ লাইনের উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন ধীর এসএমএ লাইন দ্রুত এসএমএ লাইনের নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। কৌশলটি একই সময়ে এসএমএ প্যারামিটারের দুটি সেট ব্যবহার করে, একটি সেট প্রবেশের পয়েন্টগুলি নির্ধারণ করতে এবং অন্যটি প্রস্থান পয়েন্টগুলি নির্ধারণ করতে।
এই কৌশলটি এসএমএ পরামিতির দুটি সেট ব্যবহার করে,smaB1
, smaB2
ক্রয় সংকেত, এবংsmaS1
, smaS2
বিক্রয় সংকেতগুলির জন্য, যথাক্রমে ধীর এবং দ্রুত চলমান গড়ের প্রতিনিধিত্ব করে।smaB1
উপরে ক্রসsmaB2
, একটি কিনতে সংকেত উৎপন্ন হয়.smaS2
নীচে ক্রসsmaS1
, একটি বিক্রয় সংকেত উৎপন্ন হয় যা বাজারের পরিবর্তিত পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য প্রবেশ এবং প্রস্থান শর্তগুলির নমনীয় সমন্বয় করতে দেয়।
বিশেষত, এই কৌশলটি ক্রসিংয়ের সময় নির্ধারণের জন্য বন্ধের মূল্য থেকে গণনা করা দুটি এসএমএ লাইনের মধ্যে ক্রসওভার পরিস্থিতিগুলি পর্যবেক্ষণ করে। যখন দ্রুত এসএমএ লাইন ধীর এসএমএ লাইনের উপরে অতিক্রম করে, তখন এটি বিচার করা হয় যে দামের প্রবণতা ঊর্ধ্বমুখী, তাই এই সময়ে দীর্ঘ যান। এবং যখন ধীর এসএমএ লাইন দ্রুত এসএমএ লাইনের নীচে অতিক্রম করে, তখন দামের প্রবণতা নেমে যায়, তাই দীর্ঘ অবস্থানগুলি থেকে বেরিয়ে আসে।
এই কৌশলটির প্রধান সুবিধাগুলো হল:
এই কৌশলটির সাথে কিছু ঝুঁকিও জড়িতঃ
উপরের ঝুঁকিগুলি নিয়ন্ত্রণ করতে, এসএমএ প্যারামিটার অপ্টিমাইজেশন, লাভের লক করার জন্য গতিশীল স্টপ লস ইত্যাদি কৌশল উন্নত করতে ব্যবহার করা যেতে পারে।
এই কৌশলটির জন্য কিছু অপ্টিমাইজেশান দিকঃ
এসএমএ ক্রসওভার কৌশলটি দুটি এসএমএ লাইনের মধ্যে ক্রসওভার পরিস্থিতি গণনা করে সহজ এবং কার্যকর ট্রেডিং সংকেত উত্পন্ন করে। পরামিতিগুলি সামঞ্জস্য করার নমনীয়তা এই কৌশলটিকে বিভিন্ন পণ্যের সাথে খাপ খাইয়ে নিতে পারে এবং এটি একটি সাধারণভাবে ব্যবহৃত ট্রেন্ড অনুসরণকারী কৌশল। আরও নির্ভরযোগ্য সংকেত উত্পন্ন করতে পরামিতি অপ্টিমাইজেশন, সংকেত ফিল্টারিং ইত্যাদির মাধ্যমে এই কৌশলটিতে আরও উন্নতি করা যেতে পারে।
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-22 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © melihtuna //@version=4 strategy("SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent) smaB1 = input(title="smaB1",defval=377) smaB2 = input(title="smaB2",defval=200) smaS1 = input(title="smaS1",defval=377) smaS2 = input(title="smaS2",defval=200) smawidth = 2 plot(sma(close, smaB1), color = #EFB819, linewidth=smawidth, title='smaB1') plot(sma(close, smaB2), color = #FF23FD, linewidth=smawidth, title='smaB2') plot(sma(close, smaS1), color = #000000, linewidth=smawidth, title='smaS1') plot(sma(close, smaS2), color = #c48dba, linewidth=smawidth, title='smaS2') // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2020, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false longCondition = crossover(sma(close, smaB1),sma(close, smaB2)) if (window() and longCondition) strategy.entry("BUY", strategy.long) shortCondition = crossover(sma(close, smaS2),sma(close, smaS1)) if (window() and shortCondition) strategy.entry("SELL", strategy.short)