এই কৌশলটি দুটি চলমান গড়ের মধ্যে পার্থক্যের উপর ভিত্তি করে ট্রেডিং সংকেত তৈরি করে। যখন দ্রুত লাইনটি ধীর লাইনের উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দ্রুত লাইনটি ধীর লাইনের নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এটি প্রবণতা অনুসরণকারী কৌশলগুলির বিভাগে অন্তর্ভুক্ত। কৌশলটি সহজ এবং সহজেই বোঝা যায়, মাঝারি মেয়াদী ব্যবসায়ের জন্য উপযুক্ত।
কৌশলটি বিভিন্ন পরামিতি সহ দুটি ইএমএর মধ্যে পার্থক্য গণনা করে এবং তারপরে এই পার্থক্যের ভিত্তিতে ট্রেডিং সংকেত তৈরি করতে অন্য ইএমএ গণনা করে। বিশেষত, এটি একটি সময়কাল নির্বাচন করে, সময়ের EMA/2 এর 2 গুণ দ্রুত লাইন হিসাবে গণনা করে এবং ধীর লাইন হিসাবে সময়ের EMA গণনা করে। এই দুটি EMA এর মধ্যে পার্থক্যের মান পার্থক্য গঠন করে। তারপরে এটি sqrt ((period) সময়ের উপর ভিত্তি করে পার্থক্যের EMA গণনা করে, যার ফলে সূচক লাইন n1 আসে। যখন n1 0 এর উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। সুতরাং যখন n1 0 এর নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। n1 প্রবণতার দিকের প্রতিফলন করে, যা মূল্যের প্রবণতা ক্যাপচার করতে ব্যবহার করা যেতে পারে।
কৌশলটি সহজ এবং সরাসরি, দামের প্রবণতা বিচার করার জন্য ডাবল চলমান গড় পার্থক্য সূচক ব্যবহার করে। এটি একটি সাধারণ প্রবণতা অনুসরণকারী কৌশলের অন্তর্গত। এটি প্রবণতা বাজারে ভাল কাজ করে, তবে পরিসীমা সীমাবদ্ধ বাজারের সময় মিথ্যা সংকেত তৈরি করতে পারে। কৌশলটির সাথে সঠিক প্রবণতা বিচার এবং ঝুঁকি ব্যবস্থাপনা ব্যবহার করা উচিত।
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
কৌশল যুক্তি সহজ এবং স্বজ্ঞাত, সহজেই বোঝা এবং বাস্তবায়ন, নতুনদের জন্য উপযুক্ত;
চলমান গড় পার্থক্যের সূচকটি মূল্য পরিবর্তনের প্রতি সংবেদনশীল এবং প্রবণতা পরিবর্তনকে কার্যকরভাবে ক্যাপচার করতে পারে;
এই কৌশলটির কয়েকটি পরামিতি রয়েছে এবং বাস্তব ট্রেডিংয়ে এটি সহজেই অপ্টিমাইজ করা এবং সামঞ্জস্য করা যায়;
বিভিন্ন বাজারের পরিবেশের সাথে মানিয়ে নিতে দীর্ঘ ও স্বল্পমেয়াদী সূচক একত্রিত করা যেতে পারে;
স্টপ লস কৌশলগুলি হ্রাস হ্রাস করার জন্য ব্যক্তিগত ঝুঁকি পছন্দ অনুযায়ী কনফিগার করা যেতে পারে।
এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ
ব্যাপ্তি-সীমাবদ্ধ বাজারে মিথ্যা সংকেতের হার বেশি, বৃহত্তর সময়সীমার প্রবণতা বিবেচনা করা উচিত;
প্রবণতা বিপরীত পয়েন্ট কার্যকরভাবে নির্ধারণ করতে অক্ষম, একটি নির্দিষ্ট বিলম্ব আছে;
পার্থক্য সূচকের পরামিতিগুলি খুব সংবেদনশীল বা বিলম্বিত হওয়া এড়াতে পর্যবেক্ষণ করা দরকার;
উচ্চ ট্রেডিং ফ্রিকোয়েন্সি উচ্চ লেনদেনের খরচ হতে পারে, অবস্থান আকার নিয়ন্ত্রণ প্রয়োজন।
সংশ্লিষ্ট সমাধানগুলি হলঃ
প্রধান প্রবণতা নির্ধারণের জন্য দীর্ঘ সময়ের চলমান গড়ের সংমিশ্রণ, ব্যাপ্তির সময় ভুলভাবে প্রবেশ করা এড়ানো;
এন্ট্রি এবং আউটপুট পয়েন্ট নির্ধারণের জন্য বিপরীতমুখী সূচক যোগ করা, বিলম্ব ঝুঁকি হ্রাস;
সর্বোত্তম পরামিতি খুঁজে পেতে পরামিতি সংমিশ্রণ পরীক্ষা করা;
ট্রেড প্রতি ক্ষতি হ্রাস করার জন্য স্টপ লস কৌশল অপ্টিমাইজ করা।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সর্বোত্তম পরামিতি খুঁজে পেতে বিভিন্ন চলমান গড় পরামিতি সমন্বয় পরীক্ষা করুন;
ট্রেন্ডিং এবং রেঞ্জ-বান্ধব মার্কেটগুলির মধ্যে পার্থক্য করার জন্য ট্রেন্ড বিচার সূচক যুক্ত করুন;
প্রবেশের নির্ভুলতা উন্নত করতে বিপরীতমুখী সূচক একত্রিত করা;
ক্ষতি কমাতে স্টপ লস কৌশল অপ্টিমাইজ করুন।
বিভিন্ন সময়সীমার পরামিতি পরীক্ষা করা বিভিন্ন বাজারের অবস্থার সাথে কৌশলটির অভিযোজনযোগ্যতা উন্নত করতে পারে। প্রবণতা ফিল্টার যুক্ত করা মিথ্যা সংকেত হ্রাস করতে পারে। বিপরীতমুখী সূচকগুলি এন্ট্রিগুলির সময়কে উন্নত করতে পারে। এই অপ্টিমাইজেশনগুলি কৌশলটির স্থিতিশীলতা এবং লাভজনকতা বাড়িয়ে তুলতে পারে।
চলমান গড় পার্থক্যের উপর ভিত্তি করে ট্রেন্ড অনুসরণকারী কৌশলটির একটি পরিষ্কার এবং সহজেই বোঝার যুক্তি রয়েছে। ডাবল চলমান গড় পার্থক্য ব্যবহার করে দামের প্রবণতা বিচার করে এটি একটি সাধারণ প্রবণতা পশ্চাদ্ধাবন কৌশলের অন্তর্গত। কৌশলটি নিজেই খুব সহজ এবং বাস্তবায়ন করা সহজ, মাঝারি মেয়াদী ব্যবসায়ের জন্য উপযুক্ত, বিশেষত শিক্ষানবিশদের জন্য অধ্যয়ন করার জন্য। তবে কৌশলটির সাথে কিছু ঝুঁকিও রয়েছে যা অপ্টিমাইজেশনের মাধ্যমে হ্রাস করা দরকার। সঠিক পরামিতি টিউনিং এবং ঝুঁকি নিয়ন্ত্রণের সাথে কৌশলটি ভাল ফলাফল অর্জন করতে পারে।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='Devick', overlay=true) // Input parameters period = input(title='Period', defval=21) // Calculate moving averages n2ma = 2 * ta.ema(close, math.round(period / 2)) nma = ta.ema(close, period) diff = n2ma - nma sqn = math.round(math.sqrt(period)) n2maPrev = 2 * ta.ema(close[1], math.round(period / 2)) nmaPrev = ta.ema(close[1], period) diffPrev = n2maPrev - nmaPrev sqnPrev = math.round(math.sqrt(period)) n1 = ta.ema(diff, sqn) n2 = ta.ema(diffPrev, sqnPrev) // Determine color based on condition maColor = n1 > n2 ? color.green : color.red // Plot moving average ma = plot(n1, color=maColor, linewidth=2) // Signals buySignal = n1 > n2 and n1[1] <= n2[1] sellSignal = n1 <= n2 and n1[1] > n2[1] // Plot shapes for signals plotshape(series=buySignal, title='Buy Signal', style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small) plotshape(series=sellSignal, title='Sell Signal', style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small) // Alerts alertcondition(condition=buySignal, title='Buy Signal', message='Buy Signal Detected') alertcondition(condition=sellSignal, title='Sell Signal', message='Sell Signal Detected') // Trading hours openHour = 16 closeHour = 17 // Open position at 4 pm openCondition = hour == openHour and minute == 0 strategy.entry("Buy", strategy.long, when=buySignal) strategy.entry("Sell", strategy.short, when=sellSignal) // Close all positions at 5 pm closeCondition = hour == closeHour and minute == 0 strategy.close_all(when=closeCondition)