
এই কৌশলটি বাজারের প্রবণতা নির্ধারণের জন্য দুটি পৃথক পিরিয়ডের ইএমএ গড়ের ক্রসগুলি গণনা করে এবং সেই অনুযায়ী একটি লেনদেনের সংকেত তৈরি করে। যখন সংক্ষিপ্ত পিরিয়ডের ইএমএ দীর্ঘ পিরিয়ডের ইএমএ অতিক্রম করে, তখন বাজারটি উত্থানের প্রবণতাতে প্রবেশ করে বলে মনে করে এই কৌশলটি আরও বেশি পজিশন খুলবে; যখন সংক্ষিপ্ত পিরিয়ডের ইএমএ দীর্ঘ পিরিয়ডের ইএমএ অতিক্রম করে, তখন বাজারটি নিম্নমুখী প্রবণতাতে প্রবেশ করে বলে মনে করে এই কৌশলটি পজিশন থেকে বেরিয়ে আসবে।
এই কৌশলটি মূলত ডাবল ইএমএ গড়রেখার গোল্ডেন ফর্ক ডাইফোর্ক তত্ত্ব প্রয়োগ করে। ডাবল ইএমএ গড়রেখাকে দীর্ঘ ইএমএ এবং সংক্ষিপ্ত ইএমএ হিসাবে বিভক্ত করা হয়েছে। সংক্ষিপ্ত ইএমএ প্যারামিটারটি 10 দিন এবং দীর্ঘ ইএমএ প্যারামিটারটি 21 দিন সেট করা হয়েছে।
যখন সংক্ষিপ্ত ইএমএ লম্বা ইএমএ অতিক্রম করে, তখন একটি কেনার সংকেত উত্পন্ন হয়; যখন সংক্ষিপ্ত ইএমএ লম্বা ইএমএ অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এই কৌশলটি একই সাথে বৃদ্ধির হারের থ্রেশহোল্ড সেট করে, কেবলমাত্র যখন বৃদ্ধির হার থ্রেশহোল্ড অতিক্রম করে তখনই পজিশন খোলা হয় এবং যখন পতন থ্রেশহোল্ড অতিক্রম করে তখনই পজিশনটি প্লেইন করা হয়।
বিশেষ করে, ক্রয় শর্তটি হল সংক্ষিপ্ত ইএমএ দীর্ঘ ইএমএর চেয়ে বেশি এবং শেয়ারের মূল্য বৃদ্ধির হার সেট করা পজিটিভ থ্রেশহোল্ডের চেয়ে বেশি; খালি অবস্থানের শর্তটি হল সংক্ষিপ্ত ইএমএ দীর্ঘ ইএমএর চেয়ে কম এবং শেয়ারের মূল্য বৃদ্ধির হার সেট করা নেতিবাচক থ্রেশহোল্ডের চেয়ে কম।
এই কৌশলটি সামগ্রিকভাবে সহজ এবং নির্ভরযোগ্য, দামের প্রবণতা নির্ধারণের জন্য ডাবল ইএমএ ক্রস ব্যবহার করে এবং বৃদ্ধির হ্রাসকে ট্রেডিং সিগন্যাল হিসাবে সেট করে। একটি একক গড় লাইন ক্রসের তুলনায়, কিছু মিথ্যা সংকেতগুলি ফিল্টার করা যায়। তবে ইএমএ গড় লাইনটি নিজেই পিছিয়ে যাওয়ার সমস্যা রয়েছে, অন্যান্য সূচক বা গতিশীল ডাইভার্টারগুলির সাথে মিলিত হয়ে কৌশলটির কার্যকারিতা আরও বাড়িয়ে তুলতে পারে।
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="ema(ema10-21)", overlay=true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 15000, commission_type = strategy.commission.percent, commission_value = 0.2)
useTimeLimit = input(defval = false, title = "Use Start Time Limiter?")
startYear = input(defval = 2016, title = "Start From Year", minval = 0, step = 1)
startMonth = input(defval = 05, title = "Start From Month", minval = 0,step = 1)
startDay = input(defval = 01, title = "Start From Day", minval = 0,step = 1)
startHour = input(defval = 00, title = "Start From Hour", minval = 0,step = 1)
startMinute = input(defval = 00, title = "Start From Minute", minval = 0,step = 1)
startTimeOk() => true
lenght0 = input(10)
lenght1 = input(21)
source = close
EmaShort = ema(ema(source, lenght0), lenght0)
EmaLong = ema(ema(source, lenght1),lenght1)
plot(EmaShort, color=red)
plot(EmaLong, color=purple)
growth = ((EmaShort-EmaLong)*100)/((EmaShort+EmaLong)/2)
thresholdUp = input(defval=0.05, title="Threshold Up", type=float, step=0.01)
thresholdDown = input(defval=-0.165, title="Threshold Down", type=float, step=0.001)
if( startTimeOk() )
buy_condition = EmaShort > EmaLong and growth > thresholdUp
buy_exit_condition = EmaShort < EmaLong and growth < thresholdDown
strategy.entry("buy", strategy.long, comment="buy", when=buy_condition)
strategy.close(id='buy', when=buy_exit_condition)