কৌশল অনুসরণ করে ডাবল চলমান গড় প্রবণতা

লেখক:চাওঝাং, তারিখঃ ২০২৩-০৯-১৮ ২১ঃ৫৭ঃ০০
ট্যাগঃ

সারসংক্ষেপ

এই কৌশলটি দ্রুত এবং ধীর গতির গড় ব্যবহার করে প্রবণতা দিক চিহ্নিত করতে এবং যখন দ্রুত এমএ ধীর এমএ অতিক্রম করে তখন সংকেত তৈরি করে, একটি দ্বৈত এমএ সিস্টেম তৈরি করে।

নীতিমালা

কৌশলটি একটি সংক্ষিপ্ত দ্রুত এমএ এবং একটি দীর্ঘ ধীর এমএ ব্যবহার করে।

ধীরে ধীরে এমএ মূল প্রবণতা দিক নির্ধারণ করে। এমএ এর উপরে দাম আপট্রেন্ড, এর নীচে দাম ডাউনট্রেন্ড।

আপট্রেন্ডে, দ্রুত এমএ ধীর এমএ এর উপরে অতিক্রম করলে দীর্ঘ সংকেত তৈরি হয়। ডাউনট্রেন্ডে, দ্রুত এমএ ধীর এমএ এর নীচে অতিক্রম করলে সংক্ষিপ্ত সংকেত তৈরি হয়।

সিগন্যালের পর, ট্রেলিং স্টপ অপশনে সক্ষম করা যেতে পারে।

সুবিধা

  1. দ্রুত এবং ধীর গতির এমএ কম্বো ট্রেন্ডকে কার্যকরভাবে চিহ্নিত করে।

  2. ফাস্ট এমএ সংবেদনশীল ট্রেডিং সিগন্যাল তৈরি করে।

  3. ধীরে ধীরে এমএ শব্দ ফিল্টার করে ভুয়া ব্রেকআউট প্রতিরোধ করে।

  4. ইএমএ, ডিইএমএ এর মতো বিভিন্ন এমএ প্রকার ব্যবহার করা যেতে পারে।

  5. ট্রেলিং স্টপ লস সক্ষম করা যাবে।

ঝুঁকি এবং হ্রাস

  1. এমএ লেগ সিগন্যাল বিলম্বিত করতে পারে। আরো সংবেদনশীল পরামিতি পরীক্ষা করা যেতে পারে।

  2. স্টপ লস খুব টাইট হতে পারে যা অকাল প্রস্থান হতে পারে।

  3. ভলিউম উপেক্ষা করা হয়, দামের ম্যানিপুলেশন ঝুঁকি বিদ্যমান। ভলিউম নিশ্চিতকরণ যোগ করতে পারেন।

  4. শুধুমাত্র নির্দেশক ভুল সংকেত প্রবণ. অতিরিক্ত নিশ্চিতকরণ প্রয়োজন.

  5. প্যারামিটার অপ্টিমাইজেশান কঠিন। ধাপে ধাপে অপ্টিমাইজেশান বা জিএ সর্বোত্তম প্যারামিটার খুঁজে পেতে পারেন।

উন্নতির সুযোগ

  1. সর্বোত্তম ফলাফলের জন্য বিভিন্ন এমএ প্রকার এবং পরামিতি পরীক্ষা করুন।

  2. আরও ভাল সংবেদনশীলতার জন্য অভিযোজিত চলমান গড়ের গবেষণা করুন।

  3. সিগন্যাল ফিল্টারিংয়ের জন্য অন্যান্য সূচক বা ফ্যাক্টর যোগ করুন।

  4. নমনীয় স্টপগুলির জন্য গতিশীল স্টপ তৈরি করুন।

  5. এটিআর এর সাথে ডায়নামিক পজিশন সাইজিং এর মত অর্থ ব্যবস্থাপনা অপ্টিমাইজ করুন।

সংক্ষিপ্তসার

কৌশলটি প্রবণতা সনাক্ত করতে দ্বৈত এমএ ক্রসওভারগুলিকে ট্রেড করে, ঝুঁকি সীমাবদ্ধ করে। যুক্তিটি সহজ এবং পরিষ্কার তবে পরামিতি নির্বাচন এবং অন্যান্য সমস্যা রয়েছে। অপ্টিমাইজেশন, ফিল্টারিং, স্টপগুলির মাধ্যমে উন্নতিগুলি স্থিতিশীলতা উন্নত করতে পারে। এটি একটি যুক্তিসঙ্গত বেসলাইন প্রবণতা অনুসরণকারী সিস্টেম হিসাবে কাজ করে।


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Trend MAs Strategy v1.7", shorttitle = "Trend MAs str 1.7", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, "long")
needshort = input(true, "short")
needstops = input(false, "stops")
stoppercent = input(5, defval = 5, minval = 1, maxval = 50, title = "Stop, %")
type = input(7, defval = 7, minval = 1, maxval = 7, title = "Type of Slow MA")
src = input(close, defval = close, title = "Source of Slow MA")
usefastsma = input(true, "Use fast MA Filter")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "slow MA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")
needbg = input(false, defval = false, title = "Need trend Background?")
needarr = input(false, defval = false, title = "Need entry arrows?")

fastsma = ema(src, fastlen)

//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

//Trend
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
trend = low > ma and low[1] > ma[1] and low[2] > ma[2] ? 1 : high < ma and high[1] < ma[1] ? -1 : trend[1]

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0

//Signals
min = min(open, close)
max = max(open, close)
up = trend == 1 and (low < fastsma or usefastsma == false) and redbars == 1 ? 1 : 0
dn = trend == -1 and (high > fastsma or usefastsma == false) and greenbars == 1 ? 1 : 0

//Lines
colorfastsma = usefastsma == true ? red : na
plot(fastsma, color = colorfastsma, title = "Fast MA")
plot(ma, color = blue, linewidth = 3, transp = 0, title = "Slow MA")

//Arrows
plotarrow(up == 1 and needarr == true ? 1 : 0, colorup = black, colordown = black, transp = 0)
plotarrow(dn == 1 and needarr == true ? -1 : 0, colorup = black, colordown = black, transp = 0)

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)

//Alerts
alertcondition(up == 1, title='buy', message='Uptrend')
alertcondition(dn == 1, title='sell', message='Downtrend')

//Trading
stoplong = up == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1]
stopshort = dn == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1]

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    strategy.exit("Stop Long", "Long", stop = stoplong)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    strategy.exit("Stop Short", "Short", stop = stopshort)

আরো