এই কৌশলটি বিভিন্ন সময়ের দুটি চলমান গড়ের ক্রসওভারের ভিত্তিতে ট্রেডিং সংকেত তৈরি করে।
কৌশলটি ব্যবহারকারীদের চলমান গড়ের ধরণ এবং দৈর্ঘ্য বেছে নিতে দেয়। ধরণগুলির মধ্যে এসএমএ, ইএমএ, ভিডাব্লুএমএ ইত্যাদি অন্তর্ভুক্ত রয়েছে। দৈর্ঘ্য চলমান গড়ের সময়কাল নির্ধারণ করে।
ব্যবহারকারীর নির্বাচনের উপর ভিত্তি করে দুটি চলমান গড় গণনা করা হয়। যদি দ্রুততম লাইনটি ধীরতম লাইনের উপরে অতিক্রম করে তবে একটি সোনার ক্রস গঠিত হয় এবং একটি ক্রয় সংকেত উত্পন্ন হয়। যদি দ্রুততম লাইনটি ধীরতম লাইনের নীচে অতিক্রম করে তবে একটি মৃত্যু ক্রস গঠিত হয় এবং একটি বিক্রয় সংকেত উত্পন্ন হয়।
যখন স্বল্পমেয়াদী গড় মূল্য দীর্ঘমেয়াদী গড় মূল্যের উপরে থাকে, তখন এটি একটি আপট্রেন্ড হিসাবে বিবেচিত হয় এবং দীর্ঘ পজিশন নেওয়া উচিত। যখন স্বল্পমেয়াদী মূল্য দীর্ঘমেয়াদী মূল্যের নীচে থাকে, তখন এটি একটি ডাউনট্রেন্ড হিসাবে বিবেচিত হয় এবং শর্ট পজিশন নেওয়া উচিত।
পরামিতিগুলি অপ্টিমাইজ করে, সংকেত উত্পাদনের জন্য অন্যান্য সূচকগুলি একত্রিত করে, স্টপ লস / লাভ গ্রহণ ইত্যাদি বাস্তবায়নের মাধ্যমে ঝুঁকিগুলি পরিচালনা করা যেতে পারে।
কৌশলটি দ্বৈত এমএ ক্রসওভারের সাথে সংকেত উত্পাদন করার একটি সহজ এবং স্পষ্ট যুক্তি রয়েছে। এটি অনুকূল পরামিতি টিউনিং এবং অপ্টিমাইজেশনের জন্য অন্যান্য কৌশলগুলির সাথে সংমিশ্রণের অনুমতি দেয়, তবে ব্যাপ্তি বাজারের ঝুঁকিগুলি পর্যবেক্ষণ করা উচিত এবং অর্থ পরিচালনা অত্যন্ত গুরুত্বপূর্ণ। সামগ্রিকভাবে এটি একটি কৌশল বিবেচনা করার মতো।
/*backtest start: 2023-09-09 00:00:00 end: 2023-09-13 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's MAs Tests", shorttitle = "MAs tests", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length") type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type") src = input(close, defval = close, title = "Source") //DEMA dema = 2 * ema(src, len) - ema(ema(close, len), len) //TEMA xPrice = close xEMA1 = ema(src, len) xEMA2 = ema(xEMA1, len) xEMA3 = ema(xEMA2, len) tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3 //KAMA xvnoise = abs(src - src[1]) nfastend = 0.20 nslowend = 0.05 nsignal = abs(src - src[len]) nnoise = sum(xvnoise, len) nefratio = iff(nnoise != 0, nsignal / nnoise, 0) nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) kama = nz(kama[1]) + nsmooth * (src - nz(kama[1])) //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0 plot(ma, color = blue, linewidth = 3, transp = 0) trend = low > ma ? 1 : high < ma ? -1 : trend[1] longCondition = trend == 1 and trend[1] == -1 if (longCondition) strategy.entry("Long", strategy.long) shortCondition = trend == -1 and trend[1] == 1 if (shortCondition) strategy.entry("Short", strategy.short)