ডুয়াল মুভিং এভারেজ ট্রেডিং কৌশল একটি সাধারণ পরিমাণগত ট্রেডিং কৌশল। এই কৌশলটি তাদের ক্রসওভারের উপর ভিত্তি করে ট্রেডিং সংকেত তৈরি করতে বিভিন্ন সময়কালের সাথে দুটি চলমান গড় ব্যবহার করে। বিশেষত, যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের উপরে অতিক্রম করে, এটি একটি ক্রয় সংকেত হিসাবে বিবেচিত হয়; যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের নীচে অতিক্রম করে, এটি একটি বিক্রয় সংকেত হিসাবে বিবেচিত হয়।
এই কৌশলটির মূল নীতি হ'লঃ স্বল্পমেয়াদী চলমান গড় সম্পদ মূল্যের স্বল্পমেয়াদী প্রবণতা প্রতিফলিত করে এবং দীর্ঘমেয়াদী চলমান গড় সম্পদ মূল্যের দীর্ঘমেয়াদী প্রবণতা প্রতিফলিত করে। যখন স্বল্পমেয়াদী লাইন দীর্ঘমেয়াদী লাইনের উপরে অতিক্রম করে, এটি নির্দেশ করে যে স্বল্পমেয়াদী প্রবণতা বেড়েছে, এই সময়ে আপনি কিনতে পারেন। যখন স্বল্পমেয়াদী লাইন দীর্ঘমেয়াদী লাইনের নীচে অতিক্রম করে, এটি নির্দেশ করে যে স্বল্পমেয়াদী প্রবণতা হ্রাস পেয়েছে, এই সময়ে আপনি বিক্রি করতে পারেন। প্রবণতা অনুসরণ করুন, মূল্য প্রবণতার পালা পয়েন্টটি ধরুন।
বিশেষত, কৌশলটি দুটি চলমান গড় সংজ্ঞায়িত করেঃ স্বল্পমেয়াদী মূল্য প্রবণতা ক্যাপচার করার জন্য একটি 5-দিনের স্বল্পমেয়াদী চলমান গড়; এবং দীর্ঘমেয়াদী মূল্য প্রবণতা বিচার করার জন্য একটি 15-দিনের দীর্ঘমেয়াদী চলমান গড়। যখন 5-দিনের লাইনটি 15-দিনের লাইনের উপরে চলে যায়, তখন এটি নির্দেশ করে যে স্বল্পমেয়াদী মূল্য বাড়তে শুরু করেছে, যা একটি ক্রয় সংকেত; যখন 5-দিনের লাইনটি 15-দিনের লাইনের নীচে অতিক্রম করে, তখন এটি নির্দেশ করে যে স্বল্পমেয়াদী মূল্য হ্রাস পেতে শুরু করেছে, এটি একটি বিক্রয় সংকেত।
অন্যান্য কৌশলগুলির তুলনায়, দ্বৈত চলমান গড় কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
ডাবল চলমান গড় কৌশল এছাড়াও কিছু ঝুঁকি আছে, প্রধানত অন্তর্ভুক্তঃ
সমাধান:
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
মিথ্যা সংকেত ফিল্টার করার জন্য MACD, KDJ এর মতো অন্যান্য সূচকগুলির সাথে একত্রিত করুন।
এডাপ্টিভ মুভিং মিডিয়ার প্রবর্তন করা হবে, যা নির্ভরযোগ্যতার উন্নতির জন্য বাজারের অস্থিরতার উপর ভিত্তি করে গতিশীলভাবে পরামিতিগুলি সামঞ্জস্য করবে।
সর্বোত্তম সমন্বয় খুঁজে পেতে এবং কৌশল কর্মক্ষমতা উন্নত করতে চলমান গড় পরামিতি অপ্টিমাইজ করুন।
হ্রাসকে সীমাবদ্ধ করতে এবং ঝুঁকি নিয়ন্ত্রণ বাড়াতে স্টপ লস প্রক্রিয়া যুক্ত করুন।
স্থিতিশীলতা উন্নত করার জন্য দৈনিক এবং সাপ্তাহিক লাইন থেকে সংকেত ব্যবহার করে একাধিক সময় ফ্রেমগুলির সংমিশ্রণ।
মার্কভ স্টেট সুইচ, বিভিন্ন বাজারের অবস্থার অধীনে বিভিন্ন পরামিতি ব্যবহার করুন অভিযোজনযোগ্যতা উন্নত করতে।
সাধারণভাবে, দ্বৈত চলমান গড় ট্রেডিং কৌশলটি বেশ কার্যকর এবং স্থিতিশীল। ট্রেডিং নীতিটি বোঝা এবং বাস্তবায়ন করা সহজ, প্যারামিটারগুলি বাজারের প্রবণতাগুলির সাথে খাপ খাইয়ে নেওয়ার জন্য নমনীয়। এদিকে মিথ্যা সংকেত তৈরির মতো কিছু সীমাবদ্ধতা রয়েছে এবং মারাত্মক বাজারের ওঠানামা মোকাবেলায় অসুবিধা রয়েছে। অন্যান্য সরঞ্জাম এবং প্যারামিটার অপ্টিমাইজেশান প্রবর্তনের মাধ্যমে এগুলি মোকাবেলা করা যেতে পারে। সামগ্রিকভাবে বলতে গেলে, এটি পরিমাণগত ট্রেডিংয়ের নতুনদের শেখার এবং অনুশীলনের জন্য উপযুক্ত একটি ব্যবহারিক কৌশল।
//@version=3 strategy("CS: 2 Moving Averages Script - Strategy (Testing)", overlay=true) // === GENERAL INPUTS === // short ma ma1Source = input(defval = close, title = "MA 1 Source") ma1Length = input(defval = 5, title = "MA 1 Period", minval = 1) // long ma ma2Source = input(defval = close, title = "MA 2 Source") ma2Length = input(defval = 15, title = "MA 2 Period", minval = 1) // === SERIES SETUP === /// a couple of ma's.. ma1 = ema(ma1Source, ma1Length) ma2 = ema(ma2Source, ma2Length) // === PLOTTING === fast = plot(ma1, title = "MA 1", color = red, linewidth = 2, style = line, transp = 30) slow = plot(ma2, title = "MA 2", color = green, linewidth = 2, style = line, transp = 30) // === LOGIC === enterLong = crossover(ma1, ma2) exitLong = crossover(ma2, ma1) // === 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 = 2018, title = "From Year", minval = 2012) 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 = 2012) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" // Entry // strategy.entry(id="Long Entry", long=true, when=enterLong and window()) strategy.entry(id="Short Entry", long=false, when=exitLong and window())